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.
Requires credits - 21 credits per active monitor hour
Keyword monitors are unlimited. Active monitors check every 1 second. Webhook and event deliveries are included in active monitor billing.
curl -X POST https://xquik.com/api/v1/monitors/keywords \
-H "x-api-key: xq_YOUR_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"query": "xquik OR \"x api\"",
"eventTypes": ["tweet.new"]
}' | jq
Your API key. Session cookie authentication is also supported. Generate a key from the dashboard.
Must be application/json.
Body
X search query to monitor. Whitespace is normalized. Maximum length is 160 characters.
Array of event types to subscribe to. At least 1 required.
Valid event types
| Event Type | Description |
|---|
tweet.new | New matching tweet |
tweet.quote | Matching quote tweet |
tweet.reply | Matching reply |
tweet.retweet | Matching retweet |
Response
201 Created
400 Invalid Input
401 Unauthenticated
402 Payment Required
409 Duplicate
429 Rate Limited
Unique keyword monitor ID.
Normalized query being monitored.
Event types this monitor is subscribed to.
Whether the monitor is currently active.
ISO 8601 creation timestamp.
Next hourly credit charge time.
{
"id": "21",
"query": "xquik OR \"x api\"",
"eventTypes": ["tweet.new"],
"isActive": true,
"createdAt": "2026-02-24T10:30:00.000Z",
"nextBillingAt": "2026-02-24T11:30:00.000Z"
}
{ "error": "invalid_input", "message": "Invalid query or event types" }
Missing query, query longer than 160 characters, or invalid eventTypes.{ "error": "unauthenticated", "message": "Missing or invalid API key" }
Missing or invalid API key.{ "error": "insufficient_credits", "message": "Insufficient credits" }
Enough credits for the first active keyword monitor hour are required. Possible errors include no_credits and insufficient_credits.{ "error": "monitor_already_exists", "message": "Already monitoring this account." }
An active keyword monitor already exists for this query. Use Update Keyword Monitor to change event types or pause it.{ "error": "rate_limit_exceeded", "message": "Too many requests. Try again later.", "retryAfter": 60 }
Too many requests. Wait for the Retry-After header before retrying.
If a keyword monitor for the same query exists but is paused, creating it again reactivates that monitor with the new event types.