Use this file to discover all available pages before exploring further.
Requested result counts are upper bounds for paid authenticated calls. When remaining credits cannot cover the full page or ID list, Xquik returns fewer results. If zero paid results are affordable, it returns 402 insufficient_credits.
1 credit per tweet returned · All plans from $0.00012/credit
Use GET /x/tweets/search when an app, queue worker, CRM enrichment job, or
agent needs the latest matching tweets without creating a stored extraction job.
It returns paginated JSON for live search pages and app ingestion. The examples
above write JSON Lines rows with tweet fields, author ID, username, display
name, follower count, verified state, profile image URL, media, and cursor
fields so a worker can resume from the last saved next_cursor.For CSV or XLSX output, project the returned tweets[] rows locally or use
tweet_search_extractor for saved CSV, JSON, or
XLSX files.
Tweet rows
Store tweets[] as the matching tweet rows for app ingestion, analyst export, or retrieval.
Tweet keys
Store tweets[].id as the stable tweet key for dedupe, CRM notes, queues, and follow-up lookups.
Search context
Store tweets[].text and tweets[].createdAt for search hit context and time ordering.
Author joins
Store tweets[].author.id, tweets[].author.username, tweets[].author.name,
tweets[].author.followers, tweets[].author.verified, and
tweets[].author.profilePicture for author joins and enrichment.
Scoring fields
Store engagement counts for scoring, routing, and prioritization.
Relationship context
Store tweets[].media, quoted_tweet, and retweeted_tweet to preserve attached media and relationship context when available.
Next page
Store has_next_page and next_cursor as the cursor handoff for the next request.
File exports
Use tweet_search_extractor when the output must be saved CSV, JSON, or XLSX.
limit is an upper bound from 1 to 200 for a bounded one-request pull. Omit it when you want cursor pagination, then pass the previous response’s next_cursor as cursor. Do not combine limit with cursor for page-by-page loops.Tweet search costs 1 credit per tweet returned. Low credit balances can return fewer tweets than limit; zero affordable results return 402 insufficient_credits. Retry 429 with the Retry-After header, and retry 424 or 502 after a short backoff.
Structured filters are part of the public Search Tweets API. Xquik converts
them into X search operators before fetching results, then filters returned rows
again when the response fields are available. Keep the same filters on every
cursor request.
These query parameters apply only to GET /x/tweets/search because they map to
search operators before the request runs. Use advancedQuery only when you
already have trusted raw X search operator syntax to append.
Missing or invalid API key. Check the x-api-key header value.
{ "error": "no_subscription" }
No active subscription or insufficient credits. Possible error values: no_subscription, subscription_inactive, no_credits, insufficient_credits.
For MPP requests without a valid payment credential, 402 returns a WWW-Authenticate: Payment challenge header instead.
{ "error": "x_api_unavailable" }
The read service returned an error. Retry after a short delay.
Your tier rate limit was exceeded. Wait for the Retry-After header before retrying.
{ "error": "x_api_unavailable" }
The normalized v1 response contract can return 424 when the read service is unavailable.
Next steps:Tweet Search Export Workflow when you need saved CSV, JSON, or XLSX files, Get Tweet to fetch full details for a specific tweet, or Get User to look up an author profile.