Truth Social Scraper - Posts, Profiles, Monitor (no login)
Pricing
from $2.00 / 1,000 result items
Truth Social Scraper - Posts, Profiles, Monitor (no login)
Truth social scraper for public accounts: one flat row per post with text, media, replies, reposts and likes, plus an optional profile row with followers and post counts. No login, no API token. Monitor mode alerts on new posts and engagement changes. $2 per 1,000 rows, empty runs cost nothing.
Pricing
from $2.00 / 1,000 result items
Rating
0.0
(0)
Developer
Viktor Dubnytskiy
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape public Truth Social accounts and get one flat row per post: text, media, reply/repost/like counters, timestamps and the permalink. Add a profile row with followers and post counts when you need the account card too. No login, no cookies, no API token - the actor reads the same public JSON the site serves to a logged-out visitor.
What you get
One row per post: id, url, postId, accountId, username, displayName, text, contentHtml, createdAt, repliesCount, repostsCount, likesCount, mediaUrls, mediaTypes, isReply, isRepost, repostOfPostId, repostOfUsername, language, query, source, scrapedAt.
With Add a profile row on, each account also returns one kind: "account" row: followersCount, followingCount, statusesCount, bio, bioHtml, verified, avatarUrl, headerUrl, website, location, accountCreatedAt, lastStatusAt.
text is the post with the HTML stripped; contentHtml keeps the original markup so links and mentions survive.
Example output
Real rows from the example dataset (accounts: ["realDonaldTrump", "TeamTrump"]):
| Field | Example value |
|---|---|
url | https://truthsocial.com/@realDonaldTrump/117257273512193853 |
text | Such a great golfer. Too bad I have very little time to play!!! |
createdAt | 2026-09-12T09:06:42.567Z |
likesCount / repostsCount / repliesCount | 13212 / 2475 / 2580 |
mediaTypes / mediaUrls | ["video"] / https://static-assets-1.truthsocial.com/.../b53a5f0680834206.mp4 |
username / displayName | realDonaldTrump / Donald J. Trump |
| account row | followersCount: 13048752, statusesCount: 36561, verified: true, website: www.DonaldJTrump.com |
Use cases
- Track what a public figure or campaign account posts and how fast each post gains likes and ReTruths.
- Build a dataset of posts for media monitoring, research or sentiment work, with media URLs attached.
- Watch a set of accounts in monitor mode and get a webhook or Telegram alert on every new post.
Input
| Field | Meaning | Default |
|---|---|---|
accounts | Handles, @handles or profile URLs | ["realDonaldTrump"] |
maxPostsPerAccount | Posts per account, newest first (1-5000) | 100 |
includeReplies | Keep the account's replies | false |
includeReposts | Keep reposts (ReTruths) | false |
sinceDate | Stop at the first post older than this date | empty |
includeAccountRow | Add one profile row per account | false |
maxItems | Stop after this many rows | 100 |
mode | scrape or monitor (only new/changed since last run) | scrape |
monitorKey, webhookUrl, telegramBotToken, telegramChatId | Monitor-mode state key and alert targets | empty |
Pricing
| Event | Price |
|---|---|
| result | $0.002 per row ($2 per 1,000) |
| monitor-check | $0.006 per monitor run |
| change | $0.002 per new or changed post |
You are charged only for rows actually pushed: a run that finds nothing charges no result events. Truth Social answers only through Apify's Web Unblocker proxy, whose traffic is billed by Apify on top of these events.
Monitor mode
Set mode: "monitor" on a saved task and each run returns only posts that are new or whose like, repost or reply counts changed since the previous run. A webhook URL or a Telegram bot token plus chat id turns that into an alert.
Limits
- Keyword search (
/api/v2/search), trending posts (/api/v1/trends) and hashtag timelines need a logged-in account: checked from the platform on 2026-09-12, the first two answer401 USER_UNAUTHENTICATEDand the hashtag timeline answers an empty list to every logged-out request. This actor therefore scrapes accounts, not keywords. - Public accounts only. A locked account, a deleted account or an unknown handle is skipped and returns no rows.
- Truth Social answers only through Apify's Web Unblocker, and every page of 20 statuses is one billed request.
includeReplies: falseandincludeReposts: falsedrop rows after fetching them, so a heavily filtered account reads more pages than the rows it returns; each account stops at 300 pages (6,000 statuses scanned) whatever the filters say. - Counters are the values at scrape time; a fresh post's counts move for hours afterwards.
- No follower lists, no likers, no repliers - the actor returns the account's own public posts and its public profile card.
FAQ
Do I need a Truth Social account, cookies or a bearer token? No. There is no credential field at all; every request is a logged-out public API call.
Why is text empty on some rows? Those posts are media-only (a picture or video with no caption). mediaUrls and mediaTypes still carry the attachment.
What does a repost row look like? With includeReposts: true a ReTruth keeps the reposting account's row identity (postId, url, username) and carries the original post's text, media and counters, plus repostOfUsername and repostOfPostId for attribution.
What happens when there are no results? No rows are pushed and no result events are charged. The RUN_SUMMARY record in the run's key-value store carries emptyReason, which separates "the handle does not exist" from "the site answered with a wall".
Changelog
- 0.1: initial release - accounts and posts through the public JSON API, profile rows, reply/repost/date filters, monitor mode; auth walls are reported as blocks instead of empty datasets.
If this actor saved you time, a short review on its Store page genuinely helps other people find it. Found a bug or need a field that is missing? Open a ticket on the Issues tab.