Truth Social Scraper & Monitor - New, Edited, Deleted Posts avatar

Truth Social Scraper & Monitor - New, Edited, Deleted Posts

Pricing

from $2.80 / 1,000 post returneds

Go to Apify Store
Truth Social Scraper & Monitor - New, Edited, Deleted Posts

Truth Social Scraper & Monitor - New, Edited, Deleted Posts

For trading alerts, newsrooms and bots that poll a Truth Social account such as @realDonaldTrump every few minutes: only posts new since the last run, plus edits (with the text before) and deletions. Runs took 3.5-6.2 s on 2026-09-24. No login; unreadable runs are free. JSON, CSV, Excel.

Pricing

from $2.80 / 1,000 post returneds

Rating

0.0

(0)

Developer

NeverEmpty

NeverEmpty

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Truth Social Posts Monitor - New, Edited & Deleted Posts

Watch one Truth Social account and get only what changed since your last run: new posts (Truths and ReTruths), posts that were edited, and posts that were deleted. Built for alert bots, trading and news-monitoring pipelines, and researchers that poll an account such as @realDonaldTrump every few minutes and do not want to receive, store and pay for the same posts again.

  • One account per run, a few seconds. Production runs on 2026-09-24 took 3.5-6.2 s of run time at 256 MB.
  • Only new posts. The Actor remembers what it already returned (in a named key-value store), so a scheduled run with nothing new returns one free row that says "no new post".
  • Edits and deletions. It also re-checks the account's 20 newest posts (the first page Truth Social lists) against what it saw before: an edited post comes back with changeType: "edited" and the text before the edit; a deleted post comes back with changeType: "deleted" and the last text seen. A post is only called deleted when Truth Social answers HTTP 404 for that post; if Truth Social does not answer, it is checked again on the next run instead of being guessed.
  • No charge when Truth Social cannot be read. If every attempt is refused, the run ends with a free row that says so and exits with an error; no start fee is charged.
  • Clean JSON. Plain text with working links (not HTML fragments), plus the original HTML, media URLs, ReTruth and quote details, hashtags, mentions and counts.

Unofficial. Uses Truth Social's public, logged-out web API and returns only public posts. No login, no cookies, no account needed.

What you get

One row per change. Example (production run, 2026-09-24):

{
"status": "ok",
"changeType": "new",
"username": "realDonaldTrump",
"accountId": "107780257626128497",
"postId": "117320581360547091",
"postUrl": "https://truthsocial.com/@realDonaldTrump/117320581360547091",
"createdAt": "2026-09-23T13:26:43.671Z",
"editedAt": null,
"text": "Victor Davis Hanson on Canada — A MUST SEE! President DONALD J. TRUMP",
"isRepost": false,
"mediaCount": 1,
"repliesCount": 685,
"repostsCount": 2133,
"likesCount": 6361,
"minutesAfterPosted": 163,
"previousText": null,
"isFirstCheck": true,
"checkedAt": "2026-09-23T16:09:32.430Z"
}
ColumnMeaning
statusok for a post row. Other values are free rows that say why nothing was returned (below).
changeTypenew, edited or deleted
username, accountIdThe watched account
postId, postUrlThe post (for a ReTruth, the ReTruth itself)
createdAt, editedAtISO times from Truth Social. editedAt is null for posts never edited
textPlain text of the post with paragraphs as line breaks and full link URLs. Null for a post with only media
contentHtmlThe post exactly as Truth Social sends it (HTML)
language, sensitiveAs Truth Social reports them
isReply, inReplyToPostIdReplies (only when onlyReplies is on)
isRepost, repostOfPostId, repostOfUsername, repostOfUrl, repostOfTextReTruth details: the original post, its author and text
quoteOfPostIdThe quoted post, if any
links, cardUrl, cardTitleLink URLs in the post and the link preview
media, mediaCountImages and videos: type, url, previewUrl
hashtags, mentionsTag names and mentioned accounts
repliesCount, repostsCount, likesCountCounts at the time of the check (null if Truth Social did not send one)
minutesAfterPostedMinutes between the post and this check - how fresh the alert is
previousTextFor edited: the text before the edit. For deleted: the last text seen
isFirstCheckTrue for rows returned on the first run of a watch
noteFree rows only: why nothing (or not everything) was returned
checkedAtTime of the check

