Skip to content

Truth Social Scraper

Try for free

Scrape public Truth Social posts from a username or a post URL, including text, media, engagement counts, and profile fields.

🇺🇸 Truth Social Scraper

Pull public Truth Social posts from any account, or from a list of post URLs, into a clean dataset: text, media links, replies, reposts, likes, and the author's public profile. No Truth Social account, cookies, or login. A 10-post run finishes in about 10 seconds and costs about 4 cents.

✨ Why use Truth Social Scraper?

  • ⚡ Fast — reads the public post JSON directly, no browser. Ten posts in about 10 seconds.
  • 🔓 No login — no Truth Social account, cookies, or session needed.
  • 💸 Cheap — $3.00 per 1,000 posts, with no start fee or finish fee.
  • 🧾 Complete rows — every post field the site returns, plus the author's profile (followers, bio, avatar, verified badge).
  • 🔁 Incremental runs — "Continue from last post" saves only posts newer than your previous run.
  • 🛡️ Works out of the box — residential proxy is preset, so the site's datacenter block does not get in the way.

🎯 Use cases

  • 📰 Newsrooms and journalists — archive every post from a public figure the moment it appears.
  • 📈 Market and policy research — track posts that move markets, sectors, or policy debates.
  • 🔔 Monitoring — schedule a run every few minutes with "Continue from last post" and get only the new posts.
  • 🎓 Academic research — build datasets of political communication with engagement counts and timestamps.
  • 🎞️ Media collection — collect image and video links (with previews and dimensions) for each post.

🚀 How to use

  1. Enter a username (for example realDonaldTrump), an @handle, or a profile URL. Or paste post URLs into Post IDs or URLs.
  2. Set Maximum posts (10 by default).
  3. Optionally turn on a filter: Only replies or Only posts with media.
  4. Click Start and wait a few seconds.
  5. Open the Output tab, or export the dataset to JSON, CSV, Excel, or HTML. You can also start runs and read results through the API.

📥 Input

FieldWhat it doesDefault
usernameUsername, @username, or profile URL. A post URL here fetches that post.realDonaldTrump
maxPostsHow many timeline posts to save.10
onlyRepliesSave replies only. Off keeps original posts and skips replies.false
onlyMediaSave only posts with a photo, video, or other attachment.false
cleanContentStrip HTML from the post text. Off keeps the original HTML.true
useLastPostIdSave only posts newer than the newest post seen on a previous run for this username.false
startFromIdSave posts older than this post id (the id itself is not included).empty
singlePostIdSpecific post ids or truthsocial.com post URLs, instead of a timeline (long lists may hit the input size limit, so about 100 URLs per run).empty
proxyConfigurationProxy settings. Residential is preset.Residential

Ten recent posts from a profile:

{
  "username": "realDonaldTrump",
  "maxPosts": 10
}

Specific posts:

{
  "singlePostId": [
    "https://truthsocial.com/@realDonaldTrump/117437094956438218",
    "117437808637530181"
  ]
}

📤 Output

One row per public post. The table view shows the main columns; the full row keeps every field the site returns.

FieldDescription
idPost id
created_atPost time (ISO 8601, UTC)
urlLink to the post
contentPost text (plain text when cleanContent is on)
replies_count, reblogs_count, favourites_count, upvotes_countEngagement counts at the time of the run
media_attachmentsImages and videos: type, url, preview_url, dimensions, duration
mentions, tags, card, quote, pollMentioned accounts, hashtags, link preview, quoted post, poll
in_reply_to_id, in_reply_to_account_idSet when the post is a reply
accountAuthor: username, display_name, followers_count, following_count, statuses_count, verified, note, avatar, url, and more

Example row from a test run (trimmed):

{
  "id": "117437808637530181",
  "created_at": "2026-10-14T06:19:09.962Z",
  "url": "https://truthsocial.com/@realDonaldTrump/117437808637530181",
  "content": "Democrats are banking on voters forgetting how terrible they are: https://www.washingtonexaminer.com/in_focus/4752402/democrats-are-banking-on-voters-forgetting-how-terrible-they-are/",
  "replies_count": 106,
  "reblogs_count": 129,
  "favourites_count": 334,
  "language": "en",
  "visibility": "public",
  "media_attachments": [],
  "account": {
    "username": "realDonaldTrump",
    "display_name": "Donald J. Trump",
    "verified": true,
    "followers_count": 13112096,
    "following_count": 69,
    "statuses_count": 37194,
    "url": "https://truthsocial.com/@realDonaldTrump"
  }
}

💰 Pricing

You pay $0.003 per saved post, which is $3.00 per 1,000 posts. There is no start fee and no finish fee. Missing usernames and missing post ids are not charged.

Platform usage (compute and proxy traffic) is billed on top, and it is small: a 10-post run used about $0.001 in our tests at the default 256 MB (about 10 seconds, about 20 KB of residential traffic at $2 per GB, and a few log writes).

Worked examples:

  • 10 posts ≈ $0.03 + $0.001 usage ≈ $0.031
  • 100 posts ≈ $0.30 + about $0.003 usage ≈ $0.30
  • 1,000 posts ≈ $3.00 + a few cents of usage

❓ FAQ

Is it legal to scrape Truth Social? The actor collects only posts that are public without a login. Check the site's terms and the data-protection rules that apply to you, especially when you store personal data.

Do I need a Truth Social account or a proxy? No account. The residential proxy is preset; the site blocks datacenter addresses, so a datacenter choice is retried on residential automatically.

How many posts can I get? As many as the timeline has, up to Maximum posts, saved page by page. To pick up where a run left off, use Start from post ID with the oldest id from the previous run, or schedule runs with Continue from last post.

Why is content empty for some posts? Video-only posts and plain reposts often have no text. The media links are in media_attachments, and a repost's original post is in reblog.

What happens with a username that does not exist? The run finishes with an empty dataset and a clear status message, and nothing is charged.

Can I schedule it or call it from code? Yes. Use a schedule in the console, or start runs and read datasets through the API.

⚠️ Limits

  • Public posts only. Private accounts and login-only endpoints are not covered.
  • Truth Social returns 20 posts per page and rate-limits fast paging, so large runs rotate residential addresses and take a few minutes.
  • Reply-only mode reads the whole timeline to find replies, so an account that rarely replies takes longer.
  • Engagement counts are live and change between runs.
  • Comments under a post, followers lists, and search are not included.

Moving from another Truth Social scraper? A username plus maxPosts covers the same public timeline posts.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.