Truth Social answers a proxied client honestly only at its API. The public profile page hands a plain HTTP client 7 words from the United States, Germany and the United Kingdom alike, and a browser hydrates it only from a US exit: 400 words for 937,369 bytes. The unauthenticated accounts/lookup endpoint returned the identical 1,440 bytes of JSON from all three countries on 28 September 2026, with a x-ratelimit-limit of 300 per five-minute window on every response. On Truth Social the setting is the API, plain HTTP, any residential exit.
The search results for this keyword are about something else: Truth API, the institutional data feed the platform's owner launched on 1 August 2026, which covers ten accounts and has no public sign-up. The related searches are the honest signal: "Truth Social without account", "Truth Social posts archive", "Truth Social API free". People want to read public posts programmatically without paying an institutional licence. We measured what the site actually returns, and we keep this page strictly technical.
The profile page is a 7-word shell from every country
We audited truthsocial.com/@truthsocial, the platform's own account, through residential exits in three countries, once without JavaScript and once rendered in a browser.
| Exit country | Plain HTTP | Rendered in a browser |
|---|---|---|
| United States | 7 words, 3,095 bytes, title and description present | 400 words, h1 Truth Social — $DJT, 937,369 bytes, 10.9 s |
| Germany | 7 words, identical shell | 44 words, no profile, title in German |
| United Kingdom | 7 words, identical shell | 43 words, no profile |
The plain response is the same everywhere: a 3,095-byte HTML document with the account name in the title, a one-line description and a Twitter card, and nothing else. A post permalink fetched from Germany is the same shape at 3,533 bytes and 9 words. That is a single-page application shell: the server sends the frame and expects the browser to fill it from the API.
Rendering fills the frame only from the United States. From Germany and the United Kingdom the rendered pass came back with a 44-word page and no profile in it, twice out of two. So the browser route has two costs on this target: 937 KB and eleven seconds per profile from the one country where it works, and a short page that a naive parser would store as an empty profile from the others. Do not build on the page.
The API needs no account and returns the same bytes from three countries
Truth Social runs on a Mastodon-derived backend. The /api/v1/instance endpoint says so itself: version 3.4.1 (compatible; TruthSocial 1.0.0), 5,777 bytes, no authentication, with a 3,000-character post limit, a streaming endpoint and registrations closed. In the Mastodon API reference the account and statuses endpoints are marked OAuth: Public, and unauthenticated use of an account's statuses has been allowed since Mastodon 2.7.0. Truth Social honours that.
| Request | Status | On-wire bytes | What came back |
|---|---|---|---|
| /api/v1/accounts/lookup?acct=truthsocial, US exit | 200 | 1,440 | id, username, display name, note, avatar, header, followers, following, statuses count, created date, verified flag |
| Same request, German exit | 200 | 1,440 | Identical body, identical headers |
| Same request, British exit | 200 | 1,440 | Identical body, identical headers |
| /api/v1/accounts/<id>/statuses?limit=1 | 200 | 105,121 | 16 statuses with text, media, card, replies, reblogs, favourites, upvotes and downvotes counts, 1.7 s |
| /api/v1/instance | 200 | 5,777 | Software version, limits, rules, streaming URL |
Three things to read off that table. First, the lookup is tiny: 1,440 bytes answers the question that 937,369 rendered bytes answers badly, and the follower count in it, 6,696,110, is the same number from all three exits. Second, the exit country changes nothing at the API, neither the body nor the headers: we compared them line by line. Third, limit=1 on the statuses endpoint returned 16 items in one 105-kilobyte response, so budget for a page of posts per call, not one.
The response fields are the Mastodon Account and Status entities plus platform extras: upvotes_count, downvotes_count, sponsored, group, verified and premium. A parser written for Mastodon reads Truth Social with those keys added; the same is true in reverse of Bluesky, whose public API is the other open read surface among the platforms we have measured.
The limit is 300 requests per five-minute window, per address
Every API response carried three headers: x-ratelimit-limit: 300, x-ratelimit-remaining: 299 and an x-ratelimit-reset timestamp that pointed to the next five-minute mark (21:50:00, then 21:55:00 UTC). Requests from three different exits each saw remaining: 299, so the counter is kept per client address, not globally. That is the one legitimate reason to put a proxy pool in front of a Truth Social reader: a single address gets 300 calls per window, N addresses get 300 each.
Pace against the header, not against a guess. Read remaining, and when it approaches zero, either wait for reset or move to the next exit. At 300 lookups per five minutes per address, one residential address reads 86,400 profiles a day; a timeline pull of 16 posts per call reads 1.38 million posts a day per address. Few monitoring jobs need a second address at all.
The robots.txt at truthsocial.com is a 200 with a zero-byte body. There is no crawl instruction to follow or break; the rules live in the Terms of Service, below.
Truth API is a different product and it is not self-serve
The searches around this keyword are full of "truth social api cost" and "truth social api 100k" because of Truth API, the licensed business-to-business feed announced on 16 July 2026 and live since 1 August 2026. It delivers posts from ten high-profile accounts in real time to financial-services partners under negotiated agreements; there is no public sign-up page, no self-serve key, no published rate card and no public documentation. If your job is those ten accounts at millisecond latency, that is the product, and it is not something a proxy replaces.
Everything else is the Mastodon-compatible API measured above, which covers any public account and costs bandwidth. The difference between the two is not access to the data, which is public in both cases, but latency guarantees and a licence. Do not confuse them, and do not expect the free API to carry a service-level agreement.
What it costs, counting a gigabyte as one billion bytes
| How you fetch it | On-wire bytes | What you get | Per GB | Cost at $0.80/GB |
|---|---|---|---|---|
| Profile page, plain HTTP | 3,095 | 7 words: name, one-line description | ~323,000 pages | $0.0000025 |
| Profile page, rendered, US exit | 937,369 | 400 words, 10.9 seconds | ~1,067 pages | $0.00075 |
| API accounts/lookup | 1,440 | Full account record with counts | ~694,000 lookups | $0.0000012 |
| API statuses, one call | 105,121 | 16 posts with engagement counts | ~9,500 calls | $0.000084 |
| API instance | 5,777 | Software version and limits | n/a | n/a |
One million profile lookups through the API move 1.44 GB and cost about $1.15 at the residential Basic rate. The same million profiles rendered would move about 937 GB and cost about $750, and would only work from one country. A monitoring job that pulls 100,000 timeline pages a month moves 10.5 GB for about $8.40. The browser is 651 times the bandwidth of the lookup for a worse answer; skip it.
If you would rather not run the fetch layer, our web scraping API returns any of these JSON endpoints for $0.0002 per request with no browser, through the same residential exits, with the rate-limit header surfaced. On Truth Social do not pay for the $0.001 rendered mode; the table above is the proof.
What Truth Social's own terms permit, in one line each
The Terms of Service are explicit. Section 4(6) has every user represent that they "will not access the Service through automated or non-human means, whether through a bot, script, or otherwise", and Section 7.1 prohibits systematically retrieving data or content "to create or compile, directly or indirectly, a collection, compilation, database, or directory without written permission". That is the plain line: building a dataset from Truth Social without written permission breaches its terms, and the rate-limit header does not change that. The instance rules add that spam, inauthentic engagement and fake accounts are grounds for removal.
What this is properly for, then: reading the public posts of a known list of accounts, archiving your own organisation's posts, checking that a profile renders the same from the countries your audience lives in, and brand monitoring on public mentions at the documented pace, with written permission where your use is systematic. Do not build multi-account tooling, do not automate engagement, and do not read anything behind a login: the instance reports registrations closed, and nothing in this article helps you around that.
The setting that works on Truth Social
- Network: residential, Basic at $0.80/GB. Three residential exits in three countries read the API on the first request; nothing in fourteen passes needed more than a household address, and the payloads are small enough that the per-gigabyte rate barely matters.
- Fetch mode: engine: tls, plain HTTP, against /api/v1/accounts/lookup and /api/v1/accounts/<id>/statuses. 1,440 bytes per account and 16 posts per timeline call; the profile page returns 7 words and the render returns 400 words for 937,369 bytes from one country only.
- Country to pin: none for the data, which was byte-identical from the US, Germany and the UK. Pin the United States only if you insist on rendering the page, where it is the one exit that hydrated (400 words against 44).
- Pacing: read x-ratelimit-remaining; 300 requests per five-minute window per address, reset at the next five-minute mark.
- When the proxy is not enough: the web scraping API at $0.0002 per request returns the same JSON with retries and the limit header handled; for cross-platform listening alongside Truth Social, the Reddit collector returns public posts as rows with no fetch layer on your side.
- Free tier: every account gets $2 of free API usage per month, which covers 10,000 API requests at the plain-HTTP rate.
Sources & further reading
- Truth Social Terms of Service, sections 4 and 7 (Help Center)
- truthsocial.com/robots.txt (fetched 28 September 2026, 0 bytes)
- Mastodon documentation, accounts API methods (OAuth: Public endpoints)
- What is Trump Media's Truth API and why is it controversial? (BBC News)
- Truth API: cost, access and alternatives, updated 26 September 2026 (1322)