Get Bluesky Feed
bsky_get_feedRead the posts a Bluesky feed generator serves, in the order the feed ranks them. Accepts the feed's AT-URI (at:///app.bsky.feed.generator/) or its bsky.app page (https://bsky.app/profile//feed/). Feeds come from the "feedUri" of each bsky_get_trending topic — the way to read what a trend is about — from a quoted feed in a post (an embed with recordKind "generator"), or from a shared link; Discover is at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/whats-hot. Returns posts with full text, engagement counts, embeds, and AT-URIs for drilling into threads via bsky_get_post_thread. A post the feed pinned to its top carries "pinned: true"; a repost carries "repostedBy". Personalized feeds, which Bluesky serves only to a signed-in account, cannot be read here. Supports cursor pagination.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| feed | Yes | The feed to read — its AT-URI, e.g. "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/whats-hot", or its bsky.app URL, e.g. "https://bsky.app/profile/bsky.app/feed/whats-hot"; a trailing "/", "?…", or "#…" on the URL is ignored. The owner may be a handle or a DID; a handle costs one extra lookup. A trend's "feedUri" works as-is. | |
| limit | No | Maximum number of posts to return (1–100). Default 25. A feed may return fewer than the limit on a page that still has more after it — follow the cursor, not the count. A page that would pass the 48,000-byte response budget is asked for again with fewer posts and carries "budgetCapped: true"; its cursor continues after the posts it holds. | |
| cursor | No | Opaque pagination cursor from a previous response of the same feed. Omit for the first page. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cap | No | The limit applied to this page. | |
| error | No | Present when the call failed. Absent on success. | |
| posts | No | Posts the feed served, in the order it ranked them. | |
| shown | No | Number of posts returned on this page. | |
| cursor | No | Opaque cursor for the next page. Absent when the feed has nothing further. | |
| notice | No | Guidance when the feed returned nothing, or was cut. | |
| truncated | No | True when the feed has more posts after this page (a cursor was returned). | |
| budgetCapped | No | True when a page of the requested limit would have passed this server's 48,000-byte response budget, so the feed was asked again for fewer posts and that page was returned whole. The cursor comes from that same response, so paging on from it continues where these posts end. Independent of "truncated", which still means only that a cursor was returned. | |
| totalReturned | No | Number of posts in this response page. |