Get an X (Twitter) tweet
Retrieve one public tweet by permalink: the raw TweetResultByRestId tweet object with its author, text, entities, media, quoted or retweeted tweet, note text for long posts, engagement counters and views.
/v1/twitter/tweetx-api-keyHeaders
Get your API keyYour ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.
x.com or twitter.com status permalink (https://x.com/{handle}/status/{id}, /i/web/status/{id} or /i/status/{id}); the numeric ID identifies the tweet, the handle in the path is not checked. Query strings and fragments are ignored.
max 2048 chars
https://x.com/example/status/1000000000000000001true returns rest_id, views, source and legacy only.
one of: true, false
Always included.
Always included.
Always included.
Always included.
The author's user object as X embeds it in the pinned document (legacy identity layout with screen_name, name, counters and profile image).
Always included.
Always included.
Always included.
Always included.
Always included.
Request correlation identifier.
HTTP attempts (guest activation plus GraphQL reads, including the shared retry), decoded bytes and duration for the operation.
Always included.
≥ 0
Always included.
≥ 0
Always included.
≥ 0
True when usable data is returned; inspect status and coverage for omissions.
success, partial, failed, or challenged. HTTP 200 can be partial.
one of: success, partial
Canonical x.com URL of the profile, tweet or community.
absolute HTTPS URL
UTC retrieval time.
Complete means the pinned GraphQL document was returned without omitted entries; warnings name every skipped entry kind or cap.
Always included.
Always included.
Always included.
No fields match.
HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.
| HTTP | failure.code | Meaning |
|---|---|---|
| 400 | invalid_request | Missing, duplicate, malformed or unsupported parameters, handles or URLs. |
| 401 | unauthorized | Invalid API key. |
| 404 | not_found | Unknown handle, tweet or community. |
| 403 | restricted_page | The account is suspended or unavailable, or the tweet is withheld, protected or age-restricted for logged-out visitors. |
| 429 | upstream_rate_limited | X rate limited guest activation or the GraphQL read. |
| 502 | upstream_challenged | X refused the guest token or the request (status challenged). |
| 502 | operation_unavailable | X no longer serves the pinned persisted query for this operation. |
| 502 | unsafe_redirect | X answered the API request with a redirect. |
| 502 | unsupported_page | The GraphQL result is missing, mismatched or structurally unsupported. |
| 502 | response_too_large | The response exceeded 4 MiB. |
| 502 | payload_too_complex | The response exceeded the JSON depth or node limits. |
| 502 | request_limit | The upstream request budget was exhausted. |
| 502 | upstream_error | Network failure or HTTP 5xx after the single retry. |
| 503 | busy | All retrieval slots are busy. |
| 504 | timeout | The 20-second deadline elapsed. |