↑ ↓ to move ↵ to open
Bluesky API · Endpoint

Bluesky Author Feed API

List an account's posts and reposts, newest first, with text, author, language and time, page by page.

  • 1 credit per call
  • Failed calls are free
  • Updated
  • bluesky.feed.get_author_feed
Response completed
{  "has_more": true,  "total_returned": 25,  "posts": [    {      "text": "The modern research ecosystem of online tools and communities is controlled by for-profit companies.\n\nBut we think that researchers should …",      "created_at": "2026-09-30T13:22:23.989Z",      "lang": "en",      "uri": "at://did:plc:ifn645rwvsuolxg7o3w7ouo4/app.bsky.feed.post/3mwqgsd4cgs2a",      "author": {        "display_name": "Aster ID",        "handle": "aster.id",        "did": "did:plc:ifn645rwvsuolxg7o3w7ouo4"      }    },    {      "text": "Happy opening day of hockey season, NHL fans! \n\nKeep up with all 1,344 regular season games with this starter pack of hockey writers.",      "created_at": "2026-09-29T19:43:14.855Z",      "lang": "en",      "uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3mwolmfws5k2r",      "author": {        "display_name": "Bluesky",        "handle": "bsky.app",        "did": "did:plc:z72i7hdynmk6r22z27h6tvur"      }    }  ]}
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 or DID. bsky.app
cursor string no Pass next_cursor from the last response to get the next page.
limit integer no How many posts to return.
max_pages integer no How many pages to read in this call.
Response

Fields it returns

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

FieldTypeWhat it isExample
posts[].text string The post's text. The modern research ecosystem of online tools and communities i…
posts[].author.handle string The account's handle. aster.id
posts[].created_at string When it was posted. 2026-09-30T13:22:23.989Z
posts[].lang string The post's language. en
posts[].uri string The post's permanent address on Bluesky. at://did:plc:ifn645rwvsuolxg7o3w7ouo4/app.bsky.feed.post/3mwqgs…
posts[].author.display_name string The author's display name. Aster ID
posts[].author object Who posted it. 3 fields
posts[].author.did string The author's permanent Bluesky ID. did:plc:ifn645rwvsuolxg7o3w7ouo4
has_more boolean Whether more results are available. true
posts array The account's posts. 25 records
total_returned integer How many results this answer holds. 25
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.feed.get_author_feed",  "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

With Upscrape, get the latest posts from @bsky.app and summarise what Bluesky announced recently, with links.

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

More from the Bluesky API

Questions

Bluesky Author Feed 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 Author Feed 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.feed.get_author_feed, 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.