Truth Social User posts API
List a Truth Social account's recent posts by handle - text, engagement (likes, comments, shares), and timestamps as clean JSON.
$1.20/1k req, pay per request, no subscription.
{"id": "113928311007742051","url": "https://truthsocial.com/@DerekCallowayShow/posts/113928311007742051","text": "BREAKING: The Senate just passed the Border Security Act 68-29. This is a major win for American families and it happened because people showed up and made calls. More on tonight's show, 8pm ET.","likes": 18420,"comments": 1362,"shares": 4108,"createdUtc": 1789932720,"username": "DerekCallowayShow",... 3 more fields}
Pricing and providers
Truth Social User posts API pricing: one API, 2 interchangeable providers
The cheapest provider serves first. If it fails, the next one takes over in the same call.
Try it
Get Truth Social user posts in one request
This sample shows 15 of 16 fields. See every field
{
"found": true,
"data": {
"posts": [
{
"id": "113928311007742051",
"url": "https://truthsocial.com/@DerekCallowayShow/posts/113928311007742051",
"text": "BREAKING: The Senate just passed the Border Security Act 68-29. This is a major win for American families and it happened because people showed up and made calls. More on tonight's show, 8pm ET.",
"likes": 18420,
"comments": 1362,
"shares": 4108,
"createdUtc": 1789932720,
"username": "DerekCallowayShow",
"displayName": "Derek Calloway",
"avatarUrl": "https://static-assets-1.truthsocial.com/accounts/avatars/000/914/223/original/derek_calloway.jpg",
"verified": true
},
{
"id": "113927998214475310",
"url": "https://truthsocial.com/@DerekCallowayShow/posts/113927998214475310",
"text": "Tune in tonight: we're talking to a small business owner in Ohio who just doubled her staff. Real stories, real numbers, no spin.",
"likes": 6215,
"comments": 340,
"shares": 812,
"createdUtc": 1789885320,
"username": "DerekCallowayShow",
"displayName": "Derek Calloway",
"avatarUrl": "https://static-assets-1.truthsocial.com/accounts/avatars/000/914/223/original/derek_calloway.jpg",
"verified": true
},
{
"id": "113927650098120044",
"url": "https://truthsocial.com/@DerekCallowayShow/posts/113927650098120044",
"text": "Thank you to everyone who came out to the Springfield town hall last night. Standing room only. This is what accountability looks like.",
"likes": 9840,
"comments": 588,
"shares": 1503,
"createdUtc": 1789825920,
"username": "DerekCallowayShow",
"displayName": "Derek Calloway",
"avatarUrl": "https://static-assets-1.truthsocial.com/accounts/avatars/000/914/223/original/derek_calloway.jpg",
"verified": true
}
],
"nextCursor": "MTc4OTgyNTkyMHwxMTM5Mjc2NTAwOTgxMjAwNDQ"
}
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
One request, one response shape.
Every field you send and every field you get back, each with a real example.
Last verified 2026-10-31 · uptime and latency measured over 30d
Request body
JSON, posted to this endpoint.
- handlestring
DerekCallowayShow
Truth Social handle without the @, e.g. "realDonaldTrump".
- cursorstring
Opaque pagination cursor from a previous response's nextCursor. Omit for the first page; a page holds 20 posts.
Response
JSON, one example value per field.
Wrapper holding the posts array, or null when nothing was found.
- nextCursorstring
MTc4OTgyNTkyMHwxMTM5Mjc2NTAwOTgxMjAwNDQ
Opaque cursor for the next page of posts, or null/empty when there are no more. Pass it back as cursor to continue.
The user's recent posts. Populated whenever the provider has data for the entity.
- avatarUrlstring
https://static-assets-1.truthsocial.com/accounts/avatars/000/914/223/original/derek_calloway.jpg
Avatar URL of the account that posted.
- commentsinteger
1362
Number of comments on the post.
- createdUtcnumber
1789932720
UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. Populated whenever the provider has data for the entity.
- displayNamestring
Derek Calloway
Display name of the account that posted.
- idstring
113928311007742051
Post identifier. Populated whenever the provider has data for the entity.
- likesinteger
18420
Number of likes on the post.
- sharesinteger
4108
Number of reblogs of the post.
- textstring
BREAKING: The Senate just passed the Border Security Act 68-29. This is a major win for American families and it happened because people showed up and made calls. More on tonight's show, 8pm ET.
Post text content. Populated whenever the provider has data for the entity.
- urlstring
https://truthsocial.com/@DerekCallowayShow/posts/113928311007742051
Canonical URL of the post. Populated whenever the provider has data for the entity.
- usernamestring
DerekCallowayShow
Handle of the account that posted.
- verifiedboolean
true
Whether the posting account is verified on Truth Social.
- foundboolean
true
True when the user's posts were found; false when the lookup returned nothing.
- reason"not_found"
Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.
FAQ
About the Truth Social User posts API
The AnyAPI Truth Social User posts API returns Truth Social user posts data as normalized JSON from one POST call to /v1/run/truthsocial.user_posts. List a Truth Social account's recent posts by handle - text, engagement (likes, comments, shares), and timestamps as clean JSON. AnyAPI routes each request across 2 sources and falls back automatically when one fails. It costs from $1.20 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of Truth Social user posts calls through AnyAPI succeeded, with a median response time of 1.9 seconds across 77 measured calls.