Truth Social Scraper — Posts, Profiles & Engagement API avatar

Truth Social Scraper — Posts, Profiles & Engagement API

Pricing

from $1.84 / 1,000 post / profiles

Go to Apify Store
Truth Social Scraper — Posts, Profiles & Engagement API

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

Vitalii Bondarev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

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:

FieldDescription
account_usernameUsername (e.g. realDonaldTrump)
display_nameFull display name
verified / premiumAccount verification status
followers / followingFollower counts
post_idUnique post ID
content_textPost text (HTML stripped)
content_htmlRaw HTML content
created_atPost timestamp (ISO 8601 UTC)
repliesReply count
reblogsRe-truth count
favouritesLike count
upvotesTruth Social upvote count (same as favourites)
downvotesTruth Social downvote count — unique field
urlDirect post URL
media_urlsArray of direct media URLs (images, videos)
card_url / card_title / card_description / card_image_urlLink card details for shared URLs
mentionsMentioned usernames
hashtagsHashtag names
in_reply_to_idParent post ID if this is a reply
is_reblogWhether this is a re-truth
parse_confidenceData quality score 0.0–1.0
warningsList of any data quality issues

Why this scraper beats the competition

This scraperapify/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_count field — 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 + warnings in every record — self-reported data quality so you know when fields may be incomplete.
  • Incremental scraping via sincePostId cursor — 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
}
FieldTypeDefaultDescription
accountUsernamesstring[]Usernames to scrape (without @)
accountIdsstring[]Numeric account IDs (alternative to usernames)
maxPostsPerAccountinteger100Posts per account (0 = unlimited)
includeRepliesbooleanfalseInclude reply posts
includeRepostsbooleanfalseInclude re-truths
sincePostIdstringOnly 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 downvotes field)
  • 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:

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.