Check Retweet
Check Retweet
Checks whether a specific user has retweeted a tweet. It makes a single read of the user's Reposts tab, which is the newest 20 reposts X serves, so call this right after the user reposts, which is also why it answers in about a second instead of paging through a history. No connected X account needed (uses pool accounts). Ideal for giveaway/airdrop/campaign verification.
/v2/tweets/:tweetId/check-retweetCheck if a user has retweeted a tweet.source is reposts_tab for a match and none for a negative. scanned reports the window the answer rests on: reposts is how many the read returned, reposts_ended means X said the account has no more reposts at all, and reposts_more means the window stopped before the history did, so a negative covers only what was read. If that read fails the endpoint answers 503 with a Retry-After header rather than reporting that the user did not retweet, and the call is not billed. If it comes back empty with no end-of-timeline marker, which is what an account we cannot read looks like (protected, suspended or withheld), you get an unbilled 422 with code REPOSTS_UNREADABLE. Retrying it straight away achieves nothing: for five minutes afterwards the same handle is answered from memory without calling X at all. After that the handle is read again, so if the cause was a passing glitch rather than the account itself, a later attempt can still succeed. A missing account answers 404, though a suspended one often arrives as the 422 above instead. A deleted post does not: the read asks about the account, not the post, so a post that no longer exists is indistinguishable from one the user never touched.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| tweetId | string | required | — | Tweet ID or URL (path parameter) |
| username | string | required | — | Username to check, with or without @ (query parameter) |
curl "https://xcrop.io/api/v2/tweets/1893045621038174208/check-retweet?username=elonmusk" \ -H "Authorization: Bearer $XCROP_API_KEY"
{ "data": { "retweeted": true, "verified": true, "tweetId": "1893045621038174208", "username": "elonmusk", "checkedAt": "2026-03-07T15:00:00.000Z", "source": "reposts_tab", "scanned": { "reposts": 20, "reposts_read": "ok", "reposts_ended": false, "reposts_more": true } }, "meta": { "latency_ms": 538 } }