Documentation Index

Fetch the complete documentation index at: /llms.txt

Use this file to discover all available pages before exploring further.

Skip to main content
POST
/
extractions
Create extraction
curl --request POST \
  --url https://xquik.com/api/v1/extractions \
  --header 'Content-Type: <content-type>' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "toolType": "<string>",
  "targetTweetId": "<string>",
  "targetUsername": "<string>",
  "targetCommunityId": "<string>",
  "searchQuery": "<string>",
  "targetListId": "<string>",
  "targetSpaceId": "<string>",
  "resultsLimit": 123,
  "queryType": "<string>",
  "includeReplies": true,
  "fromUser": "<string>",
  "toUser": "<string>",
  "mentioning": "<string>",
  "language": "<string>",
  "sinceDate": "<string>",
  "untilDate": "<string>",
  "mediaType": "<string>",
  "minFaves": 123,
  "minRetweets": 123,
  "minReplies": 123,
  "verifiedOnly": true,
  "replies": "<string>",
  "retweets": "<string>",
  "exactPhrase": "<string>",
  "excludeWords": "<string>",
  "advancedQuery": "<string>"
}
'
import requests

url = "https://xquik.com/api/v1/extractions"

payload = {
"toolType": "<string>",
"targetTweetId": "<string>",
"targetUsername": "<string>",
"targetCommunityId": "<string>",
"searchQuery": "<string>",
"targetListId": "<string>",
"targetSpaceId": "<string>",
"resultsLimit": 123,
"queryType": "<string>",
"includeReplies": True,
"fromUser": "<string>",
"toUser": "<string>",
"mentioning": "<string>",
"language": "<string>",
"sinceDate": "<string>",
"untilDate": "<string>",
"mediaType": "<string>",
"minFaves": 123,
"minRetweets": 123,
"minReplies": 123,
"verifiedOnly": True,
"replies": "<string>",
"retweets": "<string>",
"exactPhrase": "<string>",
"excludeWords": "<string>",
"advancedQuery": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "<content-type>"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': '<content-type>'},
body: JSON.stringify({
toolType: '<string>',
targetTweetId: '<string>',
targetUsername: '<string>',
targetCommunityId: '<string>',
searchQuery: '<string>',
targetListId: '<string>',
targetSpaceId: '<string>',
resultsLimit: 123,
queryType: '<string>',
includeReplies: true,
fromUser: '<string>',
toUser: '<string>',
mentioning: '<string>',
language: '<string>',
sinceDate: '<string>',
untilDate: '<string>',
mediaType: '<string>',
minFaves: 123,
minRetweets: 123,
minReplies: 123,
verifiedOnly: true,
replies: '<string>',
retweets: '<string>',
exactPhrase: '<string>',
excludeWords: '<string>',
advancedQuery: '<string>'
})
};

fetch('https://xquik.com/api/v1/extractions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://xquik.com/api/v1/extractions"

payload := strings.NewReader("{\n \"toolType\": \"<string>\",\n \"targetTweetId\": \"<string>\",\n \"targetUsername\": \"<string>\",\n \"targetCommunityId\": \"<string>\",\n \"searchQuery\": \"<string>\",\n \"targetListId\": \"<string>\",\n \"targetSpaceId\": \"<string>\",\n \"resultsLimit\": 123,\n \"queryType\": \"<string>\",\n \"includeReplies\": true,\n \"fromUser\": \"<string>\",\n \"toUser\": \"<string>\",\n \"mentioning\": \"<string>\",\n \"language\": \"<string>\",\n \"sinceDate\": \"<string>\",\n \"untilDate\": \"<string>\",\n \"mediaType\": \"<string>\",\n \"minFaves\": 123,\n \"minRetweets\": 123,\n \"minReplies\": 123,\n \"verifiedOnly\": true,\n \"replies\": \"<string>\",\n \"retweets\": \"<string>\",\n \"exactPhrase\": \"<string>\",\n \"excludeWords\": \"<string>\",\n \"advancedQuery\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "<content-type>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
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
const response = await fetch("https://xquik.com/api/v1/extractions", {
  method: "POST",
  headers: {
    "x-api-key": "xq_YOUR_KEY_HERE",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    toolType: "reply_extractor",
    targetTweetId: "1893704267862470862",
    resultsLimit: 500,
  }),
});
const data = await response.json();
import requests

response = requests.post(
    "https://xquik.com/api/v1/extractions",
    headers={"x-api-key": "xq_YOUR_KEY_HERE"},
    json={
        "toolType": "reply_extractor",
        "targetTweetId": "1893704267862470862",
        "resultsLimit": 500,
    },
)
data = response.json()
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    body, _ := json.Marshal(map[string]interface{}{
        "toolType":      "reply_extractor",
        "targetTweetId": "1893704267862470862",
        "resultsLimit":  500,
    })

    req, err := http.NewRequest("POST", "https://xquik.com/api/v1/extractions", bytes.NewReader(body))
    if err != nil {
        panic(err)
    }
    req.Header.Set("x-api-key", "xq_YOUR_KEY_HERE")
    req.Header.Set("Content-Type", "application/json")

    resp, err := http.DefaultClient.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var data map[string]interface{}
    if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
        panic(err)
    }
    fmt.Println(data)
}

