Skip to main content
GET
/
x
/
tweets
/
search
Search tweets
curl --request GET \
  --url https://xquik.com/api/v1/x/tweets/search \
  --header 'x-api-key: <api-key>'

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.

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
curl -G https://xquik.com/api/v1/x/tweets/search \
  --data-urlencode "q=giveaway" \
  --data-urlencode "fromUser=xquikcom" \
  --data-urlencode "mediaType=media" \
  --data-urlencode "verifiedOnly=true" \
  --data-urlencode "queryType=Latest" \
  -H "x-api-key: xq_YOUR_KEY_HERE" | jq

# Page 2 - pass next_cursor from the previous response
curl -G https://xquik.com/api/v1/x/tweets/search \
  --data-urlencode "q=giveaway" \
  --data-urlencode "fromUser=xquikcom" \
  --data-urlencode "mediaType=media" \
  --data-urlencode "cursor=abc123" \
  -H "x-api-key: xq_YOUR_KEY_HERE" | jq

Direct API handoff

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.

Query parameters

q
string
required
Search query. Supports X search operators such as from:username, to:username, #hashtag, and boolean operators.
queryType
string
Sort order for search results. Top returns most relevant tweets, Latest returns most recent. Defaults to Latest.
cursor
string
Pagination cursor. Pass the next_cursor value from the previous response to fetch the next page.
sinceTime
string
Filter tweets published after this date. Uses X search since: operator format (e.g. 2026-03-01).
untilTime
string
Filter tweets published before this date. Uses X search until: operator format (e.g. 2026-03-27).
limit
integer
Maximum number of tweets to collect in one bounded request (1-200). Omit it for cursor-based pagination.

Structured filters

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.
fromUser
string
Filter to tweets authored by this username. The @ prefix is optional.
toUser
string
Filter to replies directed to this username.
mentioning
string
Filter to tweets that mention this username.
language
string
Filter by tweet language code, such as en, tr, or es.
sinceDate
string
Filter to tweets created on or after this date or timestamp.
untilDate
string
Filter to tweets created before this date or timestamp. A YYYY-MM-DD value includes the whole day before the boundary.
mediaType
string
Filter by attached media or links. Values: images, videos, gifs, media, links, none.
minFaves
integer
Minimum like count.
minRetweets
integer
Minimum retweet count.
minReplies
integer
Minimum reply count.
minQuotes
integer
Minimum quote count.
verifiedOnly
boolean
When true, only return tweets from verified authors.
replies
string
Reply mode. Values: include, exclude, only.
retweets
string
Retweet mode. Values: include, exclude, only.
quotes
string
Quote mode. Values: include, exclude, only.
exactPhrase
string
Exact text that must appear in the tweet.
excludeWords
string
Words or quoted phrases to exclude from returned tweets. Separate with spaces, commas, or lines.
anyWords
string
Words or quoted phrases where at least 1 term must appear in the tweet. Separate with spaces, commas, or lines.
hashtags
string
Hashtags to match. Separate with spaces, commas, or lines. The # prefix is optional.
cashtags
string
Cashtags to match. Separate with spaces, commas, or lines. The $ prefix is optional.
url
string
URL substring or domain that must appear in tweet URL entities.
conversationId
string
Filter to tweets in this conversation thread.
inReplyToTweetId
string
Filter to replies to this tweet ID.
quotesOfTweetId
string
Filter to quote tweets of this tweet ID.
retweetsOfTweetId
string
Filter to retweets of this tweet ID.

Search-only operators

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.
listId
string
Search within this X List ID.
place
string
Search within this X place ID.
placeCountry
string
Search within this country code.
pointRadius
string
Geo point radius in X search syntax, such as -73.99 40.73 25mi.
boundingBox
string
Geo bounding box in X search syntax, such as -74.1 40.6 -73.9 40.8.
advancedQuery
string
Raw X search operators appended to the final search query.

Headers

x-api-key
string
required
Your API key. Session cookie authentication is also supported.

Response

tweets
object[]
Array of matching tweets.
has_next_page
boolean
Whether more results are available. Pass next_cursor to fetch the next page.
next_cursor
string
Opaque cursor for the next page. Empty string when no more results.
{
  "tweets": [
    {
      "id": "1893456789012345678",
      "text": "Tweet content here",
      "createdAt": "2026-02-24T10:00:00.000Z",
      "likeCount": 150,
      "retweetCount": 42,
      "replyCount": 10,
      "quoteCount": 5,
      "viewCount": 12400,
      "bookmarkCount": 8,
      "url": "https://x.com/xquikcom/status/1893456789012345678",
      "lang": "en",
      "author": {
        "id": "987654321",
        "username": "xquikcom",
        "name": "Xquik",
        "followers": 10000,
        "verified": true,
        "profilePicture": "https://pbs.twimg.com/profile_images/xquik/photo.jpg"
      },
      "media": [
        {
          "mediaUrl": "https://pbs.twimg.com/media/example.jpg",
          "type": "photo",
          "url": "https://t.co/abc123"
        }
      ]
    }
  ],
  "has_next_page": true,
  "next_cursor": "DAADDAABCgABF..."
}
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.
Last modified on May 19, 2026