List an X (Twitter) user's public tweets
Retrieve a profile's public tweets in ranked order, including its pinned tweet, with a URL for each tweet.
/v1/twitter/user-tweetsx-api-keyHeaders
Get your API keyYour ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.
X handle, 1–15 letters, digits or underscores; a leading @ is accepted.
max 16 chars
exampletrue returns each tweet as rest_id, views, source, legacy, quoted_status_result (when present) and url.
one of: true, false
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.
Tweet objects in timeline order: the pinned tweet, then X's ranked entries; retweets appear with legacy.retweeted_status_result.
up to 200 items
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. |