Truth Social Profiles & Posts Scraper

Extract public Truth Social profiles, posts, replies, media, and engagement data for monitoring and research.

Data fields

FieldTypeDescription
recordTypestringValue exported as recordType.
recordIdstringValue exported as recordId.
usernamestringValue exported as username.
acctstringValue exported as acct.
displayNamestringValue exported as displayName.
bioTextstringValue exported as bioText.
urlstringValue exported as url.
avatarUrlstringValue exported as avatarUrl.

Input preview

startUrlsTruth Social profile or status URLs *
includeRepliesInclude replies
includeReblogsInclude reblogs
maxItemsMaximum records

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

Export public Truth Social profiles and posts as structured JSON, CSV, Excel, XML, or RSS data. Use usernames or public profile and status URLs to collect identity, biography, audience, content, media, and engagement details without logging in.

This Actor is designed for journalists, political-media monitors, OSINT analysts, researchers, and reputation teams that need repeatable public-source records rather than manual screenshots.

Example input

{
  "startUrls": [{ "url": "https://truthsocial.com/@realDonaldTrump" }],
  "maxItems": 10
}

Example output

{
  "recordType": "profile",
  "recordId": "107780257626128497",
  "username": "realDonaldTrump",
  "displayName": "Donald J. Trump",
  "url": "https://truthsocial.com/@realDonaldTrump",
  "followersCount": 12900000,
  "followingCount": 69,
  "sourceUrl": "https://truthsocial.com/@realDonaldTrump",
  "scrapedAt": "2026-07-10T14:00:00.000Z"
}

What data can I export?

Profile records can include:

  • Stable account ID, username, display name, and canonical profile URL
  • Biography, avatar, header image, website links, and verification indicators
  • Follower, following, and public post counts
  • Join date and collection timestamp

Post records can include:

  • Stable post and conversation IDs, canonical URL, text, HTML, language, and content warning
  • Publication time, reply relationships, quote/reblog context, and author identity
  • Reply, reblog, favorite, and quote engagement counts
  • Mentions, hashtags, links, polls, media attachments, and link cards
  • Source URL, input provenance, pagination cursor, and collection diagnostics

Fields that are unavailable on the public page are omitted rather than guessed.

Who is it for?

Journalists, political-media monitors, OSINT analysts, academic researchers, archivists, and reputation teams can use the Actor to turn public Truth Social content into repeatable datasets.

Use cases

  • Political-media monitoring: track public statements and engagement over time.
  • Journalism: collect source material with stable IDs, URLs, and timestamps.
  • OSINT research: build reproducible datasets from public profiles and posts.
  • Reputation research: review public messaging, audience size, and engagement.
  • Archiving: export structured records for analysis and audit workflows.

Input settings

Field Type Description
startUrls array Public Truth Social profile or status URLs.
includeReplies boolean Include public replies from profile timelines when available.
includeReblogs boolean Include reposted Truths from profile timelines when available.
maxItems integer Maximum number of profile and post records to save.

The first run is prefilled with one public profile and a low result limit so you can verify the output quickly.

Input recipes

Collect one public profile

{
  "startUrls": [{ "url": "https://truthsocial.com/@realDonaldTrump" }],
  "maxItems": 1
}

Collect a small monitoring sample

{
  "startUrls": [
    { "url": "https://truthsocial.com/@realDonaldTrump" },
    { "url": "https://truthsocial.com/@TruthSocial" }
  ],
  "maxItems": 25
}

Tips for reliable runs

  • Start with one public profile and a small maxItems value.
  • Use canonical truthsocial.com/@username or public status URLs.
  • Avoid duplicate URLs; duplicate account and post IDs are deduplicated within a run.
  • Schedule repeated runs with the same input to create a monitoring feed.
  • Keep source URLs and stable IDs when joining results across runs.

Legality, limits, and responsible use

This Actor accesses public Truth Social pages without user credentials. Public availability can change, and deleted, private, suspended, or age-restricted content cannot be collected. A run fails explicitly when the website returns a challenge or error page; it does not report a blocked page as a successful empty result.

Use the data lawfully and follow applicable privacy, copyright, platform, and records-retention requirements. Do not use the Actor to harass individuals or attempt to access private content.

API usage

Replace APIFY_TOKEN with your Apify API token.

JavaScript

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/truth-social-profile-posts-scraper').call({
  startUrls: [{ url: 'https://truthsocial.com/@realDonaldTrump' }],
  maxItems: 10,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient

client = ApifyClient('APIFY_TOKEN')
run = client.actor('fetch_cat/truth-social-profile-posts-scraper').call(run_input={
    'startUrls': [{'url': 'https://truthsocial.com/@realDonaldTrump'}],
    'maxItems': 10,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~truth-social-profile-posts-scraper/runs?token=APIFY_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"startUrls":[{"url":"https://truthsocial.com/@realDonaldTrump"}],"maxItems":10}'

MCP integration and AI agents

Connect the Actor to an MCP-compatible client through the Apify MCP server:

https://mcp.apify.com?tools=fetch_cat/truth-social-profile-posts-scraper

Add it with the MCP CLI:

claude mcp add --transport http apify-truth-social \
  'https://mcp.apify.com?tools=fetch_cat/truth-social-profile-posts-scraper'

Or add this server configuration to your MCP client:

{
  "mcpServers": {
    "apify-truth-social": {
      "url": "https://mcp.apify.com?tools=fetch_cat/truth-social-profile-posts-scraper"
    }
  }
}

Example prompts:

  • "Collect the latest public posts from these Truth Social profiles."
  • "Export this public Truth Social profile and summarize its engagement."
  • "Run a small monitoring sample and return the dataset URL."

An agent can run the scraper, wait for completion, and inspect the resulting dataset as part of a monitoring or research workflow.

Support

If a valid public URL fails, open an issue from the Actor page and include:

  • The run ID
  • Your sanitized input JSON
  • The expected output
  • The actual output or error message

Do not include passwords, session cookies, or private data.

Common questions

Questions and answers reused from the canonical actor README.

Does this require a Truth Social login?

No. It collects only public profile and post data and does not ask for cookies, passwords, or private account credentials.

Can I export CSV or Excel?

Yes. After a run, open the dataset and choose JSON, CSV, Excel, XML, or RSS export.

Why did a run fail instead of returning zero items?

The Actor distinguishes genuine empty results from access challenges and upstream errors. It fails with a clear message when the target content could not be verified, preventing misleading empty datasets.

Can I schedule monitoring runs?

Yes. Use Apify schedules and keep the stable IDs and timestamps to compare records across runs.