Draws
Twitter giveaway history API & past draw results
List past Twitter giveaway draws with tweet URLs, statuses, entry counts, timestamps, and opaque cursors. Then retrieve winners or export audit records.
- 200
- 400
- 401
- 429
GET
Twitter giveaway history API & past draw results
List every Twitter giveaway draw owned by the authenticated Xquik account.
Review source tweets, draw statuses, entry counts, and completion times.
Continue through older results with an opaque cursor.
This endpoint returns draw summaries. It does not return winner objects or
eligibility rules. Retrieve one draw when winner verification needs those
details.
Use list results to find draws. Use detail results to verify winners.
Use exports for review, customer support, or campaign archives.
Do not label
Fetch detail rows before publishing past giveaway winners. Keep winner
position and
The
Missing or invalid API key / session cookie.
Too many requests. Wait for the
Continue fetching pages until
Save the last accepted cursor after you store each batch. Restart from that
cursor after a worker failure. Never build a cursor from timestamps or draw
IDs.
Do not advance the cursor after a failed request. A retry must request the same
page. Append results only after the response succeeds.
Free. This endpoint does not consume credits.
List past Twitter giveaway draws
UseGET /draws for a Twitter giveaway history page or audit queue. The API
orders results by createdAt and draw ID, newest first. Each row identifies its
source tweet and inspected candidate counts.
List draw history
Call
GET /draws for draw IDs, tweet URLs, statuses, entry counts, and
timestamps. Follow nextCursor when hasMore is true.Review past winners
Call
GET /draws/{id} for source tweet metrics and ordered winner rows.
Keep primary and backup winners separate.Export audit records
Call
GET /draws/{id}/export for winners or entries. Choose CSV, JSON,
Markdown, PDF, text, or XLSX.Run another draw
Call
POST /draws with the source tweet and eligibility rules. Do not reuse
an old draw ID for a new selection.Choose the correct giveaway result
The list route answers which draws exist. It also shows when each draw ran. It cannot answer who won or which reply qualified. Use this handoff for each returned row:Find past draws
Call
GET /draws. Keep id, tweetUrl, status, and createdAt.Compare entry counts
Read
totalEntries and validEntries from each list summary.Verify winners
Call
GET /draws/{id}. Keep position, username, tweet ID, and backup
state.Review the source tweet
Read the tweet ID, text, author, and engagement counts from draw detail.
Download results
Call
GET /draws/{id}/export. Select winners or entries and one format.validEntries as a winner count. It counts inspected entries that
passed the configured filters. Winner rows exist only in the detail response.
Build a Twitter giveaway audit handoff
Store one summary row per draw. Keep the public draw ID as the join key. Store the source tweet URL. Usernames can change.isBackup. Dashboards and announcements then cannot show a backup
winner as a primary winner.
Query parameters
number
Results per page. Default
50, max 100.string
Cursor for pagination. Pass the
nextCursor value from a previous response to fetch the next page. An edited or unknown cursor returns 400.Headers
string
Send
Bearer <token> instead of x-api-key when using OAuth 2.1.Response
200 OK
array
List of draw objects ordered by creation date (newest first).
Draw object fields.
string
Draw public ID returned by Xquik.
string
Original tweet URL used for the draw.
string
Draw status (for example
completed).number
Candidate entries inspected for the draw.
number
Entries that passed all filters.
string
ISO 8601 creation timestamp.
string
ISO 8601 timestamp of when Xquik selected winners. Present only for completed draws.
boolean
true if more pages exist beyond this result set.string
Pagination cursor. Pass it as
cursor for the next page.400 Invalid cursor
cursor value is not a nextCursor from this route. Send the last
nextCursor you received, or omit cursor to start from the first page.
401 Unauthenticated
429 Rate limited
Retry-After header before retrying.
Paginate Twitter giveaway history
Draws use cursor pagination. PassnextCursor as the next cursor value.
hasMore is false. Cursors are opaque strings. Do not parse or build them.
Use this loop to export the complete history:
Node.js
Handle giveaway history responses
200 Draw page
Read
draws and hasMore. Read nextCursor only when another page exists.400 Invalid cursor
The cursor is not one this route returned. Resend the last
nextCursor.401 Authentication
Authentication failed. Replace the API key or OAuth bearer token first.
429 Rate limit
Too many requests. Honor
Retry-After, then resume with the same cursor.Twitter giveaway history questions
How do I view past Twitter giveaway draws?
CallGET /draws with your Xquik API key. The newest draw summaries appear
first. Follow nextCursor for older results.
Does giveaway history include past winners?
The list response does not include winners. Pass itsid to GET /draws/{id}
for primary and backup winner rows.
Can I download previous Twitter giveaway winners?
Yes. Fetch the draw ID first. Then exporttype=winners in CSV, JSON,
Markdown, PDF, text, or XLSX.
What do total and valid entries mean?
totalEntries counts inspected candidate entries. validEntries counts
entries that passed the draw filters. Neither field reports the winner count.
How do I audit a Twitter giveaway result?
Store the list summary and draw ID. Fetch draw details and keep winner order. Export entries when the review needs every inspected reply.Does listing giveaway draws consume credits?
No. Listing draw history is free. Running a new draw can consume credits.Related. Get Draw retrieves one result. Use
Create Draw for a new winner selection.