Skip to main content

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.

Use this workflow when a research, sales, support, or monitoring system needs tweets as rows. Xquik can search tweets by keyword, hashtag, author, language, date range, media type, or engagement filters with tweet_search_extractor, estimate the cost first, run the extraction job, then export CSV, JSON, or XLSX.

When to use this workflow

NeedUse
Export tweet search results for spreadsheetstweet_search_extractor plus CSV or XLSX export
Feed matching tweets into an apptweet_search_extractor plus paginated JSON results
Read the latest search page onlyGET /x/tweets/search
Control cost before scrapingresultsLimit on estimate and create requests

Data you get

Tweet search exports include base user fields, tweet fields, engagement counts, and metadata when available.
Data groupFields
Tweet authorUser ID, username, display name, follower count, verified state, profile image
TweetTweet ID, tweet text, tweet created time, permalink
EngagementLikes, reposts, replies, quotes, views, bookmarks
MetadataLanguage, source app, conversation ID, attached media

Step 1: Estimate tweets and credits

Call POST /extractions/estimate before scraping tweets. tweet_search_extractor requires searchQuery. Add resultsLimit when you want a sample or a hard cost cap.
curl -X POST https://xquik.com/api/v1/extractions/estimate \
  -H "x-api-key: xq_YOUR_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{
    "toolType": "tweet_search_extractor",
    "searchQuery": "launch announcement",
    "language": "en",
    "sinceDate": "2026-05-01",
    "mediaType": "media",
    "resultsLimit": 500
  }' | jq
The estimate returns allowed, estimatedResults, creditsRequired, creditsAvailable, and source. For tweet search scraping, source is resultsLimit when a cap is set and unknown when no cap is set.

Step 2: Run the tweet search extraction

Create the job with the same toolType, searchQuery, filters, and optional resultsLimit.
curl -X POST https://xquik.com/api/v1/extractions \
  -H "x-api-key: xq_YOUR_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{
    "toolType": "tweet_search_extractor",
    "searchQuery": "launch announcement",
    "language": "en",
    "sinceDate": "2026-05-01",
    "mediaType": "media",
    "resultsLimit": 500
  }' | jq
{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "toolType": "tweet_search_extractor",
  "status": "running"
}

Step 3: Poll job status

Poll GET /extractions/{id} until the job is completed or failed.
curl https://xquik.com/api/v1/extractions/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
  -H "x-api-key: xq_YOUR_KEY_HERE" | jq
Use the paginated response when your app wants JSON rows instead of a file download.

Step 4: Export CSV, JSON, or XLSX

Exports are free after the extraction job exists. Use CSV for spreadsheets, JSON for app ingestion, and XLSX for analyst handoff.
curl -X GET "https://xquik.com/api/v1/extractions/a1b2c3d4-e5f6-7890-abcd-ef1234567890/export?format=csv" \
  -H "x-api-key: xq_YOUR_KEY_HERE" \
  -o tweet-search.csv
curl -X GET "https://xquik.com/api/v1/extractions/a1b2c3d4-e5f6-7890-abcd-ef1234567890/export?format=xlsx" \
  -H "x-api-key: xq_YOUR_KEY_HERE" \
  -o tweet-search.xlsx

Direct tweet search API

Use GET /x/tweets/search when you need a paginated API response instead of a stored extraction job.
curl -G https://xquik.com/api/v1/x/tweets/search \
  --data-urlencode "q=launch announcement" \
  --data-urlencode "limit=50" \
  -H "x-api-key: xq_YOUR_KEY_HERE" | jq
The direct search API returns tweets, has_next_page, and next_cursor. Pass next_cursor back as cursor to fetch the next page. It costs 1 credit per tweet returned.

Handoff checklist

HandoffUse
SpreadsheetExport format=csv or format=xlsx
App ingestionExport format=json or paginate GET /extractions/{id}
Cost controlSet resultsLimit on both estimate and create calls
Live monitoringCreate an account or keyword monitor with signed webhooks
Last modified on May 8, 2026