Truth Social Scraper - No Login, Profile + Post Data avatar

Truth Social Scraper - No Login, Profile + Post Data

Pricing

$2.50 / 1,000 profile or post scrapeds

Go to Apify Store
Truth Social Scraper - No Login, Profile + Post Data

Truth Social Scraper - No Login, Profile + Post Data

Scrape Truth Social profiles and posts via the official public API. No login, no cookies. Returns followers, bio, likes, reblogs, replies and media URLs. $0.0025 per profile or post scraped.

Pricing

$2.50 / 1,000 profile or post scrapeds

Rating

0.0

(0)

Developer

Gio

Gio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Categories

Share

Why use this scraper

Truth Social does not expose a public developer API, and most "social listening" tools skip it entirely because the platform sits behind Cloudflare and has no documented data feed. If you track political figures, brand mentions, campaign messaging or public sentiment, Truth Social is now a primary source you cannot ignore, but there is no clean way to pull profile stats or post history without building a scraper from scratch.

This Actor solves that problem directly. Give it one or more usernames and it returns full profile metadata (followers, following, bio, verification status, total post count) plus the account's recent posts, each with engagement numbers (likes, reblogs, replies) and any attached media. Or give it direct post URLs and get just those records. No login, no cookies, no browser automation, just clean structured JSON ready for a spreadsheet, a dashboard or a downstream analysis pipeline.

Overview

The Actor talks to Truth Social's own public JSON API (the same Mastodon-derived backend the truthsocial.com website itself calls), so there is no HTML parsing to break when the site redesigns its front end. It supports two independent modes: profile mode resolves a list of handles to account IDs, pulls their profile card, then paginates their public timeline up to the limit you set; post mode takes specific post URLs and returns each one's full record without touching the rest of the account's timeline.

Typical run for a handful of profiles with 40 posts each finishes in well under a minute. Cost is per record returned (one profile card counts as one record, one post counts as one record), so a run that asks for 5 profiles with 40 posts each costs for up to 205 scraped records, never more than what actually comes back.

Supported inputs

  • Profile mode (mode: "profile") — pass an array of handles (usernames without the @, e.g. realDonaldTrump). For each handle the Actor returns one profile record and up to maxPostsPerProfile recent post records (default 40, maximum 200 per profile per run).
  • Post mode (mode: "post") — pass an array of postUrls, full https://truthsocial.com/@user/<id> links. Each URL resolves to exactly one post record, regardless of maxPostsPerProfile.
  • Debug logging — optional debug boolean for verbose request/response logging when troubleshooting an input.

Only one mode runs per execution; mixing handles and postUrls in the same run is not supported, start two runs if you need both.

Use cases

  • Political and campaign monitoring — track a candidate's or official's posting cadence, engagement trend and messaging in near real time, without manually refreshing the timeline.
  • Brand and crisis monitoring — pull every post mentioning a brand, product or executive by monitoring the accounts most likely to post about you, and feed likes/reblogs/replies into an alerting threshold.
  • Media and newsroom research — journalists pulling a public figure's statement history for a story, with exact timestamps and direct post URLs for citation.
  • Academic and market research — researchers studying platform dynamics, follower growth or engagement patterns on Truth Social at scale across many accounts.
  • Competitive intelligence for alt-platform marketers — track how other brands or influencers who are active on Truth Social are performing, follower growth and post frequency included.

How it works

The Actor calls Truth Social's own public account and status endpoints directly, the same ones the website's browser code calls when you open a profile. For profile mode it first resolves the handle to an internal account ID, retrieves the account object, and then paginates the account's public post timeline until it hits maxPostsPerProfile or runs out of posts. For post mode it resolves each URL straight to its post ID and fetches that single record. Because this reads the platform's own JSON responses rather than parsing rendered HTML, the Actor keeps working through front-end redesigns and only needs an update if Truth Social itself changes its API response shape.

Input configuration

Profile mode, single account:

{
"mode": "profile",
"handles": ["realDonaldTrump"],
"maxPostsPerProfile": 40
}

Profile mode, multiple accounts, smaller batch:

{
"mode": "profile",
"handles": ["realDonaldTrump", "DevinNunes", "TeamTrump"],
"maxPostsPerProfile": 20
}

Post mode, specific posts:

{
"mode": "post",
"postUrls": [
"https://truthsocial.com/@realDonaldTrump/117408281179466427",
"https://truthsocial.com/@realDonaldTrump/117408959105269388"
]
}

Output sample

Real output from a live run (profile card, then two posts):

