Truth Social Scraper — Posts, Profiles & Engagement API
Pricing
from $1.84 / 1,000 post / profiles
Truth Social Scraper — Posts, Profiles & Engagement API
Scrape Truth Social posts and profiles with no login. Returns full post text, upvotes, reblogs, replies, media URLs, link cards, hashtags, mentions, plus account verified/premium status and follower counts. Pay per post.
Pricing
from $1.84 / 1,000 post / profiles
Rating
0.0
(0)
Developer
Vitalii Bondarev
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Truth Social Scraper — Posts & Downvotes | $2.00/1K | No Login | Unique Downvote Field
For political researchers, media monitoring agencies, and campaign analytics teams tracking Truth Social at scale.
We are the only actor with downvote_count extraction — critical for sentiment analysis on this platform.
Pricing: $2.00 per 1,000 posts. No monthly fees. No login required.
Extract posts and profile data from any public Truth Social account without login credentials. Returns upvotes, downvotes (unique field), link cards, media URLs, reply chains, and author details — pay only per post scraped.
Pricing example
$2.00 per 1,000 posts. 100 posts = $0.20. 1,000 posts = $2.00. 10,000 posts = $20.00. No per-run fee. No proxy cost.
Sample output
{"account_username": "realDonaldTrump","display_name": "Donald J. Trump","post_id": "112345678901234567","content_text": "MAKE AMERICA GREAT AGAIN!","created_at": "2026-05-20T15:42:00Z","replies": 1823,"reblogs": 4501,"favourites": 22340,"upvotes": 22340,"downvotes": 312,"url": "https://truthsocial.com/@realDonaldTrump/112345678901234567","has_media": false,"card_url": null,"parse_confidence": 1.0,"scraped_at": "2026-06-05T09:00:00Z"}
What you get
Each record contains:
| Field | Description |
|---|---|
account_username | Username (e.g. realDonaldTrump) |
display_name | Full display name |
verified / premium | Account verification status |
followers / following | Follower counts |
post_id | Unique post ID |
content_text | Post text (HTML stripped) |
content_html | Raw HTML content |
created_at | Post timestamp (ISO 8601 UTC) |
replies | Reply count |
reblogs | Re-truth count |
favourites | Like count |
upvotes | Truth Social upvote count (same as favourites) |
downvotes | Truth Social downvote count — unique field |
url | Direct post URL |
media_urls | Array of direct media URLs (images, videos) |
card_url / card_title / card_description / card_image_url | Link card details for shared URLs |
mentions | Mentioned usernames |
hashtags | Hashtag names |
in_reply_to_id | Parent post ID if this is a reply |
is_reblog | Whether this is a re-truth |
parse_confidence | Data quality score 0.0–1.0 |
warnings | List of any data quality issues |
Why this scraper beats the competition
| This scraper | apify/truth-social-scraper (official) | Generic Mastodon scraper | |
|---|---|---|---|
| Price | $2.00/1K | $5.00/1K+ | varies |
downvote_count field | ✓ | ✗ | ✗ |
| Link card extraction (URL/title/image) | ✓ | partial | ✗ |
Incremental scraping via sincePostId | ✓ | ✗ | ✗ |
parse_confidence on every record | ✓ | ✗ | ✗ |
| No login required | ✓ | ✓ | ✓ |
Most Truth Social scrapers on Apify return only basic engagement counts. This scraper adds:
downvotes_countfield — Truth Social's Mastodon API exposes upvotes and downvotes separately. No other scraper surfaces downvotes, which is critical for sentiment analysis.- Link card extraction — captures the URL, title, description, and preview image of any article or link a post is sharing. Essential for media monitoring and influence research.
parse_confidence+warningsin every record — self-reported data quality so you know when fields may be incomplete.- Incremental scraping via
sincePostIdcursor — re-run without re-fetching old posts. - Account ID input — supply numeric IDs directly for power workflows that already know them.
Input
{"accountUsernames": ["realDonaldTrump"],"maxPostsPerAccount": 100,"includeReplies": false,"includeReposts": false}
| Field | Type | Default | Description |
|---|---|---|---|
accountUsernames | string[] | — | Usernames to scrape (without @) |
accountIds | string[] | — | Numeric account IDs (alternative to usernames) |
maxPostsPerAccount | integer | 100 | Posts per account (0 = unlimited) |
includeReplies | boolean | false | Include reply posts |
includeReposts | boolean | false | Include re-truths |
sincePostId | string | — | Only fetch posts newer than this ID (incremental) |
Pricing
$2.00 per 1,000 posts. No monthly fees. No login required.
How it works
Truth Social runs a Mastodon-compatible REST API with public endpoints that require no authentication for public accounts. This scraper uses cursor-based pagination (max_id) to efficiently fetch posts in chronological reverse order, normalizes all fields to a flat schema, and strips HTML from post content.
Limitations
- Only public accounts are accessible (private/deactivated accounts return an error, not empty data)
- Comments on posts require authentication — not accessible without login
- Public timeline and search endpoints are disabled by Truth Social
- Rate limits are not documented; scraping very high volumes may be throttled
Typical use cases
- Political monitoring — track posts from political figures
- Sentiment analysis — upvotes/downvotes ratio as engagement signal (unique
downvotesfield) - Media intelligence — extract shared URLs via link cards
- Research — academic study of alternative social platform content
- Alerts and dashboards — incremental scraping with
sincePostId
Incremental / monitoring workflow
Use sincePostId to run this actor on a schedule and receive only new posts since the last run. Set sincePostId to the highest post_id returned in your previous dataset. Ideal for building daily political dashboards or alert systems.
Use with AI Agents (MCP)
This Truth Social scraper is callable as a tool by AI agents (Claude Desktop, Cursor, VS Code, n8n, or any MCP-compatible client) via Apify's hosted Model Context Protocol server.
{"mcpServers": {"apify": {"command": "npx","args": ["mcp-remote","https://mcp.apify.com/?tools=bovi/truth-social-scraper","--header","Authorization: Bearer <YOUR_APIFY_TOKEN>"]}}}
Integrations
Built for political researchers, media-monitoring agencies, and campaign-analytics teams tracking Truth Social posts and sentiment — the JSON/dataset output drops into the tools you already run, no glue code:
- n8n / Make / Zapier — trigger a run or pipe every new dataset item into 500+ apps (Google Sheets, Airtable, Slack, HubSpot, your database) with no code: n8n, Make, Zapier.
- Webhooks — fire your own endpoint the moment a run finishes, to push results straight into your pipeline (docs).
- MCP server — expose this actor as a tool to Claude, Cursor, or any MCP client so an AI agent can pull this data mid-conversation (guide).
- API & SDKs — fetch the dataset as JSON, CSV, or Excel through the Apify REST API or the Python / JS SDKs.
See all Apify integrations.
More scrapers from our toolkit
Building a data pipeline? These actors pair well with this one — each runs on your own Apify account with the same pay-per-result pricing, no subscription:
- Twitch Scraper
- Douyin Scraper
- Maigret Username Osint
- Patreon Scraper
- Pinterest Scraper
- Reddit Scraper
Chain any of them together from the Integrations tab (the Run succeeded trigger) to build a multi-step workflow — one actor's output feeds the next.
Use it from your existing tools
Use with Claude Desktop / Cursor / Cline (MCP)
Load this actor as a tool in your AI assistant. Call it directly from your AI assistant via the Apify MCP server — no Store browsing needed. Paste this into your MCP client config (e.g. claude_desktop_config.json) and restart the client:
{"mcpServers": {"apify-truth-social-scraper": {"command": "npx","args": ["-y","@apify/actors-mcp-server","--tools","bovi/truth-social-scraper"],"env": {"APIFY_TOKEN": "YOUR_APIFY_TOKEN"}}}}
Replace YOUR_APIFY_TOKEN with your own Apify API token (free at apify.com → Settings → Integrations). Curated to a handful of tools so the agent selects reliably.
Works with Clay
Run this actor as an HTTP enrichment step inside a Clay table:
- Method:
POST - URL:
https://api.apify.com/v2/acts/bovi~truth-social-scraper/run-sync-get-dataset-items?token={{apify_token}} - Body (JSON): map your Clay columns to the actor input (see the Input section above), e.g.
{"accountUsernames": "{{clay_column}}"}
The run finishes synchronously and returns the dataset rows straight into your Clay table. It runs on Apify's cloud under your own token and usage. Synchronous runs must complete within 300 seconds.