Skip to content
scrapeatlas.Dashboard

Get an X (Twitter) user’s highlights

Try in Playground

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.

GET/v1/twitter/user-highlightsx-api-key
x-api-keystringrequiredheader

Your ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.

Query parameters
2
handlestringrequiredquery

X handle, 1–15 letters, digits or underscores; a leading @ is accepted.

max 16 chars

Exampleexample
trimenumquery

true returns each tweet as rest_id, views, source, legacy, quoted_status_result (when present) and url.

one of: true, false

Response fields
29
requestIdstring

Request correlation identifier.

HTTP attempts (guest activation, profile lookup, highlights read and the shared retry), decoded bytes and duration for the operation.

accounting.upstreamRequestsinteger

Always included.

≥ 0

accounting.responseBytesinteger

Always included.

≥ 0

accounting.durationMsnumber

Always included.

≥ 0

successboolean

True when usable data is returned; inspect status and coverage for omissions.

statusenum

success, partial, failed, or challenged. HTTP 200 can be partial.

one of: success, partial

sourceUrlstring

Canonical X highlights URL for the requested profile.

absolute HTTPS URL

fetchedAtstring

UTC retrieval time.

The source is public_api and the result order is source_order; inspect status and warnings for the returned selection.

coverage.sourcestring

Always included.

coverage.completeboolean

Always included.

coverage.warningsstring[]

Always included.

coverage.orderstring

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

tweets.__typenamestringoptional

Optional.

tweets.rest_idstring

Always included.

Optional.

Always included.

tweets.core.user_results.resultobject

Always included.

Always included.

tweets.legacy.full_textstring

Always included.

tweets.legacy.id_strstring

Always included.

tweets.legacy.created_atstring

Always included.

tweets.legacy.user_id_strstring

Always included.

tweets.urlstring

Always included.

absolute HTTPS URL

tweets.viewsobjectoptional

Optional.

tweets.sourcestringoptional

Optional.

tweets.quoted_status_resultobjectoptional

Optional.

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.

Error codes
15
HTTPfailure.codeMeaning
400invalid_requestMissing, duplicate, malformed or unsupported parameters, handles or URLs.
401unauthorizedInvalid API key.
404not_foundUnknown handle, tweet or community.
403restricted_pageThe account is suspended or unavailable, or the tweet is withheld, protected or age-restricted for logged-out visitors.
429upstream_rate_limitedX rate limited guest activation or the GraphQL read.
502upstream_challengedX refused the guest token or the request (status challenged).
502operation_unavailableX no longer serves the pinned persisted query for this operation.
502unsafe_redirectX answered the API request with a redirect.
502unsupported_pageThe GraphQL result is missing, mismatched or structurally unsupported.
502response_too_largeThe operation’s response byte budget was exceeded.
502payload_too_complexThe response exceeded the JSON depth or node limits.
502request_limitThe upstream request budget was exhausted.
502upstream_errorNetwork failure, HTTP 5xx after the single retry, or X returned the post without its author and text.
503busyAll retrieval slots are busy.
504timeoutThe operation’s deadline elapsed.