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
maxItemsvalue. - Use canonical
truthsocial.com/@usernameor 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.