Bluesky API

Read social media accounts, user posts, follower counts, and connection lists to map public conversations and network engagement.

Identify users by their complete handle or custom domain, keeping in mind that returned connections may not encompass the entire social graph.

Platform availability

24h health
Normal
Normal

Last 30 days

Available capabilities

Each Bluesky action, what it does, its price and its health over the last 24 hours. Open an action for its parameters, response fields and code samples.

CapabilityWhat it doesPer 1,00024-hour health
ProfilesprofileResolve a Bluesky handle to its account record, with display name, bio, avatar, banner, join date, verification flag and follower, following and post counts.$1.39 per 1,000 requestsNormal
Posts by useruser_postsTrack what a Bluesky account posts, with each post's text and URL, like, repost, quote, reply and bookmark counts, plus hashtags, mentions and outbound links.$1.39 per 1,000 requestsNormal
FollowersfollowersList the accounts following a Bluesky user, each with DID, handle, display name, bio and join date.$1.39 per 1,000 requestsNormal
FollowingfollowingSee which accounts a Bluesky user follows, with each account's ID, handle, display name, bio and verification flag.$1.39 per 1,000 requestsNormal
People searchsearch_peopleSearch Bluesky for accounts matching a name or term, returning handle, display name, bio, avatar and verification flag.$1.39 per 1,000 requestsNormal

Open a capability for its parameters, response fields, code samples and trial.

What does each Bluesky action accept?

Each answer below pairs one callable action with its real inputs. Parameter meanings and allowed values are action-specific; a familiar name does not carry the same meaning across every platform.

Official sources are linked only to clarify the platform term beside them. They do not imply platform authorization or endorsement, and they do not add official-site features to the EveryInfra API contract.

ActionRequiredOptionalDeliveryLimitPer 1,000Response fields
profile

Profiles

Resolve a Bluesky handle to its account record, with display name, bio, avatar, banner, join date, verification flag and follower, following and post counts. Pass the full handle in username (a custom domain works), not a display name or profile link.

username—Sync delivery—$1.39 per 1,000 requestsuser_id · username · display_name · bio · url · avatar_url · is_verified · joined_at · source_username · platform · banner_url · follower_count · following_count · post_count
user_posts

Posts by user

Track what a Bluesky account posts, with each post's text and URL, like, repost, quote, reply and bookmark counts, plus hashtags, mentions and outbound links. quote_count counts reposts with added commentary, apart from plain reposts; the batch is not a complete archive.

username—Sync deliveryCatalog values: defaultLimit=20, maxLimit=200. A limit can control pages or per-parent expansion for some actions, so it is not always a final row count.$1.39 per 1,000 requestsid · url · text · author_username · author_name · author_id · author_avatar_url · lang · like_count · repost_count · comment_count · quote_count · bookmark_count · is_reply · is_repost · posted_at · platform · media_urls · embed_url · embed_title · hashtags · mentions · links
followers

Followers

List the accounts following a Bluesky user, each with DID, handle, display name, bio and join date. The returned page may not include every follower, so it can differ from the profile's follower count.

username—Sync deliveryCatalog values: defaultLimit=30, maxLimit=100. A limit can control pages or per-parent expansion for some actions, so it is not always a final row count.$1.39 per 1,000 requestsuser_id · username · display_name · bio · url · avatar_url · is_verified · joined_at · source_username · platform
following

Following

See which accounts a Bluesky user follows, with each account's ID, handle, display name, bio and verification flag. Follow ties change over time and imply no affinity, contact or permission to message.

username—Sync deliveryCatalog values: defaultLimit=30, maxLimit=100. A limit can control pages or per-parent expansion for some actions, so it is not always a final row count.$1.39 per 1,000 requestsuser_id · username · display_name · bio · url · avatar_url · is_verified · joined_at · source_username · platform
search_people

People search

Search Bluesky for accounts matching a name or term, returning handle, display name, bio, avatar and verification flag. It matches profiles rather than post text, and a match does not confirm who a person is.

keyword—Sync deliveryCatalog values: defaultLimit=20, maxLimit=200. A limit can control pages or per-parent expansion for some actions, so it is not always a final row count.$1.39 per 1,000 requestsuser_id · username · display_name · bio · url · avatar_url · is_verified · joined_at · source_username · platform

What do the Bluesky profile parameters mean?

Resolve a Bluesky handle to its account record, with display name, bio, avatar, banner, join date, verification flag and follower, following and post counts. Pass the full handle in username (a custom domain works), not a display name or profile link.

