English | PortuguĂŞs
This documentation outlines the APIs provided for interacting with profiles and posts on the Bluesky platform. These APIs allow for the resolution of Decentralized Identifiers (DID), retrieval of profile information, fetching of posts, as well as searching for profiles and posts.
- The maximum value for the
limit
parameter across all endpoints described here is 100, except for the API that fetches details of a specific post, where the limit is 1000. - The limit examples provided in this documentation are those commonly used by the site, which are lower than the maximum allowed values.
The first step to interact with a profile is to resolve the Decentralized Identifier (DID) from a specific handle (username).
GET https://public.api.bsky.app/xrpc/com.atproto.identity.resolveHandle?handle={handle}
handle
: Replace{handle}
with the desired profile handle. Example:bsky.app
.
{
"did": "did:plc:z72i7hdynmk6r22z27h6tvur"
}
This DID is essential for accessing other profile-related information.
Retrieve detailed profile information using the previously obtained DID.
GET https://public.api.bsky.app/xrpc/app.bsky.actor.getProfile?actor={did}&filter=posts_and_author_threads&limit=1
actor
: Replace{did}
with the profile's DID. All:
in the DID must be replaced with%3A
.
If the DID is did:plc:gorq7i3msirfgxrxc6kklnl7
, the URL would be:
https://public.api.bsky.app/xrpc/app.bsky.actor.getProfile?actor=did%3Aplc%3Agorq7i3msirfgxrxc6kklnl7&filter=posts_and_author_threads&limit=1
Retrieve posts made by a specific profile.
GET https://public.api.bsky.app/xrpc/app.bsky.feed.getAuthorFeed?actor={did}&filter=posts_and_author_threads&limit={limit}
actor
: Replace{did}
with the profile's DID.limit
: Sets the maximum number of posts to be returned. The maximum value is100
.
https://public.api.bsky.app/xrpc/app.bsky.feed.getAuthorFeed?actor=did%3Aplc%3Agorq7i3msirfgxrxc6kklnl7&filter=posts_and_author_threads&limit=30
Retrieve posts containing media made by a specific profile.
GET https://public.api.bsky.app/xrpc/app.bsky.feed.getAuthorFeed?actor={did}&filter=posts_with_media&limit={limit}
actor
: Replace{did}
with the profile's DID.limit
: Sets the maximum number of posts to be returned. The maximum value is100
.
https://public.api.bsky.app/xrpc/app.bsky.feed.getAuthorFeed?actor=did%3Aplc%3Aqrlodsav63erq6ukjv7slvp3&filter=posts_with_media&limit=30
Retrieve the list of profiles followed by a specific profile.
GET https://public.api.bsky.app/xrpc/app.bsky.graph.getFollows?actor={did}&limit={limit}
actor
: Replace{did}
with the profile's DID.limit
: Sets the maximum number of followed profiles to be returned. The maximum value is100
.
https://public.api.bsky.app/xrpc/app.bsky.graph.getFollows?actor=did%3Aplc%3Aqrlodsav63erq6ukjv7slvp3&limit=30
Retrieve the list of followers for a specific profile.
GET https://public.api.bsky.app/xrpc/app.bsky.graph.getFollowers?actor={did}&limit={limit}
actor
: Replace{did}
with the profile's DID.limit
: Sets the maximum number of followers to be returned. The maximum value is100
.
https://public.api.bsky.app/xrpc/app.bsky.graph.getFollowers?actor=did%3Aplc%3Aqrlodsav63erq6ukjv7slvp3&limit=30
Search for profiles using a specific term.
GET https://public.api.bsky.app/xrpc/app.bsky.actor.searchActorsTypeahead?q={term}&limit={limit}
q
: Replace{term}
with the search term.limit
: Sets the maximum number of results to be returned. The maximum value is100
.
https://public.api.bsky.app/xrpc/app.bsky.actor.searchActorsTypeahead?q=anime&limit=8
Search for popular posts using a specific term.
GET https://public.api.bsky.app/xrpc/app.bsky.feed.searchPosts?q={term}&limit={limit}&sort=top
q
: Replace{term}
with the search term.limit
: Sets the maximum number of results to be returned. The maximum value is100
.
https://public.api.bsky.app/xrpc/app.bsky.feed.searchPosts?q=anime&limit=25&sort=top
Search for the latest posts using a specific term.
GET https://public.api.bsky.app/xrpc/app.bsky.feed.searchPosts?q={term}&limit={limit}&sort=latest
q
: Replace{term}
with the search term.limit
: Sets the maximum number of results to be returned. The maximum value is100
.
https://public.api.bsky.app/xrpc/app.bsky.feed.searchPosts?q=anime&limit=25&sort=latest
Retrieve a list of popular feed generators based on a specific term.
GET https://public.api.bsky.app/xrpc/app.bsky.unspecced.getPopularFeedGenerators?limit={limit}&query={term}
query
: Replace{term}
with the search term.limit
: Sets the maximum number of results to be returned. The maximum value is100
.
https://public.api.bsky.app/xrpc/app.bsky.unspecced.getPopularFeedGenerators?limit=15&query=anime
Retrieve the details of a specific post using the post's URI.
GET https://public.api.bsky.app/xrpc/app.bsky.feed.getPostThread?uri={uri}&depth={depth}
uri
: Replace{uri}
with the post's URI.depth
: Sets the depth of the thread to be returned. The maximum value is1000
.
Given the post link https://bsky.app/profile/brunosa.bsky.social/post/3l33tt4rv762p
, the URL would become:
https://public.api.bsky.app/xrpc/app.bsky.feed.getPostThread?uri=at%3A%2F%2Fbrunosa.bsky.social%2Fapp.bsky.feed.post%2F3l33tt4rv762p&depth=10
Other examples:
-
Post:
https://bsky.app/profile/adribangtancafe.bsky.social/post/3l33nfz4qxy2v
URL:https://public.api.bsky.app/xrpc/app.bsky.feed.getPostThread?uri=at%3A%2F%2Fadribangtancafe.bsky.social%2Fapp.bsky.feed.post%2F3l33nfz4qxy2v&depth=10
-
Post:
https://bsky.app/profile/farofa.com.br/post/3l33ldwwlcc25
URL:https://public.api.bsky.app/xrpc/app.bsky.feed.getPostThread?uri=at%3A%2F%2Ffarofa.com.br%2Fapp.bsky.feed.post%2F3l33ldwwlcc25&depth=10