Documentation Python quickstart Blog Free tools hello@quanticdata.ioLog in

Truth Social Proxies: 1,440 Bytes, No Login

What Truth Social returns to a proxied client by fetch mode and exit country, measured on 28 September 2026: 7 words from the profile page over plain HTTP, 400 words rendered from the United States, 44 words rendered from Germany or the United Kingdom, and 1,440 identical bytes from the unauthenticated API from all three exits
What Truth Social returns to a proxied client by fetch mode and exit country, measured on 28 September 2026: 7 words from the profile page over plain HTTP, 400 words rendered from the United States, 44 words rendered from Germany or the United Kingdom, and 1,440 identical bytes from the unauthenticated API from all three exits

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 countryPlain HTTPRendered in a browser
United States7 words, 3,095 bytes, title and description present400 words, h1 Truth Social — $DJT, 937,369 bytes, 10.9 s
Germany7 words, identical shell44 words, no profile, title in German
United Kingdom7 words, identical shell43 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.

RequestStatusOn-wire bytesWhat came back
/api/v1/accounts/lookup?acct=truthsocial, US exit2001,440id, username, display name, note, avatar, header, followers, following, statuses count, created date, verified flag
Same request, German exit2001,440Identical body, identical headers
Same request, British exit2001,440Identical body, identical headers
/api/v1/accounts/<id>/statuses?limit=1200105,12116 statuses with text, media, card, replies, reblogs, favourites, upvotes and downvotes counts, 1.7 s
/api/v1/instance2005,777Software 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 itOn-wire bytesWhat you getPer GBCost at $0.80/GB
Profile page, plain HTTP3,0957 words: name, one-line description~323,000 pages$0.0000025
Profile page, rendered, US exit937,369400 words, 10.9 seconds~1,067 pages$0.00075
API accounts/lookup1,440Full account record with counts~694,000 lookups$0.0000012
API statuses, one call105,12116 posts with engagement counts~9,500 calls$0.000084
API instance5,777Software version and limitsn/an/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

FAQ

Quick answers on truth social proxies.

Something else? Ask us →

Do I need to render Truth Social in a browser?

No. On 28 September 2026 the profile page returned 7 words over plain HTTP from the United States, Germany and the United Kingdom, and rendering it produced 400 words only from the US exit, for 937,369 bytes and 10.9 seconds. The unauthenticated API returned the full account record in 1,440 bytes from all three countries. Read the API, not the page.

Does Truth Social have a public API?

It runs a Mastodon-compatible API that answers without an account: the instance endpoint reports version 3.4.1 (compatible; TruthSocial 1.0.0), and accounts/lookup, accounts/statuses and instance all returned 200 to unauthenticated requests. Truth API, the licensed institutional feed live since 1 August 2026, is a separate product covering ten accounts with no self-serve access.

What is the Truth Social API rate limit?

Every API response carried x-ratelimit-limit: 300 and an x-ratelimit-reset pointing to the next five-minute mark, and each of our three exits saw remaining: 299, so the counter is kept per client address. That is 300 requests per five-minute window per address, or about 86,400 profile lookups per address per day.

Does the exit country change what Truth Social returns?

Not at the API: the accounts/lookup response was 1,440 bytes with identical headers from the United States, Germany and the United Kingdom. It changes the page: the rendered profile hydrated only from the US exit (400 words), while the German and British rendered passes returned a 44-word page with no profile in it.

How many posts does one Truth Social API call return?

Sixteen, in our measurement. A statuses request with limit=1 returned 16 statuses in 105,121 bytes in 1.7 seconds, each with text, media, card, replies, reblogs, favourites, upvotes and downvotes counts. Budget one page of posts per call, which at $0.80/GB is about $0.000084 per call.

Is scraping Truth Social allowed by its terms?

Not systematically, and not without written permission. Section 4(6) of the Terms of Service has users represent they will not access the service through automated or non-human means, and Section 7.1 prohibits systematically retrieving data to compile a collection or database without written permission. Keep reads to a known list of public accounts and obtain permission for anything systematic.

Read Truth Social for a millionth of a cent per account

Residential exits from $0.80/GB return the full 1,440-byte account record from any country, and every account gets $2 of free API usage per month. Skip the browser: 651 times the bytes, one country, a worse answer.

Related reading

Social proxiesPlurk Proxies: 118 Words Without a Browser

One public Plurk profile measured through residential exits in Taiwan, Japan and the United States on 28 September 2026. Over plain HTTP it returns 118 words in 32,781 bytes from Taiwan and the US, with the profile header, the description and the counters in the HTML; rendering adds 78 words for 765,843 bytes. From Japan the same page is 103 words plain and 137 rendered, because the interface follows the exit. A single plurk page is server-rendered at 17,858 bytes. The API needs a signed OAuth request, even for public profiles. On Plurk the setting is plain HTTP, a Taiwanese exit, and an app key for timelines.

Read →
Social proxiesTriller Proxies: 0 Words, Domain for Sale

Triller measured through residential exits in the United States, Germany and Brazil on 28 September 2026. The profile URL returns 114 bytes and 0 words over plain HTTP, a script that redirects to a listing where the domain is for sale; rendered, the sale notice arrives in the exit country's language, 92 words in English or Portuguese and 161 in German. The app's online services stopped in 2026. There are no Triller profiles to read through a proxy, and this page says so with the numbers, then shows where the archived pages are: the Wayback Machine collector returns 10 snapshots in 7.3 seconds.

Read →
Social proxiesVero Proxies: 2,393 Words From 3 Countries

One public Vero profile measured through residential exits in the United States, Germany and the United Kingdom on 28 September 2026. Over plain HTTP it returns 2,393 words in 265,121 bytes from all three countries, identical; rendered, 2,421 words for 331,650 bytes. Every response carries a meta robots tag of noindex, noimageindex, noarchive. There is no public API and no oEmbed endpoint. On Vero the setting is plain HTTP through any residential exit, and the honest line is that the platform publishes profiles to the open web while asking that they not be indexed or archived.

Read →