Truth Social API: public posts and profiles as JSON

Truth Social has no public developer API. These endpoints return public posts, user profiles and user timelines as JSON, so you can monitor accounts from Python or any HTTP client instead of maintaining a scraper.

Buy credits

Use cases

Endpoints and cost

EndpointWhat it returnsCredits/callUSD/call (Freelance plan)
/v1/truthsocial/postPost1$0.0017
/v1/truthsocial/userProfile1$0.0017
/v1/truthsocial/user_postsUser Posts1$0.0017

Endpoint details

/v1/truthsocial/post

Post 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.

ParameterTypeRequiredDescription
urlstringyesTruth Social post URL
download_mediabooleannoSet to true to download the attached video/images and get back permanent Supabase URLs. Costs 10 credits if media is found, 1 credit otherwise.

Sample response (trimmed):

{
 "text": "It’s so hard to watch as Highly Qualified and Respected Ambassadors, who we desperately need representing our Country in Faraway Lands, are purposefully mean...",
 "id": "114315219437063160",
 "created_at": "2025-04-10T19:03:40.023Z",
 "in_reply_to_id": null,
 "quote_id": null,
 "in_reply_to_account_id": null,
 "sensitive": false,
 "spoiler_text": "",
 "visibility": "public",
 "language": "en",
 "uri": "https://truthsocial.com/@realDonaldTrump/114315219437063160",
 "url": "https://truthsocial.com/@realDonaldTrump/114315219437063160",
 "content": "<p>It’s so hard to watch as Highly Qualified and Respected Ambassadors, who we desperately need representing our Country in Faraway Lands, are purposefully m...",
 "account": {
  "id": "107780257626128497",
  "username": "realDonaldTrump",
  "acct": "realDonaldTrump",
  "display_name": "Donald J. Trump",
  "locked": false,
  "bot": false,
  "discoverable": false,
  "group": false,
  "created_at": "2022-02-11T16:16:57.705Z",
  "note": "<p></p>",
  "url": "https://truthsocial.com/@realDonaldTrump",
  "avatar": "https://static-assets-1.truthsocial.com/tmtg:prime-ts-assets/accounts/avatars/107/780/257/626/128/497/original/454286ac07a6f6e6.jpeg",
  "avatar_static": "https://static-assets-1.truthsocial.com/tmtg:prime-ts-assets/accounts/avatars/107/780/257/626/128/497/original/454286ac07a6f6e6.jpeg",
  "header": "https://static-as

/v1/truthsocial/user

Profile 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.

ParameterTypeRequiredDescription
handlestringyesTruth Social username

/v1/truthsocial/user_posts

User Posts 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.

ParameterTypeRequiredDescription
handlestringnoTruth Social username
user_idstringnoTruth Social user id. Use this for faster response times. Trumps is 107780257626128497. It is the 'id' field in the profile endpoint.
trimbooleannoSet to true for a trimmed down version of the response
next_max_idstringnoUsed to paginate to next page

Example: curl

curl -H "X-Scapi-Key: $SCAPI_KEY" "https://api.scrapall.bipsport.com/scapi/v1/truthsocial/post"

Example: Python

import os, requests
r = requests.get("https://api.scrapall.bipsport.com/scapi/v1/truthsocial/post",
    headers={"X-Scapi-Key": os.environ["SCAPI_KEY"]})
print(r.json())

FAQ

Is there an official Truth Social API?

There is no open developer API for reading public posts. These endpoints return the public data as JSON with one Scrapall API key header.

Can I use it from Python?

Yes. The Python example on this page uses requests; any HTTP client works the same way.

Do I need a Truth Social account?

No. No login or cookie is used on your side; you only send the API key header.

How do I pay and get my API key?

Open the Buy page, pick the Freelance plan and pay in USDT on TRC20 or ERC20. The key is shown once, right after the payment is confirmed on-chain.

How many credits does one call use?

The cost table on this page lists credits per call for each endpoint. The Freelance plan is $45 for 27,000 credits per 30 days.

Get an API key and credits

Full reference: all truthsocial endpoints.