Bluesky

Bluesky Profile API

Bluesky profile — handle, did, bio, counts, banner, verification{}, labels[], and associated{} (1 credit).

Give a Bluesky profile URL, @handle, or handle and get the public AT Protocol profile as clean JSON. Canonical profile core (same keys on every Captapi profile endpoint): platform, id, handle, url, displayName, bio, avatar, banner, followers, following, postCount, verified, createdAt. Bluesky also returns did (same as id), deprecated aliases name/posts for one release, indexedAt (AppView last indexed the profile record — not last activity), pinnedPost{uri,cid,rkey} when the account featured a post, joinedViaStarterPack when present, verified + verification{verifications[{issuer, issuerHandle, issuerDisplayName, uri, isValid, createdAt}], verifiedStatus, trustedVerifierStatus} (issuer DIDs resolved to handle/display name), moderation labels[{src, uri, cid, val, neg, createdAt, expiresAt}], and associated{lists, feedgens, starterPacks, labeler, chat, activitySubscription} so you can tell feed/labeler service accounts from people. Accepts cache / cacheMaxAge like other profile trust-layer endpoints. Flat 1 credit per call.

Docs: https://captapi.com/apis/bluesky-profile

get/v1/bluesky/profile

Request

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

Query parameters

urlstring required

Bluesky profile URL, @handle, or handle, e.g. bsky.app/profile/handle. 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.

cacheboolean

Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.

cacheMaxAge'1d' | '3d' | '7d' | '14d' | '30d'

Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.

Response

Success. The data object for this endpoint.

successunknown required

Changes

No recorded changes to this operation across all 3 revisions of this API.