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.
1 credit per result extracted · All plans from $0.00012/credit
curl -X POST https://xquik.com/api/v1/extractions \
-H "x-api-key: xq_YOUR_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"toolType": "reply_extractor",
"targetTweetId": "1893704267862470862",
"resultsLimit": 500
}' | jq
Your API key. Session cookie authentication is also supported.
Must be application/json.
Body
Tweet ID to extract from. Required for reply_extractor, repost_extractor, quote_extractor, thread_extractor, article_extractor.
X username to extract from. The @ prefix is automatically stripped if included. Required for follower_explorer, following_explorer, verified_follower_explorer, mention_extractor, post_extractor, user_likes, and user_media.
Community ID to extract from. Required for community_extractor, community_moderator_explorer, community_post_extractor.
Search query string. Required for people_search, community_search, tweet_search_extractor.
X List ID to extract from. Required for list_member_extractor, list_post_extractor, list_follower_explorer.
X Space ID to extract from. Required for space_explorer.
Maximum number of results to extract. When set, extraction stops after reaching this limit instead of fetching all available data. Useful for controlling costs and extracting a specific sample size. Omit to extract all available results.
The following parameters apply only to tweet_search_extractor. They are converted to X search operators internally and combined with searchQuery.
Filter tweets by author username. Do not include the @ prefix.
Filter tweets directed to a specific user.
Filter tweets mentioning a specific user.
Language code filter (e.g. en, tr, es, ja).
Start date in YYYY-MM-DD format. Only tweets on or after this date are returned.
End date in YYYY-MM-DD format. Only tweets before this date are returned.
Filter by attached media type. Values: images, videos, gifs, media (any media).
Minimum number of likes a tweet must have.
Minimum number of retweets a tweet must have.
Minimum number of replies a tweet must have.
When true, only return tweets from verified accounts.
Control reply inclusion. Values: include (default), exclude, only.
Control retweet inclusion. Values: include (default), exclude, only.
Exact phrase match. The value is wrapped in quotes and added to the search query (e.g. "breaking news").
Comma-separated words to exclude from results. Each word is prefixed with - in the search query.
Raw X search operator syntax appended to the query. Use this for operators not covered by the other filter fields (e.g. filter:links, url:example.com).
These filters are ignored for all other tool types. They are converted to X search operators and combined with searchQuery before execution.
Each extraction job needs one target field based on toolType. resultsLimit
works with every type when you want to cap returned rows.
Tweet target Use targetTweetId for tweet-centered jobs:
article_extractor extracts article content from a tweet.
favoriters extracts users who liked a tweet.
quote_extractor extracts users who quote-tweeted a tweet.
reply_extractor extracts users who replied to a tweet.
repost_extractor extracts users who retweeted a tweet.
thread_extractor extracts all tweets in a thread.
Username target Use targetUsername for account-centered jobs:
follower_explorer extracts followers of an account.
following_explorer extracts accounts followed by a user.
mention_extractor extracts tweets mentioning an account.
post_extractor extracts posts from an account.
user_likes extracts tweets liked by a user.
user_media extracts media posts from a user.
verified_follower_explorer extracts verified followers of an account.
Community target Use targetCommunityId for community jobs:
community_extractor extracts members of a community.
community_moderator_explorer extracts moderators of a community.
community_post_extractor extracts posts from a community.
Search query Use searchQuery for keyword jobs:
community_search searches posts within a community.
people_search searches for users by keyword.
tweet_search_extractor searches and extracts tweets by keyword or hashtag.
List target Use targetListId for X List jobs:
list_follower_explorer extracts followers of a list.
list_member_extractor extracts members of a list.
list_post_extractor extracts posts from a list.
Space target Use targetSpaceId for Space jobs:
space_explorer extracts participants of a Space.
Response
Unique extraction job ID (UUID).
Tool type used for this extraction.
Job status. running when first created.
{
"id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ,
"toolType" : "reply_extractor" ,
"status" : "running"
}
Extraction runs asynchronously. Poll Get Extraction until status is completed or failed. { "error" : "invalid_input" , "message" : "Missing or malformed request body" }
Request body is missing or malformed. Ensure all required fields are present. { "error" : "invalid_tool_type" , "message" : "Unrecognized tool type" }
The toolType value is not one of the 23 supported tools. See tool types . { "error" : "unauthenticated" , "message" : "Missing or invalid API key" }
Missing or invalid API key. { "error" : "no_subscription" , "message" : "No active subscription" }
No active subscription or insufficient credits. Possible error values: no_subscription, subscription_inactive, no_credits, insufficient_credits. { "error" : "tweet_not_found" , "message" : "Tweet not found" }
The target tweet does not exist, was deleted, or the ID is invalid. { "error" : "user_not_found" , "message" : "X user not found" }
The target user does not exist or is suspended. { "error" : "x_api_unavailable" , "message" : "X data source temporarily unavailable" }
Send xquik-api-contract: 2026-04-29 to receive this status for dependency failures that return 502 by default. { "error" : "rate_limit_exceeded" , "message" : "Too many requests. Try again later." , "retryAfter" : 60 }
Wait for the Retry-After value before retrying the extraction request. { "error" : "x_api_unavailable" , "message" : "X data source temporarily unavailable" }
The read service is temporarily unavailable. Retry with exponential backoff.
Run receipt handoff
Treat the 202 Accepted body as a run receipt, not as extracted data. Store the
job ID immediately, then poll or list jobs until the job reaches completed or
failed.
{
"extraction_id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ,
"tool_type" : "reply_extractor" ,
"status" : "running" ,
"receipt_format" : "extraction_job" ,
"poll_path" : "/api/v1/extractions/a1b2c3d4-e5f6-7890-abcd-ef1234567890" ,
"inventory_path" : "/api/v1/extractions?status=completed&toolType=reply_extractor" ,
"export_path_after_complete" : "/api/v1/extractions/a1b2c3d4-e5f6-7890-abcd-ef1234567890/export?format=csv"
}
Receipt fields Store id, toolType, and status. Do not wait for results,
totalResults, createdAt, hasMore, or nextCursor in this response.
Poll results Use Get Extraction with the returned id
to read job.status, paginated results, hasMore, and nextCursor.
Find later Use List Extractions with status and
toolType filters when a worker needs to resume from job inventory.
Export after completion Use Export Extraction after the detail
response reports job.status as completed.