{
"kind": "profile",
"id": "107780257626128497",
"username": "realDonaldTrump",
"displayName": "Donald J. Trump",
"bio": "",
"avatar": "https://static-assets-1.truthsocial.com/.../454286ac07a6f6e6.jpeg",
"followers": 13101003,
"following": 69,
"postsCount": 37059,
"createdAt": "2022-02-11T16:16:57.705Z",
"verified": true,
"url": "https://truthsocial.com/@realDonaldTrump"
}
{
"kind": "post",
"id": "117408281179466427",
"url": "https://truthsocial.com/@realDonaldTrump/117408281179466427",
"username": "realDonaldTrump",
"displayName": "Donald J. Trump",
"content": "The Dumocrats are Scammers. These are the real FACTS!!! President DJT",
"createdAt": "2026-10-09T01:09:56.709Z",
"likes": 9337,
"reblogs": 3264,
"replies": 1138,
"mediaCount": 1,
"media": [{ "type": "image", "url": "https://static-assets-1.truthsocial.com/.../ec2f9c154a11c21e.jpg" }],
"language": "en",
"sensitive": false
}

Key output fields

FieldTypeDescription
kindstringprofile or post, tells you which record type the row is.
idstringAccount ID (profile rows) or post ID (post rows).
usernamestringAccount handle without @.
displayNamestringPublic display name.
biostringAccount bio text (profile rows).
followers / followingintegerFollower and following counts (profile rows).
postsCountintegerTotal posts by the account (profile rows).
verifiedbooleanWhether the account carries a verified badge (profile rows).
contentstringPost text, HTML stripped (post rows).
likes / reblogs / repliesintegerEngagement counts at scrape time (post rows).
mediaCount / mediainteger / arrayNumber of attachments and their type + URL (post rows).
createdAtstring (ISO date)Account creation date or post publish date.
urlstringDirect link to the profile or post.

Pricing

Pay-per-event pricing, no subscription:

EventPrice
Profile or post scraped$0.0025 per record

A run pulling 5 profiles with 40 posts each costs for at most 205 records ($0.51 total), and you only pay for records actually returned, never for empty attempts.

What makes this richer than the competition

Most Truth Social scrapers on the Apify Store only cover one mode. muhammetakkurtt/truth-social-scraper (143 users in the last 30 days) focuses on profile and post retrieval but requires separate actors for hashtag or comment data, splitting the workflow across multiple paid runs. automation-lab/truth-social-scraper (31 users in the last 30 days) covers similar ground but does not expose media attachment details (type and direct URL) in its output, which matters for anyone archiving or re-posting attached images and videos.

This Actor keeps both profile and post retrieval in a single, focused tool with full media detail (type, URL, count) included on every post row, plus the verified badge and exact creation date on every profile row, so you do not need a second call just to confirm an account's authenticity or media content.

Notes & limitations

  • Truth Social's API can rate-limit aggressive polling; keep batch sizes reasonable (a handful of handles per run) rather than hundreds at once.
  • maxPostsPerProfile only returns the account's most recent posts, it does not search historical posts beyond what the account's timeline currently exposes.
  • Private or suspended accounts return no data, this is a platform restriction, not a scraper limitation.
  • Reposts ("ReTruths") appear in the timeline but are not separated from original posts in this version, both come through as post rows.
  • Media URLs point to Truth Social's CDN and may expire or change if the platform migrates storage; download promptly if you need to archive attachments.

FAQ

Does this need a Truth Social account or login? No. It reads the platform's own public API, the same data anyone can see by visiting a public profile in a browser, logged out.

Can I track a private account? No, private accounts are not accessible through the public API, this applies to any scraper, not just this one.

How many posts can I pull per account? Up to 200 per account per run, controlled with maxPostsPerProfile. For continuous monitoring, schedule the Actor to run periodically and store only the new posts since the last run.

Can I get older posts than what shows up by default? The Actor paginates as far back as maxPostsPerProfile allows within the account's available timeline; it does not search or filter by date range in this version.

What happens if a handle does not exist or is misspelled? That handle is skipped and logged, the run continues for the remaining handles and still returns their results.

Can I mix profile and post mode in one run? No, pick one mode per run. Start a second run if you need both profile data and specific post lookups.

For AI Agents & LLM Apps

This Actor is MCP-compatible and works directly inside AI agent workflows.

Via Apify MCP Server (mcp.apify.com): add this Actor as a tool to any MCP-compatible client (Claude, Cursor, etc.) and call it by name, passing the same JSON input shown above. The agent receives the scraped records as a tool result it can reason over directly.

Via API (synchronous, for quick single calls from your own code):

curl "https://api.apify.com/v2/acts/YOUR_USERNAME~truth-social-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode": "profile", "handles": ["realDonaldTrump"], "maxPostsPerProfile": 20}'

This call blocks until the run finishes and returns the dataset items directly in the response, ideal for an LLM app that needs the data inline without managing a separate polling step.

Disclaimer

This Actor is an independent tool that reads publicly available data through Truth Social's own public API. It is not affiliated with, endorsed by or sponsored by Truth Social, Trump Media & Technology Group, or any related entity. "Truth Social" is a trademark of its respective owner, used here only to describe the platform this Actor reads data from.

SEO Keywords

truth social scraper, truth social api, scrape truth social posts, truth social profile scraper, truth social data extraction, trump truth social scraper