Skip to main content
POST
Twitter giveaway picker API & random winner draw
Use this Twitter giveaway picker API to select primary and backup winners. Filter replies by reposts, follows, keywords, hashtags, mentions, or language. Add account-age, follower-count, or unique-author rules.
Metered draw execution · source lookup, replies, optional retweeters, and optional follow checks consume credits
Xquik reads every direct reply and retweeter X shows, up to what your remaining credits cover. totalEntries and validEntries count the inspected direct replies. X hides some replies, so the post can report more. A draw on a busy post takes about 1 minute, so keep the request open for 100 seconds. Xquik runs & charges follow checks only for authors who pass your other filters.

Headers

string
required
Your API key. Session cookie authentication is also supported.
string
required
Must be application/json.
string
Use 1-255 visible ASCII characters. Generate one unique value for each draw. Reuse it only for an exact retry. A retry returns the original draw and charges nothing. A retry while the first request runs returns 409 idempotency_in_progress. A draw that fails frees its key for a retry. If the first request stops, the key frees after 10 minutes.

Body

string
required
Full tweet URL to run the draw on. Accepts x.com and twitter.com formats (for example https://x.com/user/status/1893456789012345678).
number
Number of winners to draw. Defaults to 1 if omitted.
number
Number of backup winners to draw. Xquik selects backup winners in case you disqualify primary winners.
boolean
When true, each author can win once, however many replies they posted.
boolean
When true, only entries from users who retweeted the original tweet are eligible.
string
X username that entrants must follow to be eligible. Xquik strips the @ prefix if included.
number
Minimum follower count required for eligible entries.
number
Minimum account age in days. The draw excludes accounts younger than this.
string
Filter entries by tweet language code (for example en, tr, es).
string[]
Array of keywords that must appear in the reply text. The draw excludes entries missing any keyword.
string[]
Array of hashtags that must appear in the reply text. Include the # prefix.
string[]
Array of usernames that the reply text must mention. Include the @ prefix.

Response

201 Created

An exact retry returns the original draw with Idempotency-Replayed: true.
string
Draw public ID returned by Xquik.
string
X tweet ID extracted from the URL.
number
Entries inspected after the credit cap, which can be fewer than the post’s replies.
number
Inspected entries that passed every filter. A credit cap can leave valid replies uninspected.
array
Selected winners and backup winners. Winner object fields.
number
Winner position (1-indexed).
string
X username of the winner.
string
Tweet ID of the winning reply.
boolean
true if this is a backup winner.

400 Invalid input

Missing or malformed request body. Send tweetUrl as a string.

400 Invalid tweet URL

Xquik could not parse the tweetUrl. Must be a valid x.com or twitter.com status URL.

400 Invalid idempotency key

The Idempotency-Key header is empty, longer than 255 characters, or not visible ASCII.

401 Unauthenticated

Missing or invalid API key / session cookie.

402 Insufficient credits

The available balance cannot cover the minimum draw cost. A later final deduction failure also returns insufficient_credits. Xquik stores no draw result and charges nothing after that failure. Check your credit balance.

404 Not found

The target tweet does not exist, was deleted, or the ID is invalid.

409 Idempotency conflict

Reuse a key only for the same request. Exact retries return the original draw. Xquik reads nothing and charges nothing for this request.

409 Idempotency in progress

The first request with this key is still running. Retry with the same key after it finishes. Xquik charges nothing for this request.

424 Short read

X failed or stopped early. Retry after replies_incomplete or retweeters_incomplete. draw_too_large means the post has more entries than 1 draw reads; contact support. Xquik saves & charges nothing.

424 X API dependency failed

Send xquik-api-contract: 2026-04-29 to receive this status for dependency failures that return 502 by default.

429 Rate limited

Too many requests. Wait for the Retry-After header before retrying.

502 X API unavailable

The read service returned an error. Retry after a short delay.
Next steps. Get Draw to retrieve full draw details including tweet metadata, Export Draw to download results as CSV, XLSX or Markdown, or List Draws to see your draw history.