Skip to main content

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.

GET/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.

ParameterTypeRequiredDefaultDescription
tweetIdstringrequired—Tweet ID or URL (path parameter)
usernamestringrequired—Username to check, with or without @ (query parameter)
BASH
curl "https://xcrop.io/api/v2/tweets/1893045621038174208/check-retweet?username=elonmusk" \
  -H "Authorization: Bearer $XCROP_API_KEY"
ResponseJSON
{
  "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 }
}

More in Interaction Check

Full documentation with search: xcrop.io/docs