Skip to main content

Overview

The app.bsky.feed namespace provides lexicons for posts, feeds, likes, reposts, and other feed-related functionality in Bluesky.

Key Concepts

  • Post: A message or content shared by a user
  • Feed: A chronological stream of posts
  • Feed Generator: Custom algorithmic feed
  • Interactions: Likes, reposts, replies, quotes
  • Thread: Conversation chain of posts

Record Types

post

A Bluesky post record. Record Structure:
string
required
Post content (max 300 graphemes, 3000 bytes)
array
Rich text annotations (mentions, links, hashtags)
object
Reply reference with root and parent
union
Embedded content (images, video, external link, record, record with media)
array
Language codes (max 3)
union
Self-applied content labels
array
Additional hashtags (max 8)
string
required
ISO 8601 timestamp
Example:
With Images:
Reply to Post:

like

Like record for a post.
ref
required
Strong reference to the liked post
string
required
Timestamp
Example:

repost

Repost record.
ref
required
Strong reference to the reposted post
string
required
Timestamp
Example:

threadgate

Thread interaction rules (who can reply).
string
required
AT-URI of the post
array
Rules defining who can reply (mentions, followers, following, lists)
string
required
Timestamp

postgate

Post embedding rules.
string
required
AT-URI of the post
array
Rules for embedding (can disable embedding)
string
required
Timestamp

generator

Feed generator declaration.
string
required
DID of the feed generator service
string
required
Feed name
string
Feed description (max 300 graphemes)
blob
Feed avatar image
boolean
Whether feed accepts interaction data
union
Self-applied labels
string
required
Timestamp

Queries

getTimeline

Get the authenticated user’s home timeline. Endpoint: app.bsky.feed.getTimeline Authentication: Required
string
Timeline algorithm variant
integer
Max posts (1-100, default 50)
string
Pagination cursor
Response:
string
Next page cursor
array
required
Array of feed view posts
Example:

getAuthorFeed

Get posts by a specific author. Endpoint: app.bsky.feed.getAuthorFeed
string
required
Handle or DID
integer
Max posts (1-100, default 50)
string
Pagination cursor
string
Filter: posts_with_replies, posts_no_replies, posts_with_media, posts_and_author_threads
Example:

getFeed

Get posts from a feed generator. Endpoint: app.bsky.feed.getFeed
string
required
AT-URI of the feed generator
integer
Max posts (1-100, default 50)
string
Pagination cursor
Example:

getPosts

Get hydrated post views for specific posts. Endpoint: app.bsky.feed.getPosts
array
required
Array of post AT-URIs (max 25)
Response:
array
required
Array of post views
Example:

getPostThread

Get a post and its thread context. Endpoint: app.bsky.feed.getPostThread
string
required
AT-URI of the post
integer
How many levels of reply depth to fetch (default 6, max 1000)
integer
How many levels of parent posts to fetch (default 80, max 1000)
Response: Thread view with post, parent, and replies Example:

getLikes

Get likes for a post. Endpoint: app.bsky.feed.getLikes
string
required
AT-URI of the post
integer
Max likes (1-100, default 50)
string
Pagination cursor
Response: Array of likes with actor profiles

getRepostedBy

Get reposts for a post. Endpoint: app.bsky.feed.getRepostedBy
string
required
AT-URI of the post
integer
Max reposts (1-100, default 50)
string
Pagination cursor
Response: Array of actors who reposted

getQuotes

Get quote posts of a post. Endpoint: app.bsky.feed.getQuotes
string
required
AT-URI of the post
integer
Max quotes (1-100, default 50)
string
Pagination cursor

searchPosts

Search for posts. Endpoint: app.bsky.feed.searchPosts
string
required
Search query
integer
Max results (1-100, default 25)
string
Pagination cursor
string
Filter by author
string
Filter by date (ISO 8601)
string
Filter by date (ISO 8601)
string
Filter by mentioned user
string
Filter by language
string
Filter by domain in links
string
Filter by URL in links
array
Filter by hashtags
Example:

Feed Generators

getFeedGenerator

Get information about a feed generator. Endpoint: app.bsky.feed.getFeedGenerator
string
required
AT-URI of the feed generator

getFeedGenerators

Get information about multiple feed generators. Endpoint: app.bsky.feed.getFeedGenerators
array
required
Array of feed generator AT-URIs

getSuggestedFeeds

Get suggested feed generators. Endpoint: app.bsky.feed.getSuggestedFeeds
integer
Max feeds (1-100, default 50)
string
Pagination cursor

getActorFeeds

Get feed generators created by an actor. Endpoint: app.bsky.feed.getActorFeeds
string
required
Handle or DID
integer
Max feeds (1-100, default 50)
string
Pagination cursor

getActorLikes

Get posts liked by an actor. Endpoint: app.bsky.feed.getActorLikes
string
required
Handle or DID
integer
Max posts (1-100, default 50)
string
Pagination cursor

getListFeed

Get posts from a list. Endpoint: app.bsky.feed.getListFeed
string
required
AT-URI of the list
integer
Max posts (1-100, default 50)
string
Pagination cursor

Procedures

sendInteractions

Send interaction events to feed generators. Endpoint: app.bsky.feed.sendInteractions Authentication: Required
array
required
Array of interaction events

Type Definitions

postView

Complete post view with engagement metrics.
string
required
Post AT-URI
string
required
Post CID
object
required
Author profile
object
required
Post record data
union
Embedded content view
integer
Number of replies
integer
Number of reposts
integer
Number of likes
integer
Number of quote posts
string
required
Indexing timestamp
object
Viewer’s interaction state
array
Content labels

Common Use Cases

Create a Post with Mentions

Create Thread

Quote Post

Resources