Insight Social
GET /v1/bluesky/profile

Bluesky Profile API

Returns a Bluesky user's public profile: handle, display name, avatar, description, follower and follows counts, post count, created date, and verification status.

10 credits a call · single call · failed calls free · 10 free calls to start

curl "https://api.insightsocial.app/v1/bluesky/profile?handle=espn.com" \
-H "x-api-key: $INSIGHTSOCIAL_API_KEY"
200 OKJSON
{
"success": true,
"platform": "bluesky",
"endpoint": "/v1/bluesky/profile",
"schema_version": "2",
"data": {
"author": {
"id": "<string>",
"username": "<string | null>",
"display_name": "<string | null>",
"avatar_url": "<string | null>",
"bio": "<string | null>",
"verified": "<boolean | null>",
"followers": "<integer | null>",
"followers_approximate": "<boolean | null>",
"following": "<integer | null>",
"posts_count": "<integer | null>",
"likes_count": "<integer | null>",
"url": "<string | null>",
"location": "<string | null>",
"external_url": "<string | null>",
"private": "<boolean | null>",
"joined_at": "<string | null>",
"last_post_at": "<string | null>",
"ext": "<object | null>"
}
},
"unavailable": [],
"credits_used": "<integer>"
}

When to use it

Use it when you have a handle and want the profile only; use user/posts for that account's posts.

Parameters

Query parameters for GET /v1/bluesky/profile. Send your key in the x-api-key header.

NameRequiredDescription
handleYesBluesky handle (e.g. espn.com).

Response fields

The same unified schema every platform returns, so code written for Bluesky works on the other eight. A field the platform did not provide is null and listed in unavailable.

FieldTypeNotes
idstringAn identifier, always a string. Never parse it as a number: several platforms use ids above 2^53.
usernamestring | null
display_namestring | null
avatar_urlstring | null
biostring | null
verifiedboolean | null
followersinteger | nullA count. null when the platform does not expose it; 0 only when it is really zero.
followers_approximateboolean | null
followinginteger | nullA count. null when the platform does not expose it; 0 only when it is really zero.
posts_countinteger | nullA count. null when the platform does not expose it; 0 only when it is really zero.
likes_countinteger | nullA count. null when the platform does not expose it; 0 only when it is really zero.
urlstring | null
locationstring | null
external_urlstring | null
privateboolean | null
joined_atstring | nullISO-8601 timestamp in UTC, ending in Z.
last_post_atstring | nullISO-8601 timestamp in UTC, ending in Z.
extobject | nullPlatform-specific fields, snake_case.

Every field, error and example is in the Bluesky Profile API reference.

How much does the Bluesky Profile API cost?

10 credits per successful call.

  • Failed calls are free

    A call that errors or finds nothing costs 0 credits.

  • Know the price first

    Add dry_run=1 and the response quotes the call without making it. Nothing is charged.

  • One balance

    API calls and Chrome extension exports share the same credits, on the free plan too.

Bluesky Profile API: frequently asked questions

Send GET /v1/bluesky/profile with the handle parameter and your key in the x-api-key header. Returns a Bluesky user's public profile: handle, display name, avatar, description, follower and follows counts, post count, created date, and verification status.