Bluesky · Guide

How to get Bluesky profile

TL;DR
To get Bluesky profile, sign up for a free Captapi key, then send one GET request to /v1/bluesky/profile with your input. You get clean JSON back in seconds for 1 credit per call — no OAuth, scraping or platform SDKs. Bluesky profile — handle, did, bio, counts, banner, verification{}, labels[], and associated{} (1 credit).

How to get Bluesky profile (step by step)

  1. 1

    Get a free API key

    Create a free Captapi account (100 credits, no card) and generate an API key from the dashboard.

  2. 2

    Call the Bluesky Profile API

    Send an authenticated GET request to /v1/bluesky/profile with your input. No OAuth, no scraping setup.

  3. 3

    Read the JSON response

    Parse the clean JSON response. Pass cache=true for a free 24h cache hit; default is always fresh.

Code example

curl "https://api.captapi.com/v1/bluesky/profile?url=https%3A%2F%2Fbsky.app%2Fprofile%2Fjay.bsky.team" \
  -H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."

What the response looks like

{
  "success": true,
  "data": {
    "platform": "bluesky",
    "handle": "jay.bsky.team",
    "url": "https://bsky.app/profile/jay.bsky.team",
    "did": "did:plc:oky5czdrnfjpqslsw2a5iclo",
    "name": "Jay 🦋",
    "bio": "Founder & Chief Innovation Officer @ Bluesky\n\nWorking on @attie.ai\n\n🌱 🪴 🌳",
    "followers": 595179,
    "following": 3974,
    "posts": 4110,
    "avatar": "https://cdn.bsky.app/img/avatar/plain/did:plc:oky5czdrnfjpqslsw2a5iclo/bafkreihxtnc37g7jqdcgidtkknwuswtjiijcdnc6cx4imc4oq33cnsc5da",
    "banner": "https://cdn.bsky.app/img/banner/plain/did:plc:oky5czdrnfjpqslsw2a5iclo/bafkreicgnmvhtmj4arcvwhueygbwvkucd3odvom3lxtfmn6wlqbh3yf7p4",
    "verified": true,
    "verification": {
      "verifications": [
        {
          "issuer": "did:plc:z72i7hdynmk6r22z27h6tvur",
          "issuerHandle": "bsky.app",
          "issuerDisplayName": "Bluesky",
          "uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.graph.verification/3lndslpegeo2f",
          "isValid": true,
          "createdAt": "2025-04-21T11:35:53.359Z"
        }
      ],
      "verifiedStatus": "valid",
      "trustedVerifierStatus": "none"
    },
    "labels": [],
    "associated": {
      "lists": 0,
      "feedgens": 0,
      "starterPacks": 0,
      "labeler": false,
      "chat": {
        "allowIncoming": "following",
        "allowGroupInvites": null
      },
      "activitySubscription": {
        "allowSubscriptions": "followers"
      }
    },
    "createdAt": "2022-11-17T06:31:40.296Z",
    "indexedAt": "2026-03-29T21:16:33.460Z"
  }
}

Billing metadata (credits charged, cache hit/miss) is returned in the X-Captapi-Credits and X-Captapi-Cache response headers.

Request parameters

NameTypeRequiredDescription
urlstring YesBluesky 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.
cachebooleanNoSet true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control.
cacheMaxAgestringNoMax age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL.

Frequently asked questions

What does the Bluesky Profile API do?

The Bluesky Profile API lets you fetch profile or page details and audience stats from a public Bluesky profile or page using one GET request to /v1/bluesky/profile. It returns clean JSON — no OAuth or infrastructure setup required.

How many credits does the Bluesky 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. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Failed or empty results are never charged.

Do I need a Bluesky 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 Bluesky 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. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Use it for analytics, monitoring, and content automation.

Ready to get Bluesky profile?

Start free with 100 credits — no credit card required.

Get your free API key