↑ ↓ to move ↵ to open
Bluesky API · Endpoint

Bluesky Profile API

Get a profile from its handle, DID or bsky.app link: name, bio, followers, follows and post count.

  • 1 credit per call
  • Failed calls are free
  • Updated
  • bluesky.actor.get_profile
Response completed
{  "display_name": "Bluesky",  "handle": "bsky.app",  "description": "official Bluesky account (check username👆)\n\nBugs, feature requests, feedback: [email protected]",  "did": "did:plc:z72i7hdynmk6r22z27h6tvur",  "followers_count": 35154398,  "follows_count": 15,  "indexed_at": "2025-10-27T21:05:26.152Z",  "posts_count": 865}
Try it live, free
Input

What you send

The input object of the request, with every field the endpoint accepts.

FieldTypeRequiredWhat it doesExample
actor string yes The account's handle, such as bsky.app, its DID, or its bsky.app profile link. bsky.app
Response

Fields it returns

What each record in the response holds, with the values from the sample above.

FieldTypeWhat it isExample
display_name string The account's display name. Bluesky
handle string The account's handle. bsky.app
followers_count integer Followers, as Bluesky shows them. 35,154,398
follows_count integer How many accounts it follows. 15
posts_count integer How many posts it has made. 865
description string The profile's bio text. official Bluesky account (check username👆) Bugs, feature reques…
did string The account's permanent Bluesky ID. did:plc:z72i7hdynmk6r22z27h6tvur
indexed_at string When Bluesky last indexed the profile. 2025-10-27T21:05:26.152Z
REST API · MCP server

Call it from your code, or ask your agent

Set UPSCRAPE_API_KEY to your key and copy a working request.

curl --request POST \  --url https://data.upscrape.com/execute \  --header "Authorization: Bearer $UPSCRAPE_API_KEY" \  --header "Content-Type: application/json" \  --header "Prefer: wait=30" \  --data '{  "capability": "bluesky.actor.get_profile",  "input": {    "actor": "bsky.app"  }}'
In your AI agent Claude · Cursor · any MCP client
1Add the Upscrape MCP server
https://data.upscrape.com/mcp
2Ask for the data in plain words

Use Upscrape to look up @bsky.app on Bluesky. How many followers and posts does it have?

The agent finds the endpoint, shows you the price, and runs it with your credits.
Bluesky

More from the Bluesky API

Same data, other platforms

The same data from other platforms

Questions

Bluesky Profile API FAQ

The short answers. The docs have the long ones.

Still have a question? Talk to the people who build the endpoints.
How much does the Bluesky Profile API cost?

1 credit per successful call, shown before it runs. You buy credits once, and paid credits never expire.

What do I send?

Send actor. The input fields below list every option with its type and limits.

Do I need a Bluesky login?

No. It reads public Bluesky data; nothing runs on your account.

Can my AI agent call it?

Yes, over MCP: the agent finds bluesky.actor.get_profile, checks its price and runs it with the same credits as the REST API.

Get started

Your first Bluesky call is free.

Up to 100 free credits to start, no card needed.