Skip to content
scrapeatlas.Dashboard

List an X (Twitter) user's public tweets

Try in Playground

Retrieve a profile's public tweets in ranked order, including its pinned tweet, with a URL for each tweet.

GET/v1/twitter/user-tweetsx-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
14
requestIdstring

Request correlation identifier.

HTTP attempts (guest activation plus GraphQL reads, including 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.com URL of the profile, tweet or community.

absolute HTTPS URL

fetchedAtstring

UTC retrieval time.

Complete means the pinned GraphQL document was returned without omitted entries; warnings name every skipped entry kind or cap.

coverage.sourcestring

Always included.

coverage.completeboolean

Always included.

coverage.warningsstring[]

Always included.

tweetsobject[]

Tweet objects in timeline order: the pinned tweet, then X's ranked entries; retweets appear with legacy.retweeted_status_result.

up to 200 items

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 response exceeded 4 MiB.
502payload_too_complexThe response exceeded the JSON depth or node limits.
502request_limitThe upstream request budget was exhausted.
502upstream_errorNetwork failure or HTTP 5xx after the single retry.
503busyAll retrieval slots are busy.
504timeoutThe 20-second deadline elapsed.