Operated by Sourcelane✓ verified
Scrape Truth Social posts from any public profile or post link - text, date, replies, ReTruths, likes, media, links, quotes and author follower counts.
Scrapes Truth Social profiles and individual posts to produce structured, per-post records containing full post text (HTML stripped), timestamps and edit history, language, engagement metrics (replies, ReTruths/reblogs, likes), reply/quote/reblog indicators, hashtags and mentions, media extraction (direct image and MP4 links, media type, previews and duration), link preview metadata (shared URL, title, description, preview image), embedded quoted or reTruthed posts, and author profile metadata (follower/following counts, post counts, verification status, bio, website, avatar, account creation). Targets include usernames and single post links; supports incremental pagination/continuation to fetch full histories or ongoing monitoring, optional date-range filtering and exclusion of replies or reTruths, and operates without requiring authentication.
Verified Oct 25, 10:11 PM
$0.0015
per post
Up to 100 per call. Only pay for results returned; failed calls are refunded.
Political monitoring and journalism
Track posts from politicians, officials and campaigns as they appear
Market-moving post detection
Monitor posts about tariffs, companies, policy that may affect markets
Media and sentiment research
Build results of posts and engagement for analysis or reporting
Archiving
Create timestamped records of posts, edits, media and embedded posts
Engagement analytics
Compare replies, ReTruths/reblogs and likes across accounts and over time
Truth Social usernames or profile links, one per line, e.g.
Individual Truth Social post links to scrape, e.g.
Stop when posts get older than this.
Optional settings
| Window | Uptime | Success rate | p50 | p95 | Calls |
|---|---|---|---|---|---|
| 24h | — | — | — | — | 0 |
| 7d | — | — | — | — | 0 |
| 30d | — | — | — | — | 0 |
Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.
Call it via Sourcelane
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"truth-social-scraper","params":{"usernames":["realDonaldTrump"],"maxItems":5},"maxResults":10}'Request params
| Field | Type | Required | Description |
|---|---|---|---|
usernames | array | optional | Truth Social usernames or profile links, one per line (with or without @), e.g. realDonaldTrump or https://truthsocial.com/@WhiteHouse. Posts are returned newest first. |
postUrls | array | optional | Individual Truth Social post links (or post IDs) to scrape, e.g. https://truthsocial.com/@realDonaldTrump/posts/117357090030899348. Each returns one row with full details. |
maxItems | integer | optional | Maximum posts to return for each username in this run. 0 = keep going until the profile has no older posts or the run times out. Capped at 100 per call. |
onlyPostsNewerThan | string | optional | Stop when posts get older than this. Accepts a date (2026-09-01 or a full ISO timestamp) or a relative period like '7 days', '12 hours' or '1 month'. Leave empty for no date limit. |
excludeReplies | boolean | optional | Skip posts that are replies to other posts, keeping only original posts, quotes and ReTruths. |
excludeReblogs | boolean | optional | Skip ReTruths (reposts of someone else's post), keeping only posts the profile wrote. |
pageId | string | optional | Paste NEXT_PAGE_ID from the previous run's Key-value store to continue where it stopped. Leave empty to start from the newest post. |
Each result contains
| Field | Type | Description |
|---|---|---|
postId | string | Post ID |
url | string | URL |
text | string | Text |
createdAt | string | Posted |
editedAt | null | — |
language | null | — |
repliesCount | integer | Replies |
reblogsCount | integer | ReTruths |
favouritesCount | integer | Likes |
isReply | boolean | — |
inReplyToId | null | — |
isReblog | boolean | ReTruth |
isQuote | boolean | Quote |
sensitive | boolean | — |
spoilerText | null | — |
hashtags | array | — |
mentions | array | — |
mediaUrls | array | Media |
media | array | — |
linkUrl | null | Link |
linkTitle | null | — |
linkDescription | null | — |
linkImage | null | — |
quotedPost | null | — |
rebloggedPost | null | — |
authorId | string | — |
authorUsername | string | Author |
authorDisplayName | string | — |
authorProfileUrl | string | — |
authorAvatarUrl | string | — |
authorBio | string | — |
authorWebsite | string | — |
authorFollowersCount | integer | Followers |
authorFollowingCount | integer | — |
authorPostsCount | integer | — |
authorVerified | boolean | Verified |
authorCreatedAt | string | — |
inputSource | string | — |
scrapedAt | string | — |
Pick your tool and connect in under a minute. Then just ask — for example: “Find this creator's profiles on every social network and summarise their reach.”
Connect Claude
Web, desktop and mobile. One click, then confirm.
Adds the Sourcelane MCP server with your key as a header.
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
--header "Authorization: Bearer sl_live_your_agent_key"Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.
{
"mcpServers": {
"sourcelane": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.usesourcelane.com/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer sl_live_your_agent_key"
}
}
}
}Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).
{
"mcpServers": {
"sourcelane": {
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer sl_live_your_agent_key"
}
}
}
}Save as .vscode/mcp.json. VS Code prompts for your key once.
{
"servers": {
"sourcelane": {
"type": "http",
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer ${input:sourcelane-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "sourcelane-key",
"description": "Sourcelane agent key",
"password": true
}
]
}Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.
https://usesourcelane.com/openapi.jsonOne POST. Pass maxResults to cap cost.
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"truth-social-scraper","params":{"usernames":["realDonaldTrump"],"maxItems":5},"maxResults":10}'Wrap the REST call as a tool, or point an MCP client at the endpoint.
import requests
res = requests.post(
"https://api.usesourcelane.com/v1/call",
headers={"Authorization": "Bearer sl_live_your_agent_key"},
json={
"listing": "truth-social-scraper",
"params": {"usernames":["realDonaldTrump"],"maxItems":5},
"maxResults": 10,
},
timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])—
0 reviews
Leave a review
Loading reviews…