Truth Social Scraper
Pricing
from $1.60 / 1,000 post or profile rows
Truth Social Scraper
Scrape public Truth Social profiles and posts (truths) with exact like, repost and reply counts, media, link cards, reposts, quotes and author data. No login. Export to CSV, JSON, Excel or XML.
Pricing
from $1.60 / 1,000 post or profile rows
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share

π£ Truth Social Scraper
π Export any public Truth Social profile and its posts in seconds. Paste a username, get 47 fields per post back: full text, exact like, repost and reply counts, every image and video with a direct URL, link preview cards, who reposted what and when, quotes, mentions, hashtags and the author's follower count. No login, no cookie.
Truth Social's web pages show a scrolling feed and rounded-off numbers you cannot copy. This Actor reads the JSON that Truth Social itself serves to every visitor of a public profile and returns it as flat rows, ready for a spreadsheet, a database or a data pipeline. Point it at @realDonaldTrump, at any other public account, or at a single post URL.
Every run returns 47 fields per post or 23 fields per profile, depending on the Result Type you pick. A five-post run in the cloud finishes in about 9 seconds, and each timeline page brings 20 posts in one request, so a thousand posts is fifty requests. Engagement counts come back as exact integers (29,005 likes, not "29K"), reposts carry the original author and the original counts, and two date filters let you cut a timeline to an exact window without paying for the posts outside it.
| π― Target Audience | π‘ Primary Use Cases |
|---|---|
| Newsrooms and political reporters | Archive every post from an official account with exact timestamps and engagement, minutes after it goes up. |
| Researchers and data scientists | Build post-level datasets with text, media, links, reposts and counts for content or network analysis. |
| Communications and PR teams | Monitor what an account, a rival or a coalition of accounts is saying and which posts travel. |
| Finance and market analysts | Track statements from market-moving accounts on a schedule and feed them into alerts. |
π What the Truth Social Scraper does
π‘ Why it matters: a Truth Social post on screen is a paragraph and three abbreviated numbers. What you need to act is structured data: the exact text, the precise second it was posted, how many people liked, reposted and replied, the images and videos behind it, the article it links to, and whether it was the account's own words or a repost of someone else. This Actor puts all of that on one row per post, or one row per profile.
- π Post rows. Full plain text with paragraph breaks preserved, canonical URL, post ID, type (Post, Repost, Reply or Quote), exact timestamp, language, visibility, sensitivity flag, content warning, pinned flag and edit time.
- β€οΈ Exact engagement. Like, repost and reply counts as integers on every post, including reposted originals.
- π Media with direct URLs. Every image and video with its full-size URL, preview URL, dimensions, video duration and alt text, plus a
mediaCountcolumn to filter on. - π Link preview cards. The URL, title, description, image and provider of any article the post links to.
- π Reposts done properly. A repost row carries the original author, the original text, media and counts, and separately who reposted it, when, and the repost's own URL and ID. Switch reposts off to keep only the account's own words.
- π¬ Quotes, replies, mentions, hashtags and polls. Quoted post ID, URL, text and author; the post and account a reply answers; every mentioned account with its profile URL; hashtags as a list; poll options and vote counts when a post has one.
- π€ The author on every row. Username, display name, ID, profile URL, avatar, verification badge and exact follower, following and post counts, so a multi-account run needs no second lookup.
- πͺͺ Profile rows. Display name, username, ID, bio as plain text, verification, premium, locked, bot and group flags, follower, following and post counts, last post date, creation date, website, location, header image, custom profile fields and whether the account is visible to logged-out visitors.
- π
Date filters that save money.
postedAfterstops the crawl once older posts are reached.postedBeforestarts the crawl at that date directly, using Truth Social's own ID ordering, so you never pay for the posts in between. - πΌ Media-only mode.
onlyMediaasks Truth Social for posts with attachments only, applied on the server side at no extra cost. - π Profile URLs, usernames or post links. Mix
https://truthsocial.com/@realDonaldTrump, bareDevinNunesand single post URLs such astruthsocial.com/@realDonaldTrump/posts/117198856483138040in one run. - π¦ One fixed schema per Result Type. Columns never move, so your spreadsheet or database mapping never breaks.
π¬ Full Demo (π§ Coming soon)
A short walkthrough video is in production and will land here.
π Output
Pick a Result Type and each row takes one of two shapes.
Post rows (resultType: "post")
| Field | Type | Description |
|---|---|---|
πΌ imageUrl | string | First media preview, else the link card image, else the author's avatar. |
π text | string | Post text as plain text with paragraph breaks. |
π url | string | Canonical post URL. |
π id | string | Truth Social post ID. |
π postType | string | Post, Repost, Reply or Quote. |
π
createdAt | string | Exact posting time, ISO 8601. |
βοΈ editedAt | string | When the post was last edited, or N/A. |
π language | string | Language code Truth Social detected. |
π visibility | string | public, or group for posts made inside a Truth Social group. |
β οΈ isSensitive | string | Yes when the post is marked sensitive. |
β οΈ contentWarning | string | Content warning text, or N/A. |
π isPinned | string | Yes when pinned to the profile. |
β€οΈ likesCount | number | Exact like count. |
π repostsCount | number | Exact repost (ReTruth) count. |
π¬ repliesCount | number | Exact reply count. |
π mediaCount | number | Number of images and videos attached. |
π€ authorUsername | string | Who wrote the post. On a repost, the original author. |
π authorDisplayName | string | Author's display name. |
π authorId | string | Author's account ID. |
π authorUrl | string | Author's profile URL. |
πΌ authorAvatarUrl | string | Author's avatar. |
β authorIsVerified | string | Yes when the author carries the verification badge. |
π₯ authorFollowersCount | number | Author's exact follower count. |
π₯ authorFollowingCount | number | Author's exact following count. |
π’ authorPostsCount | number | Author's total post count. |
π repostedByUsername | string | On a repost, the account that reposted it. |
π repostedByDisplayName | string | On a repost, that account's display name. |
π repostUrl | string | On a repost, the URL of the repost itself. |
π repostId | string | On a repost, the repost's own ID. |
π repostedAt | string | On a repost, when it was reposted. |
β©οΈ inReplyToPostId | string | On a reply, the post it answers. |
β©οΈ inReplyToAccountId | string | On a reply, the account it answers. |
π¬ quotedPostId | string | On a quote, the quoted post's ID. |
π¬ quotedPostUrl | string | On a quote, the quoted post's URL. |
π¬ quotedPostText | string | On a quote, the quoted post's text. |
π¬ quotedPostAuthorUsername | string | On a quote, who wrote the quoted post. |
π linkUrl | string | URL of the linked article, when the post carries a link card. |
π linkTitle | string | Title of the linked article. |
π linkDescription | string | Description of the linked article. |
π linkImageUrl | string | Preview image of the linked article. |
π linkProvider | string | Domain of the linked article. |
π mediaAttachments | array | Each attachment: type, URL, preview URL, width, height, duration, alt text. |
π₯ mentions | array | Each mentioned account: username and profile URL. |
#οΈβ£ hashtags | array | Hashtags on the post. |
π poll | object | Poll options with vote counts, expiry and totals, or N/A. |
π scrapedAt | string | ISO timestamp of collection. |
β error | string | Populated only on rows that record a failure. |
Profile rows (resultType: "profile")
imageUrl (avatar), displayName, username, url, id, bio, isVerified, isPremium, isLocked, isBot, isGroup, followersCount, followingCount, postsCount, lastPostAt, createdAt, website, location, headerImageUrl, isVisibleLoggedOut, profileFields, scrapedAt, error.
Sample records
{"imageUrl": "https://static-assets-1.truthsocial.com/tmtg:prime-ts-assets/cache/preview_cards/images/076/091/037/original/c53776a91f468f91.jpg","text": "Christian leaders urge Trump to create legal pathway for Jewish Canadians facing antisemitism: https://justthenews.com/government/white-house/christian-leaders-urge-trump-create-legal-pathway-jewish-canadians-facing","url": "https://truthsocial.com/@realDonaldTrump/117201328928275230","id": "117201328928275230","postType": "Post","createdAt": "2026-09-02T11:59:15.961Z","language": "en","visibility": "public","likesCount": 9366,"repostsCount": 2340,"repliesCount": 1379,"mediaCount": 0,"authorUsername": "realDonaldTrump","authorDisplayName": "Donald J. Trump","authorIsVerified": "Yes","authorFollowersCount": 13020656,"authorPostsCount": 36358,"linkUrl": "https://justthenews.com/government/white-house/christian-leaders-urge-trump-create-legal-pathway-jewish-canadians-facing","linkTitle": "Christian leaders urge Trump to create legal pathway for Jewish Canadians facing antisemitism","linkProvider": "justthenews.com"}
{"imageUrl": "https://static-assets-1.truthsocial.com/tmtg:prime-ts-assets/media_attachments/files/117/171/658/896/752/423/small/3fee3df8324fbf3f.jpg","text": "Alcatra Octopus","url": "https://truthsocial.com/@DevinNunes/117171659993730770","id": "117171659993730770","postType": "Post","createdAt": "2026-08-28T06:14:03.950Z","visibility": "group","likesCount": 81,"repostsCount": 13,"repliesCount": 8,"mediaCount": 2,"authorUsername": "DevinNunes","authorDisplayName": "Devin Nunes","authorFollowersCount": 4464456,"mediaAttachments": [{"type": "image","url": "https://static-assets-1.truthsocial.com/tmtg:prime-ts-assets/media_attachments/files/117/171/658/896/752/423/original/3fee3df8324fbf3f.jpg","width": 878,"height": 1170},{"type": "image","url": "https://static-assets-1.truthsocial.com/tmtg:prime-ts-assets/media_attachments/files/117/171/658/896/884/096/original/afc9726773996a24.jpg","width": 878,"height": 1170}]}
{"text": "Compassion Over Strength\n\nThe world often defines strength as power, control, and the ability to fight back. But Jesus Christ showed us a completely different kind of strength.","url": "https://truthsocial.com/@JFloodMD/117122170160298176","id": "117122170160298176","postType": "Repost","createdAt": "2026-08-19T12:28:09.018Z","likesCount": 774,"repostsCount": 242,"repliesCount": 40,"authorUsername": "JFloodMD","authorDisplayName": "Jarrett Flood, MD","authorFollowersCount": 488,"repostedByUsername": "DevinNunes","repostedByDisplayName": "Devin Nunes","repostUrl": "https://truthsocial.com/@DevinNunes/117123189153522136","repostId": "117123189153522136","repostedAt": "2026-08-19T16:47:17.620Z"}
β¨ Why choose this Actor
- Date filters that actually cut cost.
postedBeforejumps straight to the right point in the timeline using Truth Social's ID ordering, andpostedAfterstops the crawl at the floor. You pay only for the window you asked for. - Reposts with both sides. The original author, text, media and counts on one side; who reposted it, when, and the repost's own URL on the other. Most tools give you one or the other.
- Exact numbers and real dates. 13,020,656 followers, not "13M". Posting, editing and reposting times to the millisecond in ISO 8601.
- Media and link cards included. Direct image and video URLs with dimensions, plus the title, description and image of any linked article, at no extra request.
- Author on every row. Follower, following and post counts of the author ride along with each post, so cross-account datasets need no second pass.
- Single posts too. Paste a post URL and get that one row, with the same 47 fields.
- Honest about its limits. The comparison below states what Truth Social hides from logged-out visitors before you spend anything.
- No nulls. Identical columns on every row, with
Not DisclosedandN/Asentinels instead of blanks so CSV and Excel imports stay predictable. - No credentials and no start fee. No Truth Social login, no cookie, no token to refresh, and you pay per row only.
- Fast and cheap to run. Plain HTTP requests, no browser. One request returns 20 posts.
π How it compares to alternatives
| This Actor | Typical Truth Social scrapers | |
|---|---|---|
| Post fields | 47, with media, link card, repost, quote, poll and author | 15 to 30 |
| Profile fields | 23, with custom fields and visibility flag | 10 to 15 |
| Repost handling | Original author and counts plus reposter, time and repost URL | Reposter only, or reposts dropped |
| Date range | postedAfter and postedBefore, applied at the source | Crawl everything, filter afterwards |
| Media-only mode | Yes, applied by Truth Social | Rarely |
| Engagement counts | Exact integers | Exact, sometimes rounded |
| Login or cookie required | No | Some require an account |
| Start fee per run | None | Often |
| Search, hashtags, replies, followers | Not available to logged-out visitors. See the ceiling below | Only with an account |
The ceilings, stated plainly. Truth Social shows the profile itself, the profile's timeline and single posts to logged-out visitors, and that is what this Actor collects. Keyword search, hashtag timelines, trending posts, the replies under a post, and follower or liker lists are only served to logged-in users, so they are out of scope. A handful of accounts hide their timeline from visitors; those come back as a profile row with isVisibleLoggedOut: No and an explanatory error row in Post mode. Truth Social serves 20 posts per request and rate-limits each IP address to 6 requests per minute, which is why the Actor uses a fresh residential IP per request by default and paces itself to 120 posts per minute when the proxy is switched off.
π How to use
- Create a free Apify account. New accounts get $5 in free credit. Sign up here.
- Open the Actor and go to the Input tab.
- Add your targets. Profile URLs, bare usernames or single post URLs, in any mix.
- Pick a Result Type. Post for one row per truth, Profile for one row per account.
- Set Max Items to the number of rows you want back across all targets.
- Optionally narrow the crawl. Switch reposts off, keep only posts with media, or set a
postedAfterandpostedBeforewindow. - Click Start and watch the log. It names each account as it opens it and reports every page it fetches.
- Download your data from the Storage tab as CSV, JSON, Excel or XML, or pull it from the API.
Example input:
{"startUrls": [{ "url": "https://truthsocial.com/@realDonaldTrump" },{ "url": "https://truthsocial.com/@realDonaldTrump/posts/117198856483138040" }],"usernames": ["DevinNunes", "truthsocial"],"maxItems": 500,"resultType": "post","includeReposts": false,"onlyMedia": false,"postedAfter": "2026-08-01","postedBefore": "2026-09-01"}
πΌ Business use cases
π° Newsroom monitoring of official accounts.
A political desk schedules the Actor every ten minutes over the accounts it covers, with postedAfter set to the last run. New posts land in a shared sheet with exact timestamps, full text, linked articles and media URLs, so a reporter sees a statement and its source material before the screenshot reaches social media.
π Market and policy signal tracking.
An analytics team pulls every post from a set of market-moving accounts into a warehouse. Text, timestamp and engagement counts feed a keyword and sentiment model, and posts that mention a company, a tariff or a rate decision trigger an alert with the canonical URL attached.
π£ Communications and message tracking.
A PR team tracks its own accounts and a list of rivals. Reposts show which messages travel and through whom, repostsCount and likesCount rank the week's posts, and link cards reveal which outlets each account amplifies.
π¬ Academic and think-tank research.
A research group builds a corpus of posts from a hundred public accounts over a year. postedAfter and postedBefore split the crawl into monthly windows, repost rows keep the original author for network analysis, and media URLs let the team archive images and video alongside the text.
π Automating Truth Social Scraper
Schedule the Actor and route the results wherever your team already works.
- Make and Zapier. Trigger on a finished run and push new posts into a CRM, a Notion database or an Airtable base.
- Slack. Post every new truth from a watched account into a channel within minutes.
- Airbyte. Load the dataset into a warehouse and track engagement counts over time.
- GitHub. Commit a nightly snapshot to a repository to keep an auditable archive of an account.
- Google Drive. Drop each run's CSV into a shared folder for the rest of the team.
- Apify Schedules. Run the same account list every ten minutes, hourly or daily without touching the console.
π Beyond business use cases
π¬ Research. Political scientists and media researchers can study posting behaviour, repost networks, link sharing and engagement patterns on Truth Social with structured rows and exact timestamps.
π Personal. Keep an archive of an account you follow, or export your own public posts with their media URLs before they scroll away.
π€ Non-profit. Fact-checking organisations and watchdogs can archive statements from public officials as they are made, with the canonical URL and posting time for citation.
π§ͺ Experimentation. Post text, link cards, media and engagement counts make a tidy corpus for classification, topic modelling and engagement-prediction experiments.
π€ Ask an AI assistant about this scraper
The Actor exposes its input schema through Apify's MCP server, so an AI assistant connected to your Apify account can configure and run it for you. Ask it "get me every post from @realDonaldTrump since August 1st without reposts" and it will fill in the username, the date filter, the repost switch and the item count itself.
β Frequently Asked Questions
π Do I need a Truth Social account, cookie or API key? No. The Actor reads the data Truth Social publishes to any visitor of a public profile. There is no login and no token to manage.
π Which inputs does it accept?
Public profile URLs (truthsocial.com/@username), bare usernames with or without the @, and single post URLs (truthsocial.com/@username/posts/{id} or truthsocial.com/@username/{id}).
π Can it search by keyword or hashtag? No. Truth Social only serves search, hashtag timelines and trending posts to logged-in users. The Actor collects what a logged-out visitor can see: profiles, their timelines and single posts.
π¬ Can it collect the replies under a post?
No. The reply thread is also reserved for logged-in users. Every post row carries the exact repliesCount, so you always know how much conversation sits beneath it.
π How are reposts handled?
A repost row has postType: "Repost". The author* fields, the text, the media and the counts belong to the original post, and repostedByUsername, repostedAt, repostUrl and repostId describe the repost. Set includeReposts to false to keep only the account's own posts.
π
How do the date filters work?
postedAfter stops the crawl as soon as an older post appears. postedBefore starts the crawl at that date directly, because Truth Social's post IDs encode the posting time, so the posts after that date are never requested or billed.
π How far back can it go? As far as the account's timeline goes. Truth Social serves 20 posts per request, newest first, with no depth limit.
π€ What happens with an account that hides its posts from visitors?
A few accounts switch off visibility for logged-out users. In Profile mode you get the profile row with isVisibleLoggedOut: No; in Post mode you get one error row explaining it, and nothing is charged for it.
π Are the counts exact? Yes. Likes, reposts, replies, followers, following and post totals are the integers Truth Social serves, not the rounded figures shown on screen.
π³ Why do I see Not Disclosed or N/A instead of empty cells?
Because a blank cell is ambiguous. Not Disclosed means Truth Social did not publish that value for that post, and N/A means the field does not apply, such as repost fields on an original post.
π‘ Do I need a proxy? Truth Social limits every IP address to 6 API requests per minute, so residential proxies with a fresh IP per request are on by default and runs are fast. Switch the proxy off and the Actor paces itself to 120 posts per minute instead.
β‘ How fast is it? A five-post run finishes in about 9 seconds including startup. Each request returns 20 posts, and up to three accounts are crawled in parallel.
π Integrate with any app
Every run's dataset is available through the Apify API, so you can pull results into any language or platform that speaks HTTP. Apify also ships official clients for JavaScript and Python, plus native integrations for Make, Zapier, Airbyte, Slack, GitHub and Google Drive.
π Recommended Actors
- X.com Scraper - the same post-level data from X, for accounts that post on both.
- Threads Search Scraper - keyword search across Threads posts.
- Telegram Channel Scraper - public channel messages with views and media.
- Reddit Posts Scraper - subreddit and profile posts with scores and comments counts.
- Facebook Posts Scraper - public page posts with reactions, comments and shares.
π‘ Pro Tip: browse the complete ParseForge collection.
π Need Help? Open our contact form
β οΈ Disclaimer: This is an independent tool, not affiliated with or endorsed by Truth Social or Trump Media & Technology Group. It collects only publicly available data.