Free rows (not charged)

statusWhen
no-new-postsNothing new, edited or deleted since the last run
watch-startedFirst run with maxPostsFirstRun 0: the account is now watched
not-foundTruth Social has no account with this username (HTTP 404). No start fee
blockedTruth Social refused every attempt, also from other IP addresses. No start fee; the run exits with an error so your schedule or webhook sees it
unreadableTruth Social's answer could not be read, or more than 200 posts arrived since the last run
bad-inputThe input could not be used; nothing was requested
budget-reachedThe run hit the maximum total charge you set; the rows not returned are not remembered, so the next run returns them

Input

FieldTypeDefaultDescription
usernamestringrealDonaldTrumpOne account: realDonaldTrump, @realDonaldTrump or https://truthsocial.com/@realDonaldTrump
maxPostsFirstRuninteger 0-10010On the first run of a watch, return this many newest posts and only remember the rest. 0 = start watching from now
onlyRepliesbooleanfalseWatch the account's replies instead of its posts. Truth Social lists replies separately from the profile's Truths
includeRepostsbooleantrueAlso return ReTruths
trackEditsAndDeletionsbooleantrueAlso return edited and deleted rows for the account's recent posts
watchNamestring(none)Keeps separate memories for two schedules watching the same account for different purposes
resetMonitoringStatebooleanfalseForget this watch's memory at the start of the run (the run becomes a first check). Turn it off for scheduled runs

Example:

{ "username": "realDonaldTrump", "maxPostsFirstRun": 5 }

How to use it for monitoring

  1. Run it once with your account and maxPostsFirstRun (for example 5) to see the latest posts.
  2. Create a Schedule (every 5, 15 or 60 minutes) with the same input.
  3. Connect a webhook or an integration (Slack, email, Zapier, Make, Google Sheets) to the dataset. Every run returns only the changes; runs with no change return one free no-new-posts row, so filter on status = "ok".

To watch several accounts, create one schedule (or task) per account. Each run stays small and fast, and each account keeps its own memory.

Pricing

Pay per event:

  • Run start - charged once per run, only when the account's post list was actually read. Not charged when the username does not exist, when Truth Social refuses the request, or when the run's maximum total charge has no room for the start fee plus one post row (then nothing is requested at all).
  • Post returned - one per new, edited or deleted row. Free rows are never charged.

A scheduled check that finds nothing costs one run start. The exact prices are shown on the Pricing tab.

Measured in production (2026-09-24, build 0.1)

RunInputResultRun time
First check{} (realDonaldTrump), maxPostsFirstRun 55 new posts6.2 s
Second checksame1 free no-new-posts row5.3 s
Unknown userzq7neverempty_nope91 free not-found row3.5 s
Another account@DevinNunes, 8 posts8 new posts (ReTruths included)5.8 s
RepliesDevinNunes profile URL, onlyReplies3 replies3.5 s

Truth Social refuses most requests from cloud servers, so the Actor sends each request through Apify's US residential proxy and, if a request is refused, asks again from another IP address (up to 6 times per request). It never solves check pages or CAPTCHAs.

Limits

  • One account per run. Truth Social returns 20 posts per page; a later run reads back up to 200 new posts since the previous run and says so in a free row if more arrived.
  • Edits and deletions are only seen among the account's 20 newest posts at the time of each run; an older post that is edited or deleted is not reported. At most 5 possibly deleted posts are confirmed per run (the rest on the next run).
  • If Truth Social suddenly returns an empty list for an account that had posts (for example a suspended account), nothing is reported as deleted; a free row says so.
  • If a later page of posts cannot be read in a run with more than 20 new posts, that run returns nothing, charges nothing and exits with an error, so no new post is skipped; the next run returns them all.
  • Two overlapping schedules for the same account and watchName can overwrite each other's memory; use different watchNames.
  • Counts (likesCount etc.) are a snapshot at the time of the check; the Actor does not return a post again only because its counts changed.
  • Posts that Truth Social does not show to logged-out visitors are not returned.

Support

Found a problem or need a field? Open an issue in the Issues tab of this Actor. Include the run ID and the input you used.