Get an X (Twitter) user’s highlights
Retrieve the posts an X account selected for its Highlights tab, with each tweet’s author, text, media, engagement counters and original URL. Use trim=true for compact tweet records.
/v1/twitter/user-highlightsx-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, profile lookup, highlights read and 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 highlights URL for the requested profile.
absolute HTTPS URL
UTC retrieval time.
The source is public_api and the result order is source_order; inspect status and warnings for the returned selection.
Always included.
Always included.
Always included.
Always included.
The posts an account selected for its Highlights tab, with the author, text, media, engagement counters and original URL for each tweet.
up to 200 items
Optional.
Always included.
Optional.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
absolute HTTPS URL
Optional.
Optional.
Optional.
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 operation’s response byte budget was exceeded. |
| 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, HTTP 5xx after the single retry, or X returned the post without its author and text. |
| 503 | busy | All retrieval slots are busy. |
| 504 | timeout | The operation’s deadline elapsed. |