Appearance
User Posts
GET /v1/truthsocial/user/posts
Fetches a paginated list of posts from a Truth Social user, returning text, id, created_at, url, content, account info, media_attachments, card link previews, replies_count, reblogs_count, and favourites_count. Supports pagination via next_max_id and a trim option for lighter responses. Only prominent public figures (e.g., Trump, Vance) are accessible without authentication.
Authentication
All requests require the x-api-key header. Get your key at scrapecreators.com.
Query Parameters
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
handle | string | no | Truth Social username | realDonaldTrump |
user_id | string | no | Truth Social user id. Use this for faster response times. Trumps is 107780257626128497. It is the 'id' field in the profile endpoint. | 107780257626128497 |
next_max_id | string | no | Used to paginate to next page | 107780257626128497 |
trim | boolean | no | Set to true for a trimmed down version of the response | false |
Example Request
curl
bash
curl 'https://api.scrapecreators.com/v1/truthsocial/user/posts' \
-H 'x-api-key: $SCRAPECREATORS_API_KEY'Node / TypeScript
js
const params = new URLSearchParams({ });
const res = await fetch(`https://api.scrapecreators.com/v1/truthsocial/user/posts?${params}`, {
headers: { 'x-api-key': process.env.SCRAPECREATORS_API_KEY }
});
const data = await res.json();
console.log(data);Python
python
import os, requests
r = requests.get(
'https://api.scrapecreators.com/v1/truthsocial/user/posts',
headers={'x-api-key': os.environ['SCRAPECREATORS_API_KEY']},
params={},
)
r.raise_for_status()
print(r.json())CLI
bash
scrapecreators truth-social user-posts --helpExample Response
json
{
"success": true,
"posts": [
{
"id": "114712957163880045",
"text": "",
"created_at": "2025-06-20T00:53:36.183Z",
"language": null,
"url": "https://truthsocial.com/@realDonaldTrump/114712957163880045",
"replies_count": 58,
"reblogs_count": 165,
"favourites_count": 630,
"upvotes_count": 630,
"downvotes_count": 0,
"media_attachments": [
{
"id": "114712956416948688",
"type": "video",
"url": "https://static-assets-1.truthsocial.com/tmtg:prime-ts-assets/media_attachments/files/114/712/956/416/948/688/original/3f067916e3c0c704.mp4",
"preview_url": "https://static-assets-1.truthsocial.com/tmtg:prime-ts-assets/media_attachments/thumbnails/114/712/956/416/948/688/original/6e823189e7100622.jpg",
"external_video_id": "v6surln",
"remote_url": null,
"preview_remote_url": null,
"text_url": null,
"meta": {
"colors": {
"accent": "#e4e1ec",
"background": "#1d1c22",
"foreground": "#e4e1ec"
},
"original": {
"bitrate": 1682510,
"duration": 138.176,
"frame_rate": "25/1",
"height": 720,
"width": 1280
},
"small": {
"aspect": 1.7783333333333333,
"height": 600,
"size": "1067x600",
"width": 1067
}
},
"description": null,
"blurhash": "UE9%rEt9%ObH_4RibIRjtQWBjbjaNFoft7WB",
"processing": "complete"
}
]
}
],
"next_max_id": "114711182786951532"
}Credits
Most ScrapeCreators endpoints consume 1 credit per successful response. Some heavier endpoints (transcripts, AI-driven enrichment, ad detail lookups) may cost more. Check GET /v1/credit-balance for your remaining balance.
Errors
| Status | Meaning | Action |
|---|---|---|
| 200 | Success. | Use the JSON payload. |
| 400 | Invalid or missing parameter. | Verify required parameters and value format. |
| 401 | Missing or invalid x-api-key. | Pass a valid API key in the header. |
| 402 | Out of credits. | Top up at scrapecreators.com or wait for plan reset. |
| 404 | Resource not found or private. | Confirm the handle, URL, or id and that the resource is public. |
| 429 | Rate limited. | Backoff and retry with exponential delay. |
| 500 | Server error or upstream platform failure. | Retry with backoff; report persistent errors to support. |