Headers

string
required
Your API key. Session cookie authentication is also supported.
string
required
Must be application/json.

Body

string
required
Extraction tool to run. See tool types below.
string
Tweet ID to extract from. Required for reply_extractor, repost_extractor, quote_extractor, thread_extractor, article_extractor.
string
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.
string
Community ID to extract from. Required for community_extractor, community_moderator_explorer, community_post_extractor, and community_search.
string
Search query string. Required for people_search, community_search, tweet_search_extractor.
string
X List ID to extract from. Required for list_member_extractor, list_post_extractor, list_follower_explorer.
string
X Space ID to extract from. Required for space_explorer.
integer
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.
string
Search sort for tweet_search_extractor and community_search. Values: Latest, Top. Defaults to Latest for tweet search exports and Top for community search jobs.
boolean
Include reply tweets for post_extractor. Omit or set to false to extract profile posts without replies.

Tweet search filters

The following parameters apply only to tweet_search_extractor. They are converted to X search operators internally and combined with searchQuery.
string
Filter tweets by author username. Do not include the @ prefix.
string
Filter tweets directed to a specific user.
string
Filter tweets mentioning a specific user.
string
Language code filter (e.g. en, tr, es, ja).
string
Start date in YYYY-MM-DD format. Only tweets on or after this date are returned.
string
End date in YYYY-MM-DD format. Only tweets before this date are returned.
string
Filter by attached media type. Values: images, videos, gifs, media (any media).
integer
Minimum number of likes a tweet must have.
integer
Minimum number of retweets a tweet must have.
integer
Minimum number of replies a tweet must have.
boolean
When true, only return tweets from verified accounts.
string
Control reply inclusion. Values: include (default), exclude, only.
string
Control retweet inclusion. Values: include (default), exclude, only.
string
Exact phrase match. The value is wrapped in quotes and added to the search query (e.g. "breaking news").
string
Comma-separated words to exclude from results. Each word is prefixed with - in the search query.
string
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.

Tool types

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 visible users who liked a post. Liker identities can be unavailable even when the post reports likes.
  • 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.
  • community_search searches matching posts within that community and also requires searchQuery.

Search query

Use searchQuery for keyword jobs:
  • 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.
Store targetSpaceId beside the returned extraction id. Poll Get Extraction or use Export Extraction after completion to read participant user rows.

Response

  • 202 Accepted
  • 400 Invalid input
  • 400 Invalid tool type
  • 401 Unauthenticated
  • 402 Insufficient credits
  • 404 Not Found
  • 424 X API Dependency Failed
  • 429 Rate Limited
  • 502 X API unavailable
string
Unique extraction job ID (UUID).
string
Tool type used for this extraction.
string
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.

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.
Next steps: Get Extraction to retrieve results with pagination, Export Extraction to download as CSV/XLSX/Markdown, or Estimate Extraction to check costs before running.
Last modified on July 16, 2026
Morty Proxy This is a proxified and sanitized view of the page, visit original site.