Skip to content
scrapeatlas.Dashboard

Get a Truth Social user’s posts

Try in Playground

Retrieve a page of public timeline posts, newest first, excluding replies. Provide handle or user_id and pass next_max_id for the next page. Use trim for compact records.

GET/v1/truthsocial/user/postsx-api-key
x-api-keystringrequiredheader

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

Query parameters
4
handlestringquery

Public username; mutually exclusive with user_id. Costs one extra upstream read to resolve the account ID.

max 65 chars

ExampleExample_User
user_idstringquery

Account ID string from the profile endpoint; mutually exclusive with handle.

next_max_idstringquery

Request: cursor from the previous page; returned posts are strictly older than it. Response: ID of the last returned post, or null for an empty page.

trimenumquery

Optional true or false (default false). True returns only id, text, created_at, language, url, replies_count, reblogs_count, favourites_count, upvotes_count, downvotes_count and media_attachments per post.

one of: true, false

Response fields
15
requestIdstring

Request correlation UUID.

Upstream document reads (including the handle lookup and one shared transient retry), decoded JSON bytes delivered to the parser and elapsed milliseconds. An interrupted browser transfer may not be included in responseBytes.

accounting.upstreamRequestsinteger

Always included.

≥ 0

accounting.responseBytesinteger

Always included.

≥ 0

accounting.durationMsnumber

Always included.

≥ 0

successboolean

True when usable public 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 public profile or post URL that the record describes.

absolute HTTPS URL

fetchedAtstring

UTC retrieval timestamp.

Complete means every supported source record on this page was returned unchanged.

coverage.sourcestring

Always included.

coverage.completeboolean

Always included.

coverage.warningsenum[]

Always included.

postsobject[]

Ordered source posts (text first, then every source field). At most 20 per page; the page size is fixed by the source.

up to 20 items

next_max_idstringnullable

Request: cursor from the previous page; returned posts are strictly older than it. Response: ID of the last returned post, or null for an empty page.

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
12
HTTPfailure.codeMeaning
400invalid_requestMissing, duplicate, ambiguous or unsupported parameters, or an unsupported post URL.
401unauthorizedInvalid API key.
403restricted_pageThe record requires a signed-in Truth Social session.
404not_foundUnknown account or post.
429upstream_rate_limitedSource throttled retrieval.
502upstream_challengedThe source edge blocked the request (status challenged).
502unsupported_pageMissing, malformed or mismatched source data, including a username or post identity that differs from the request.
502response_too_large payload_too_complexSource exceeds parsing limits.
502unsafe_redirect upstream_error request_limitBounded retrieval failed.
503busyAll slots occupied.
504timeoutTotal deadline exceeded.
200partialMalformed timeline entries were omitted (malformed_posts_omitted).