---
title: "Truth Social Profile API"
method: GET
path: "/v1/truth-social/profile"
tags: ["Truth Social"]
---

# Truth Social Profile API

`GET /v1/truth-social/profile`

## Request

- Base URL: `https://api.captapi.com`
- URL: `https://api.captapi.com/v1/truth-social/profile`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Prominent public Truth Social profiles — isPrivate/bot/group, CP-F counts, avatar/banner.

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. Each count carries followersIsApproximate / followingIsApproximate / postCountIsApproximate (CP-F). Also: bot/isPrivate/group, discoverable (nullable Mastodon field — null means Truth Social omitted it, not a mapping gap), location/website, ISO lastStatusAt. Mastodon extras live under raw (emojis[], fields[] with verifiedAt, chatsOnboarded, tvAccount). Twin keys (handle/acct/name/avatarStatic/headerStatic/locked) are omitted. Avatar/banner/media on static-assets-1.truthsocial.com are unsigned and do not expire — there is no mediaUrlsExpireAt. 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.

Docs: https://captapi.com/apis/truth-social-profile

## Query parameters

- `url` string, required
- `cache` boolean

## Response `200`

Success. The data object for this endpoint.

- object
  - `success` unknown, required
  - `data` object, required
    - `platform` string: Always "truth_social" on this endpoint.
    - `id` string: Stable platform ID for the item.
    - `username` string: Local username (canonical). Upstream acct matches on reachable public accounts.
    - `url` string: Canonical URL of the item.
    - `displayName` string: Display name of the account. Canonical across profile endpoints (prefer over name).
    - `bio` string: Profile bio. Canonical across profile endpoints (prefer over description on YouTube).
    - `avatar` string: Avatar / profile picture URL. Canonical across profile endpoints.
    - `banner` string: Banner / cover image URL. Canonical across profile endpoints.
    - `verified` boolean: Whether the account is verified on this platform.
    - `followers` integer: Follower count.
    - `following` integer: Number of accounts followed.
    - `postCount` integer: Total posts/statuses/videos for the account. Canonical across profile endpoints (prefer over posts / videoCount / tweetCount).
    - `followersIsApproximate` boolean: CP-F on followers. Same ladder as Twitter/TikTok identity cards.
    - `followingIsApproximate` boolean: CP-F on following.
    - `postCountIsApproximate` boolean: CP-F on postCount.
    - `location` unknown
    - `website` string: Website listed on the profile.
    - `createdAt` string: Creation date (ISO 8601).
    - `lastStatusAt` string: Last 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.
    - `bot` boolean: Whether Truth Social marks the account as a bot — filter before creator metrics.
    - `isPrivate` boolean: Follow-approval / locked account (upstream locked). Catalogue name shared with Instagram/Threads.
    - `group` boolean: Whether this is a Truth Social group account (not a personal creator).
    - `discoverable` unknown
    - `acceptingMessages` boolean: Accepting messages. Example: false.
    - `raw` object: Raw upstream payload for advanced use (fields may change). Prefer the normalized top-level fields when available.
      - `emojis` unknown[]
        - unknown
      - `fields` unknown[]
        - unknown
      - `chatsOnboarded` boolean
      - `tvAccount` boolean

## Other responses

- `400`: Bad request: wrong platform URL, unknown endpoint, or an invalid parameter value. Not billed.
- `401`: Missing, invalid or revoked API key. Not billed.
- `402`: Not enough credits for this request. Not billed.
- `404`: The resource does not exist or is not public. Not billed.
- `422`: A required parameter is missing or has the wrong type. Not billed.
- `429`: Rate limit reached. Wait for Retry-After seconds. Not billed.
- `502`: The platform could not be reached or returned nothing usable. Retryable, not billed. 503 and 504 use the same envelope.

---

[API](https://skmtc.dev/captapi/apis/captapi-api.md) · [All operations](https://skmtc.dev/captapi/apis/captapi-api/llms.txt) · [OpenAPI document](https://skmtc.dev/captapi/apis/captapi-api/revisions/c9b9ac5ff1bd?raw)