Full API reference: parameters, code samples, response example and health →
usernameRequired
Specifies a complete Bluesky handle, such as alice.bsky.social or a connected custom domain name. Do not pass a display nickname or a bsky.app/profile/ page URL. The profile, user_posts, followers, and following actions all use this parameter to locate the target account.
AT Protocol: Handles and DIDs — In the protocol, a handle is a domain-name style user identifier that resolves to a stable DID; the two are not interchangeable inputs. · Checked

What do the Bluesky user_posts parameters mean?

Track what a Bluesky account posts, with each post's text and URL, like, repost, quote, reply and bookmark counts, plus hashtags, mentions and outbound links. quote_count counts reposts with added commentary, apart from plain reposts; the batch is not a complete archive.

Full API reference: parameters, code samples, response example and health →
usernameRequired
Specifies a complete Bluesky handle, such as alice.bsky.social or a connected custom domain name. Do not pass a display nickname or a bsky.app/profile/ page URL. The profile, user_posts, followers, and following actions all use this parameter to locate the target account.
AT Protocol: Handles and DIDs — In the protocol, a handle is a domain-name style user identifier that resolves to a stable DID; the two are not interchangeable inputs. · Checked

What do the Bluesky followers parameters mean?

List the accounts following a Bluesky user, each with DID, handle, display name, bio and join date. The returned page may not include every follower, so it can differ from the profile's follower count.

Full API reference: parameters, code samples, response example and health →
usernameRequired
Specifies a complete Bluesky handle, such as alice.bsky.social or a connected custom domain name. Do not pass a display nickname or a bsky.app/profile/ page URL. The profile, user_posts, followers, and following actions all use this parameter to locate the target account.
AT Protocol: Handles and DIDs — In the protocol, a handle is a domain-name style user identifier that resolves to a stable DID; the two are not interchangeable inputs. · Checked

What do the Bluesky following parameters mean?

See which accounts a Bluesky user follows, with each account's ID, handle, display name, bio and verification flag. Follow ties change over time and imply no affinity, contact or permission to message.

Full API reference: parameters, code samples, response example and health →
usernameRequired
Specifies a complete Bluesky handle, such as alice.bsky.social or a connected custom domain name. Do not pass a display nickname or a bsky.app/profile/ page URL. The profile, user_posts, followers, and following actions all use this parameter to locate the target account.
AT Protocol: Handles and DIDs — In the protocol, a handle is a domain-name style user identifier that resolves to a stable DID; the two are not interchangeable inputs. · Checked

What do the Bluesky search_people parameters mean?

Search Bluesky for accounts matching a name or term, returning handle, display name, bio, avatar and verification flag. It matches profiles rather than post text, and a match does not confirm who a person is.

Full API reference: parameters, code samples, response example and health →
keywordRequired
Specifies user or account search terms for the search_people action. This endpoint returns matching user profile results and does not search post text; use user_posts with a complete handle to retrieve posts.

How to use the Bluesky API

  1. 01Read the public catalog and choose a platform action.
  2. 02Send the platform, action, and required parameters to POST /api/v1/social.
  3. 03Handle a synchronous result, or poll the returned job ID when the action runs asynchronously.
  4. 04Store the structured response fields needed by your application.
bluesky_profile.sh
curl -X POST https://api.everyinfra.com/api/v1/social \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"platform":"bluesky","action":"profile","params":{"username":"<username>"}}'

Bluesky API questions

What can I retrieve with the Bluesky API?

Set platform to bluesky. The current catalog lists profiles, posts by user, followers, following, and people search. These action names identify different Bluesky objects or views; they are not interchangeable search modes.

Which input starts a Bluesky `profile` request?

Specifies a complete Bluesky handle, such as alice.bsky.social or a connected custom domain name. Do not pass a display nickname or a bsky.app/profile/ page URL. The profile, user_posts, followers, and following actions all use this parameter to locate the target account. Send it as username inside params.

Which fields can Bluesky `profile` return?

Its declared schema includes user_id, username, display_name, and bio. A declared field can still be absent from an individual record, and every other action has its own field list.

Does every Bluesky action return immediately?

Actions labeled asynchronous return a job ID you poll. Every other action can also run asynchronously: add "mode": "async" to the request body to receive a job ID immediately, useful for slow tasks or large limits. The current catalog contains sync delivery.