Truth Social Profile API
Prominent public Truth Social profiles — isPrivate/bot/group, fields[], avatar/banner. Flat 1 credit.
GET request to /v1/truth-social/profile that responds with clean JSON and costs 1 credit. Pass cache=true for a free 24h cache hit; default is always fresh. Start with 100 free credits — no credit card.What is the Truth Social Profile API?
Pass a Truth Social @username or profile URL and get the public account as clean JSON. Canonical profile core: platform, id, username, url, displayName, bio, avatar, banner, followers, following, postCount, verified, createdAt. Also: bot/isPrivate/group, discoverable, location/website, ISO lastStatusAt, emojis[], and profile fields[] with verifiedAt for confirmed links. Mastodon twin keys (handle/acct/name/avatarStatic/headerStatic/locked) are omitted — acct never differs from username on reachable public accounts. As of late 2025, Truth Social only lets you view public profiles/posts of prominent users (e.g. Trump, Vance) without authentication; most other accounts require auth and will 404 here. Flat 1 credit.
What you get
- isPrivate / bot / group classification flags
- fields[] with verifiedAt for confirmed profile links
- HTML-stripped bio + avatar/banner URLs
- Honest prominent-only access limit (most accounts 404)
Try it
Fill in the parameters below and copy a ready-to-run request, or open the live Playground to run it against your account (no API key paste).
Parameters
curl "https://api.captapi.com/v1/truth-social/profile?url=https%3A%2F%2Ftruthsocial.com%2F%40realDonaldTrump" \
-H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."Edit the parameters and the code updates instantly. Switch languages and hit copy.
Example response
{
"success": true,
"data": {
"platform": "truth_social",
"id": "107780257626128497",
"username": "realDonaldTrump",
"acct": "realDonaldTrump",
"url": "https://truthsocial.com/@realDonaldTrump",
"displayName": "Donald J. Trump",
"bio": "",
"avatar": "https://static-assets-1.truthsocial.com/tmtg:prime-ts-assets/accounts/avatars/107/780/257/626/128/497/original/454286ac07a6f6e6.jpeg",
"avatarStatic": "https://static-assets-1.truthsocial.com/tmtg:prime-ts-assets/accounts/avatars/107/780/257/626/128/497/original/454286ac07a6f6e6.jpeg",
"banner": "https://static-assets-1.truthsocial.com/tmtg:prime-ts-assets/accounts/headers/107/780/257/626/128/497/original/ba3b910ba387bf4e.jpeg",
"headerStatic": "https://static-assets-1.truthsocial.com/tmtg:prime-ts-assets/accounts/headers/107/780/257/626/128/497/original/ba3b910ba387bf4e.jpeg",
"verified": true,
"followers": 12956933,
"following": 69,
"postCount": 35371,
"location": null,
"website": "www.DonaldJTrump.com",
"createdAt": "2022-02-11T16:16:57.705Z",
"lastStatusAt": "2026-08-02T00:00:00.000Z",
"emojis": [],
"fields": [],
"bot": false,
"locked": false,
"isPrivate": false,
"group": false,
"discoverable": null,
"acceptingMessages": false,
"chatsOnboarded": true,
"tvAccount": false
}
}Billing metadata is returned in response headers: X-Captapi-Credits (credits charged), X-Captapi-Cache (hit or miss), and X-Captapi-Source. Failed requests (4xx/5xx) are never charged. See the full list of error codes in the error reference.
Response structure
A successful call returns success, cached, creditsUsed, and a data object with the following fields:
Top-level fields
platformAlways "truth_social" on this endpoint.idStable platform ID for the item.usernameLocal username (canonical). Upstream acct matches on reachable public accounts.acctFederation handle (may differ from username for remote accounts).urlCanonical URL of the item.displayNameDisplay name of the account. Canonical across profile endpoints (prefer over name).bioProfile bio. Canonical across profile endpoints (prefer over description on YouTube).avatarAvatar / profile picture URL. Canonical across profile endpoints.avatarStaticAvatar static URL.bannerBanner / cover image URL. Canonical across profile endpoints.headerStaticHeader static URL.verifiedWhether the account is verified on this platform.followersFollower count.followingNumber of accounts followed.postCountTotal posts/statuses/videos for the account. Canonical across profile endpoints (prefer over posts / videoCount / tweetCount).locationProfile location string when Truth Social exposes one; null when empty.websiteWebsite listed on the profile.createdAtCreation date (ISO 8601).lastStatusAtLast status day from Truth Social, normalized to ISO-8601 UTC midnight (e.g. 2026-08-02T00:00:00.000Z). Upstream often sends YYYY-MM-DD only.emojisCustom emojis in the display name ({shortcode, url, staticUrl}).fieldsProfile label/value rows ({name, value, verifiedAt}). verifiedAt is set when Truth Social confirmed the link; empty array when none.botWhether Truth Social marks the account as a bot — filter before creator metrics.lockedWhether the account is locked / follow-gated (Mastodon locked).isPrivateFollow-approval / locked account (upstream locked). Catalogue name shared with Instagram/Threads.groupWhether this is a Truth Social group account (not a personal creator).discoverableWhether Truth Social marks the account discoverable; null when upstream omits it.acceptingMessagesAccepting messages. Example: false.chatsOnboardedChats onboarded. Example: true.tvAccountTv account. Example: false.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | Truth Social profile URL or @username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. |
| cache | boolean | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits. |
Authentication: send your key as Authorization: Bearer capt_live_.... A typical call costs 1 credit. Pass cache=true for a free 24h cache hit; default is always fresh.
How it works
- 1. Sign up — get 100 free credits, no card required.
- 2. Create a key from your dashboard.
- 3. Send one request to
/v1/truth-social/profileand parse the JSON response.
Use cases
Public-Figure Enrichment
Pull stats and locked/bot/group flags for prominent accounts that Truth Social still exposes without login.
Verified-Link Capture
Read fields[].verifiedAt for confirmed profile links when the account publishes them.
Auth-Gated Awareness
Expect 404 for non-prominent handles — Truth Social gates most profiles behind login.
Frequently asked questions
What does the Truth Social Profile API do?+
The Truth Social Profile API lets you fetch profile or page details and audience stats from a public Truth Social profile or page using one GET request to /v1/truth-social/profile. It returns clean JSON — no OAuth or infrastructure setup required.
How many credits does the Truth Social Profile API cost?+
Each successful call costs 1 credit. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Hits include cached + cachedAt. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Failed or empty results are never charged.
Do I need a Truth Social API key or OAuth?+
No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle proxies, rate limits, retries, and authentication for you.
Is the Truth Social Profile API suitable for production use?+
Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Hits include cached + cachedAt. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Use it for analytics, monitoring, and content automation.
More Truth Social APIs
Ready to use the Truth Social Profile API?
Sign up, grab your key, and make your first call in 60 seconds.