Tài liệu API hiện chỉ có bằng tiếng Anh.

Bluesky Posts

Read public posts from a Bluesky account with pagination.

GET/api/v1/bluesky/posts

Costs 1 credit per request; failed requests are refunded. Authentication, the search_metadata envelope and error codes are the same as for every endpoint (see the API reference). Try it in the playground.

Parameters

Request parameters

ParameterTypeDescription
actorrequiredstringBluesky handle, such as bsky.app, or a did:plc identifier.Up to 253 characters.
limitintegerMaximum posts per page, from 1 to 100.Default: 30.Range: 1 to 100.
cursorstringnext_page_token returned by the previous response.Up to 1,000 characters.
filter"posts_with_replies" | "posts_no_replies" | "posts_with_media"Choose original posts, posts and replies, or posts containing media.Default: posts_no_replies.

Response

A JSON object with search_metadata (request id, credits used and remaining) and the result groups the page returns. Groups and fields depend on the content of each page, so treat every field as optional.

Examples

cURL
curl "https://serpfast.com/api/v1/bluesky/posts?actor=bsky.app&limit=2" \
  -H "Authorization: Bearer $SERPFAST_KEY"
Node.js 18+
const params = new URLSearchParams({
  "actor": "bsky.app",
  "limit": 2
});
const res = await fetch(`https://serpfast.com/api/v1/bluesky/posts?${params}`, {
  headers: { Authorization: `Bearer ${process.env.SERPFAST_KEY}` },
});
const data = await res.json();
console.log(data);
Python
import os, requests

params = {
  "actor": "bsky.app",
  "limit": 2
}
res = requests.get(
    "https://serpfast.com/api/v1/bluesky/posts",
    params=params,
    headers={"Authorization": f"Bearer {os.environ['SERPFAST_KEY']}"},
    timeout=120,
)
print(res.json())