Skip to main content
GET
See who retweeted my tweet with Twitter API
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 result returned · All plans from $0.00012/credit · Supports guest paid reads
Use this Twitter API to see who retweeted one public tweet. The response returns one user profile per visible reposting account. The canonical route is GET /api/v1/x/tweets/{id}/retweeters.
The Node.js and Python snippets write JSON Lines retweeter rows plus a separate checkpoint instead of raw response pages. Persist each mapped row and the latest next_cursor so an import, giveaway verifier, CRM sync, or agent job can resume from the last completed page without duplicate rows.

Direct retweeter handoff

Use GET /api/v1/x/tweets/{id}/retweeters when a workflow needs one row per account that retweeted or reposted a tweet. Use these rows for giveaway checks, CRM imports, audience reviews, or follow-up jobs. Store source_tweet_id, retweeter_id, username, display_name, follower_count, following_count, verified, verified_type, and profile_image_url. Store next_cursor as a separate checkpoint.

Retweeter rows

Store users[] as the profile rows for accounts that reposted the source tweet.

Stable upserts

Store users[].id as retweeter_id with source_tweet_id for idempotent imports and giveaway checks.

Readable labels

Store users[].username and users[].name for handles, labels, and review queues.

Profile enrichment

Store description, location, url, and profilePicture when returned for CRM and warehouse enrichment.

Audience signals

Store followers, following, verified, and verifiedType for reach scoring, filters, and outreach priority.

Approved contact

Use DM endpoints only after a user-approved message flow. Treat the write response as the delivery authority.

Next page

Store has_next_page and next_cursor; pass next_cursor back as cursor only when has_next_page is true.

Credit-limited pages

Use users.length, not a requested page size, for row counts. Low balances can return fewer rows.
Direct retweeter reads cost 1 credit per user returned. Low credit balances can return fewer users than a full page; zero affordable results return 402 insufficient_credits.

Retweeter questions

Can I see who retweeted my tweet?

Yes, for profiles visible to this endpoint. Pass the tweet’s numeric ID. The response lists handles, names, follower counts, and verification fields. Continue pagination only when the response confirms another page. X documents this read intent as Get Reposted by.

Why can’t I see every retweeter?

X controls which profiles each request exposes. Deleted, protected, blocked, or withheld accounts may not appear. X may also omit accounts it cannot return. Pagination and credit limits can shorten one page. A missing profile cannot confirm zero repost activity.

Do retweeters include quote tweets?

No. A standard repost shares the source tweet without added commentary. The quote-tweets endpoint returns added commentary. Use the tweet-replies endpoint to read the conversation.

How do I export retweeters?

The Node.js and Python examples write one JSON Lines row per user. Store the source tweet ID beside each profile. Use next_cursor to resume an interrupted export. Use toolType=repost_extractor for a saved CSV, JSON, or XLSX job.

How can I analyze retweeters?

Compare complete snapshots with numeric user IDs. Record the collection time beside follower and verification fields. A repost does not prove endorsement or a business relationship. Report only returned profile attributes.

Path parameters

string
required
Tweet ID (numeric string).

Query parameters

string
Pagination cursor from next_cursor in a previous response. Omit it on the initial request. Pass it only when has_next_page is true.
integer
Profiles per page. Range: 20-200. Defaults to 200.

Which tweet engagement endpoint?

Retweeters

Use GET /x/tweets/{id}/retweeters for user profiles that reposted one source tweet.

Tweet likers

Use GET /x/tweets/{id}/favoriters for user profiles that liked one source tweet.

Quote tweets

Use GET /x/tweets/{id}/quotes when you need tweet rows that quote the source tweet.

Tweet replies

Use GET /x/tweets/{id}/replies when you need reply tweet rows under the source tweet.

Saved exports

Use Create extraction with toolType=repost_extractor when you need a saved job or CSV, JSON, or XLSX export.

DM handoff

Use Send DM only after your workflow has a user-approved outreach step.

User result filters

These filters apply before billing. Selective filters can return fewer rows.
integer
Require this minimum follower count. Filtering happens before billing.
integer
Allow this maximum follower count. Missing counts pass this filter.
integer
Require this minimum following count.
integer
Allow this maximum following count. Missing counts pass this filter.
integer
Require this minimum post count.
integer
Allow this maximum post count. Missing counts pass this filter.
integer
Require this minimum account age in days.
boolean
When true, only return verified profiles.
string
Match the exact verification type.
boolean
When true, require a profile website.
boolean
When true, require a profile location.
string
Require every comma-separated or line-separated bio term.
string
Require this text in the profile location.
string
Require this text in the username.

Headers

string
Full account key. Sessions and OAuth also work.
string
Bearer xq_your_guest_key_here for paid_reads.

Response

200 OK

object[]
Array of users who retweeted. User object fields.
string
X user ID.
string
X username.
string
Display name.
string
Profile bio.
number
This value records the follower count.
number
Following count.
boolean
Verified status.
string
Profile image URL.
string
Profile location.
string
Account creation date (ISO 8601).
number
This value records the total tweet count. X may omit it.
string
This value contains the cover image URL. X may omit it.
number
This value records the media tweet count. X may omit it.
string
Website URL from profile. Omitted if empty.
number
This value records the liked tweet count. X may omit it.
boolean
X sets this flag for accounts with custom timelines. X may omit it.
boolean
X sets this flag for translator accounts. X may omit it.
string[]
Country codes where the account is withheld. Omitted if empty.
boolean
X sets this flag for sensitive accounts. X may omit it.
string[]
This array contains pinned tweet IDs. Omitted if none.
boolean
X sets this flag for automated accounts. X may omit it.
string
Username of the account operator if automated. Omitted if not automated.
boolean
X sets this flag when it cannot return the account.
string
X may give a reason for a missing account.
string
Verification type (e.g. Business, Government). Omitted if not verified or standard blue check.
object
Use this object for bio text and linked profile entities. X may omit it.
boolean
X sets this flag for X Premium verification. X may omit it.
boolean
Use this field for normalized verification status. X may omit it.
string
This value contains the profile banner URL. X may omit it.
boolean
X sets this flag for protected accounts. X may omit it.
string
Role within the requested community context. Omitted outside community results.
boolean
Whether more results are available.
string
Cursor for the next page.

401 Unauthenticated

Anonymous requests receive WWW-Authenticate: Bearer. This is not a Payment challenge.

402 Payment required

Account keys receive account options. A guest wallet receives a checkout option. Confirm any payment action.