Bluesky API

Bluesky User Posts API

A profile's posts, newest first, with likes, replies and reposts. 1 credit per successful call; errors and not-found answers are free. Answers are cached for 15 minutes, and a cached repeat costs nothing. The response uses the same field names as every other platform.

Request

GET /v1/bluesky/user/posts

curl "https://scrapeio.com/v1/bluesky/user/posts?handle=nike" \
  -H "x-api-key: YOUR_KEY"

Python

import requests

r = requests.get(
    "https://scrapeio.com/v1/bluesky/user/posts",
    params={"handle": "nike"},
    headers={"x-api-key": "YOUR_KEY"},
)
print(r.json()["data"])

JavaScript

const url = new URL("https://scrapeio.com/v1/bluesky/user/posts");
url.searchParams.set("handle", "nike");
const res = await fetch(url, { headers: { "x-api-key": "YOUR_KEY" } });
const { data } = await res.json();
console.log(data);

Parameters

Send one of: handle, user_id.

NameTypeDescription
handlestringBluesky handle.
user_idstringBluesky DID. Send this or handle.
cursorstringCursor from the previous page's data.cursor.

Response

Every answer has the same envelope: success, cached, credits_used, credits_remaining and data. Lists put rows in data.items and page with data.cursor and data.has_more; send the cursor back to get the next page. Shared fields such as handle, followers, plays, likes and created_at are named the same on every platform. Full reference in the Bluesky docs.

StatusMeaningCharged
200SuccessYes, unless cached
400A parameter is missing or wrongNo
401The key is missing or invalidNo
402Not enough creditsNo
403The account or post is privateNo
404Not found on the platformNo
429More than 300 requests a minuteNo
502Every source is down; retry shortlyNo

Use it from an AI agent

Connect the ScrapeIO MCP server to Claude Code, Cursor, Codex or any MCP client and ask in plain English. The agent calls the bluesky_user_posts tool and pays the same credits.

Questions

How much does the Bluesky User Posts API cost?

1 credit per successful call, so $0.99 to $1.88 per 1,000 calls depending on the pack. Credits never expire and there is no subscription. New accounts get 100 free credits.

Do I need an official Bluesky API key or app approval?

No. Sign in, copy your ScrapeIO key and call the endpoint. It returns public Bluesky data only.

Are failed or empty calls charged?

No. Errors, private accounts, not-found answers and cached repeats cost nothing.

Is there a rate limit?

300 requests a minute per key. Answers that come back with 429 are not charged.

Can an AI agent call it?

Yes. Through the ScrapeIO MCP server the tool is named bluesky_user_posts. It works in Claude Code, Cursor, Codex and any MCP client.

100 free credits, no card. Credits never expire.

Get API key

More Bluesky endpoints