Truth Social Scraper (Cheap)
Pricing
from $3.99 / 1,000 results
Truth Social Scraper (Cheap)
The Truth Social scraper is a no-code data extraction tool for truthsocial.com. Point it at any public Truth Social profile and it returns clean, structured JSON: posts, replies, retruths, media attachments, follower counts, and per-post engagement numbers
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
Data API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Truth Social Posts Scraper
Copying posts off Truth Social by hand gets old fast, and the timeline loads through an API that trips up most generic scrapers. This tool handles that part for you. Give it a handle and it returns the account's posts as clean rows: the text, when it was posted, the like, retruth, and reply counts, a direct link, and who wrote it. Run it on a single account or a long list, then export to a spreadsheet or straight into your database.

What you get
Every post comes back as one tidy row with the same shape each time, so your columns line up when you load the results into a sheet or database. Each row carries:
- Post content —
postText(clean plain text) andhtmlBody(the original markup, which you can drop if you don't need it) - Engagement —
likeCount,retruthCount, andreplyCount - Post details —
statusId,publishedAt, andpostLink - Author —
accountHandleandaccountName
Quick start
- Click Try for free and open the input form.
- Type one or more Truth Social handles into Account handles (with or without the leading @).
- Set Posts per account and flip on any filters you want — media only, drop replies, pinned only, and so on.
- Press Start, then export the results as JSON, CSV, Excel, or XML once it finishes.

Use cases
- Media monitoring — keep tabs on what a public figure or brand is posting without checking the app all day
- Political and social research — build a clean dataset of public statements with timestamps and engagement numbers
- Journalism and fact-checking — capture exact post text and IDs so you have a record even if a post is later removed
- Engagement analysis — compare likes, retruths, and replies across posts to see what lands with an audience
- Archiving — back up an account's public posts and pick up later from a saved post ID
Input
| Field | Type | Required | Description |
|---|---|---|---|
accounts | array of strings | Yes | Truth Social handles to collect posts for; the leading @ is optional. Each handle is processed on its own. |
postsPerAccount | integer | No | Upper limit on posts pulled per handle. Default 30; raise it for deep backfills. |
mediaOnly | boolean | No | Keep only posts with an image, video, or GIF attachment. Default false. |
repliesOnly | boolean | No | Keep only posts that reply to another post. Default false. |
skipReplies | boolean | No | Leave replies out of the results. Default true. |
skipRetruths | boolean | No | Leave retruths (reshared posts) out of the results. Default false. |
pinnedOnly | boolean | No | Grab only the handle's pinned posts. Default false. |
dropHtml | boolean | No | Discard the raw HTML body and keep only plain text. Default false. |
resumeFromId | string | No | Begin collecting from this post ID onward, useful for resuming an earlier run. |
Example input
{"accounts": ["mariabartiromo"],"postsPerAccount": 30,"mediaOnly": false,"repliesOnly": false,"skipReplies": true,"skipRetruths": false,"pinnedOnly": false,"dropHtml": false,"resumeFromId": ""}
Output
Each post becomes one row in the dataset, and the fields keep the same names and types on every run, so your output stays predictable.
Example output
{"statusId": "116636418903333996","publishedAt": "2026-05-25T17:35:13.050Z","htmlBody": "<p>Big news coming this week. Stay tuned!</p>","postText": "Big news coming this week. Stay tuned!","retruthCount": 2464,"likeCount": 8283,"replyCount": 1024,"postLink": "https://truthsocial.com/@mariabartiromo/116636418903333996","accountHandle": "mariabartiromo","accountName": "Maria Bartiromo"}
Output fields
| Field | Type | Description |
|---|---|---|
statusId | string | Unique identifier of the post |
publishedAt | string | Timestamp showing when the post went live |
htmlBody | string | Original post body with its HTML markup intact |
postText | string | Plain-text version of the post with markup stripped out |
retruthCount | integer | How many times the post was retruthed (reshared) |
likeCount | integer | How many likes (favourites) the post received |
replyCount | integer | How many replies the post drew |
postLink | string | Canonical web address of the post |
accountHandle | string | Handle of the account that authored the post |
accountName | string | Display name shown for the author |
Tips for best results
- Start small. Run a single handle with
postsPerAccountset low before you queue up a big batch, so you can confirm the output matches your pipeline. - Pick one reply filter.
skipRepliesandrepliesOnlypull in opposite directions, so set the one that matches what you actually want and leave the other off. - Skip the HTML if you don't need it. Turn on
dropHtmlto keep onlypostTextwhen you're loading into a database and don't want to escape markup. - Resume long collections. Save the last
statusIdyou saw and pass it toresumeFromIdnext time so you only fetch newer posts. - Backfill in stages. For accounts with a long history, raise
postsPerAccountgradually rather than asking for everything in one run.
How can I use Truth Social post data?
How can I use the Truth Social Posts Scraper to monitor an account?
Add the handles you care about to accounts, set a modest postsPerAccount, and run it on a schedule. Each run returns the latest posts with text, publish time, and engagement counts, so you have a running log of what an account is saying without opening the app.
How can I export Truth Social posts to a spreadsheet?
Run the scraper, then use the export button to download JSON, CSV, or Excel. Every post is one row with the same fields — postText, likeCount, retruthCount, replyCount, publishedAt, and the rest — so it drops straight into a sheet or BI tool.
How can I track engagement on Truth Social posts?
The output includes likeCount, retruthCount, and replyCount for each post. Pull a batch of recent posts and sort or chart by those columns to see which content gets the most reach, and use postLink to jump back to any post.
How can I archive Truth Social posts for research?
Collect the posts you need, save each statusId, and pass the most recent one to resumeFromId on the next run. That way you keep a clean, growing archive of public posts with timestamps and links, without re-fetching what you already have.
Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses or private contact information. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
Support
Questions, feature requests, or a field you'd like added? Reach out at data.apify@proton.me and we'll get back to you.