Documentation Index Fetch the complete documentation index at: https://docs.xquik.com/llms.txt
Use this file to discover all available pages before exploring further.
Free - does not consume credits
Listing stored events is free. Event and webhook deliveries are included in active monitor billing.
curl "https://xquik.com/api/v1/events?limit=10&monitorId=7" \
-H "x-api-key: xq_YOUR_KEY_HERE" | jq
The Node.js, Python, and Go examples emit one stored event row per line. Store
event_id, monitor_type, monitor_id, event_type, occurred_at, tweet
fields from data, and next_cursor; pass nextCursor as after until
hasMore is false.
Query parameters
Results per page. Default 50, max 100.
Filter events by monitor ID. Omit to return events from all monitors.
Filter by event type. Valid types: tweet.new, tweet.quote,
tweet.reply, tweet.retweet, tweet.media, tweet.link, tweet.poll,
tweet.mention, tweet.hashtag, tweet.longform,
profile.avatar.changed, profile.banner.changed,
profile.name.changed, profile.username.changed, profile.bio.changed,
profile.location.changed, profile.url.changed,
profile.verified.changed, profile.protected.changed,
profile.pinned_tweet.changed, profile.unavailable.changed. Omit to
return all types.
Cursor for pagination. Pass the nextCursor value from a previous response to fetch the next page.
Response
200 OK
401 Unauthenticated
429 Rate Limited
List of event objects matching the query. Event type from the monitor event type list.
Account monitor ID for account events, or keyword monitor ID for keyword events.
Source type: account or keyword.
Keyword monitor ID. Present only for keyword monitor events.
X username that triggered the event. Present only for account monitor events.
Keyword query that matched the event. Present only for keyword monitor events.
ISO 8601 timestamp of when the event occurred on X.
Raw tweet object from the X real-time stream. Fields vary by event type. The data field contains the raw tweet object. See Webhooks Overview for the full data schema of each event type. true if additional pages exist beyond this result set.
Pagination cursor. Pass as the after query parameter to fetch the next page. Present only when hasMore is true.
{
"events" : [
{
"id" : "9001" ,
"type" : "tweet.new" ,
"monitorId" : "7" ,
"monitorType" : "account" ,
"username" : "elonmusk" ,
"occurredAt" : "2026-02-24T14:22:00.000Z" ,
"data" : {
"id" : "1893456789012345678" ,
"text" : "The future is now." ,
"author" : {
"id" : "44196397" ,
"userName" : "elonmusk" ,
"name" : "Elon Musk"
},
"isRetweet" : false ,
"isReply" : false ,
"isQuote" : false ,
"createdAt" : "2026-02-24T14:22:00.000Z"
}
},
{
"id" : "9002" ,
"type" : "tweet.reply" ,
"monitorId" : "7" ,
"monitorType" : "account" ,
"username" : "elonmusk" ,
"occurredAt" : "2026-02-24T15:05:30.000Z" ,
"data" : {
"id" : "1893456789012345999" ,
"text" : "Absolutely. Shipping next week." ,
"author" : {
"id" : "44196397" ,
"userName" : "elonmusk" ,
"name" : "Elon Musk"
},
"isRetweet" : false ,
"isReply" : true ,
"isQuote" : false ,
"inReplyToId" : "1893456789012345900" ,
"createdAt" : "2026-02-24T15:05:30.000Z"
}
}
],
"hasMore" : true ,
"nextCursor" : "MjAyNi0wMi0yNFQxNTowNTozMC4wMDBafDkwMDI="
}
{ "error" : "unauthenticated" }
Missing or invalid API key. Check the x-api-key header value. { "error" : "rate_limit_exceeded" , "message" : "Too many requests. Try again later." , "retryAfter" : 1 }
Too many requests. Wait for the Retry-After header before retrying.
Events use cursor-based pagination . Each response includes hasMore and (when true) a nextCursor value. Pass nextCursor as the after query parameter to retrieve the next page.
curl "https://xquik.com/api/v1/events?limit=10&monitorId=7" \
-H "x-api-key: xq_YOUR_KEY_HERE" | jq
Continue fetching pages until hasMore is false. Cursors are opaque strings. Do not parse or construct them manually.