Truth Social Scraper - Posts, Profiles & Engagement avatar

Truth Social Scraper - Posts, Profiles & Engagement

Pricing

from $1.50 / 1,000 posts

Go to Apify Store
Truth Social Scraper - Posts, Profiles & Engagement

Truth Social Scraper - Posts, Profiles & Engagement

Scrape Truth Social posts from any public profile or post link - text, date, replies, ReTruths, likes, media, links, quotes and author follower counts.

Pricing

from $1.50 / 1,000 posts

Rating

0.0

(0)

Developer

Seemu Scraping

Seemu Scraping

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Scrape Truth Social posts from any public profile or post link: the full text, when it was posted, reply, ReTruth and like counts, images and videos, link previews, quoted and ReTruthed posts, and the author's follower count and verification status. No login and no Truth Social account needed.

Enter realDonaldTrump, press Start, and you get the latest posts as clean rows, ready to export to JSON, CSV, Excel or Google Sheets.

What you get

One row per post:

  • postId, url, text (clean plain text with the HTML stripped), createdAt, editedAt, language
  • repliesCount, reblogsCount (ReTruths), favouritesCount (likes)
  • isReply, inReplyToId, isReblog, isQuote, sensitive, spoilerText
  • hashtags and mentions
  • mediaUrls plus media (type, url, previewUrl, durationSeconds), with direct image and MP4 video links
  • linkUrl, linkTitle, linkDescription, linkImage: the link preview card
  • quotedPost / rebloggedPost: the embedded post (postId, url, text, createdAt, authorUsername, authorDisplayName, mediaUrls)
  • Author profile on every row: authorUsername, authorDisplayName, authorFollowersCount, authorFollowingCount, authorPostsCount, authorVerified, authorBio, authorWebsite, authorAvatarUrl, authorProfileUrl, authorCreatedAt
  • inputSource: the username or post link that produced the row

Use cases

  • Political monitoring and journalism: track every post from politicians, officials and campaigns as it happens
  • Market-moving posts: watch for posts on tariffs, companies or policy that move stocks, crypto and commodities
  • Media and sentiment research: build datasets of posts and engagement for analysis or reporting
  • Archiving: keep a timestamped record of posts, including edits, media and quoted posts
  • Engagement analytics: compare replies, ReTruths and likes across accounts and over time

How to use

  1. Enter one or more Usernames (with or without @, or a full profile link like https://truthsocial.com/@WhiteHouse).
  2. Optionally add Post links to scrape individual posts.
  3. Set Max posts per username (default 50; 0 for everything the profile has).
  4. Optionally set Only posts newer than to a date (2026-09-01) or a period (7 days, 12 hours).
  5. Tick Exclude replies or Exclude ReTruths if you only want original posts.
  6. Run the actor. Posts appear in the Dataset tab, newest first.

Each run returns up to Max posts per username. To continue where a run stopped:

After the run finishes, open the Key-value store tab → copy the NEXT_PAGE_ID value → paste it into Page ID on your next run. If NEXT_PAGE_ID is null, you've fetched everything.

With one username, NEXT_PAGE_ID is a plain post ID. With several usernames it looks like whitehouse=117351514139046636,devinnunes=117241172895514101, and the next run continues only the usernames listed there. Profiles that were fully fetched are left out.

Output example

{
"postId": "117356339820644146",
"url": "https://truthsocial.com/@realDonaldTrump/posts/117356339820644146",
"text": "Iran Has Lost Control of the Strait: https://x.com/BurggrabenH/status/2104361288000221497",
"createdAt": "2026-09-29T21:00:34.470Z",
"editedAt": null,
"language": "en",
"repliesCount": 682,
"reblogsCount": 2447,
"favouritesCount": 9376,
"isReply": false,
"inReplyToId": null,
"isReblog": false,
"isQuote": false,
"sensitive": false,
"spoilerText": null,
"hashtags": [],
"mentions": [],
"mediaUrls": [],
"media": [],
"linkUrl": "https://x.com/BurggrabenH/status/2104361288000221497",
"linkTitle": "Alexander Stahel (@BurggrabenH) on X",
"linkDescription": "Iran Has Lost Control of The Strait",
"linkImage": "https://static-assets-1.truthsocial.com/.../1dab74161a8ea166.jpg",
"quotedPost": null,
"rebloggedPost": null,
"authorId": "107780257626128497",
"authorUsername": "realDonaldTrump",
"authorDisplayName": "Donald J. Trump",
"authorProfileUrl": "https://truthsocial.com/@realDonaldTrump",
"authorAvatarUrl": "https://static-assets-1.truthsocial.com/.../454286ac07a6f6e6.jpeg",
"authorBio": "",
"authorWebsite": "www.DonaldJTrump.com",
"authorFollowersCount": 13086793,
"authorFollowingCount": 69,
"authorPostsCount": 36875,
"authorVerified": true,
"authorCreatedAt": "2022-02-11T16:16:57.705Z",
"inputSource": "@realdonaldtrump",
"scrapedAt": "2026-09-30T12:13:10.802Z"
}

Posts that are only an image or video have an empty text and their files in mediaUrls.

Pricing

You pay per post returned. Profiles that can't be found and posts filtered out by your settings are never charged.

Tips

  • Monitoring on a schedule: set Only posts newer than to 1 day and schedule the actor daily (or 1 hour hourly) to collect just the new posts.
  • Full history: set Max posts per username to 0. Very long histories may need several runs; use NEXT_PAGE_ID to pick up where each run stopped.
  • The link preview card (linkUrl) is often the easiest way to see what article or post someone shared.

FAQ

Do I need a Truth Social account? No. The actor only reads publicly visible posts and profiles.

Can I get the replies under a post, trending posts or keyword search results? Not currently. Truth Social only shows these to logged-in users. The actor covers profile timelines and individual posts.

Why are some accounts missing? Accounts that don't exist, or that Truth Social hides from logged-out visitors, are skipped with a warning in the log. The run still succeeds for the other usernames.