EveryData platform API

Bluesky API

Across Bluesky, Bluesky profiles, posts, follower and following relationships, and people discovery are available through 5 separately documented actions, with `profile`, `user_posts`, `followers` illustrating the distinct request shapes.

Two early Bluesky scopes are `profile` for the selected Bluesky record and `user_posts` for posts from a known account; passing `username` isolates account data while keeping their objects and fields interpretable.

Endpoint
POST /api/v1/social
Capabilities
5
Per 1,000
$1.389

Available capabilities

Compare the Bluesky actions by required input, returned data, and price. Use the action identifier exactly as shown in your request.

ActionRequiredOptionalDeliveryLimitPer 1,000Response fields
profile

Details

Use Bluesky profile to read one Bluesky public record. Here, username identifies the associated account. For Bluesky profile, supply username; results include banner_url, following_count, follower_count, and post_count.

usernameSync delivery$1.39 per 1,000 requestsbanner_url · follower_count · following_count · post_count
user_posts

Posts by user

Read posts from a known Bluesky account by setting action to user_posts. username identifies the target account. For Bluesky user_posts, supply username; results include url, is_reply, author_id, author_avatar_url, author_name, repost_count, lang, is_repost, platform, quote_count, author_username, bookmark_count, like_count, comment_count, posted_at, id, and text.

usernameSync 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
followers

Followers

Use Bluesky account input with followers; Bluesky then reads the measure. Read the follower metric as platform-visible relationship data rather than an audited roster. For Bluesky followers, supply username; results include is_verified, display_name, url, source_username, platform, bio, user_id, joined_at, avatar_url, and username.

usernameSync 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

Use Bluesky account input with following; Bluesky then reads these relationships. Bluesky following keeps Bluesky field meanings action-specific. Bluesky following takes username and yields url, source_username, username, joined_at, user_id, platform, is_verified, bio, display_name, and avatar_url.

usernameSync 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

Use search_people on Bluesky for people candidates. Use Bluesky search_people with keyword for Bluesky candidates. Bluesky search_people takes keyword and yields username, avatar_url, url, display_name, bio, joined_at, platform, is_verified, source_username, and user_id.

keywordSync 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 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.

What do the Bluesky profile parameters mean?

Use Bluesky profile to read one Bluesky public record. Here, username identifies the associated account. For Bluesky profile, supply username; results include banner_url, following_count, follower_count, and post_count.

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 DIDsIn 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?

Read posts from a known Bluesky account by setting action to user_posts. username identifies the target account. For Bluesky user_posts, supply username; results include url, is_reply, author_id, author_avatar_url, author_name, repost_count, lang, is_repost, platform, quote_count, author_username, bookmark_count, like_count, comment_count, posted_at, id, and text.

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 DIDsIn 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?

Use Bluesky account input with followers; Bluesky then reads the measure. Read the follower metric as platform-visible relationship data rather than an audited roster. For Bluesky followers, supply username; results include is_verified, display_name, url, source_username, platform, bio, user_id, joined_at, avatar_url, and username.

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 DIDsIn 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?

Use Bluesky account input with following; Bluesky then reads these relationships. Bluesky following keeps Bluesky field meanings action-specific. Bluesky following takes username and yields url, source_username, username, joined_at, user_id, platform, is_verified, bio, display_name, and avatar_url.

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 DIDsIn 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?

Use search_people on Bluesky for people candidates. Use Bluesky search_people with keyword for Bluesky candidates. Bluesky search_people takes keyword and yields username, avatar_url, url, display_name, bio, joined_at, platform, is_verified, source_username, and user_id.

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 selected action is asynchronous.
  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 details, 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 banner_url, follower_count, following_count, and post_count. A declared field can still be absent from an individual source record, and every other action has its own field list.

Does every Bluesky action return immediately?

No assumption is needed: this page labels each action's delivery mode. The current catalog contains sync delivery; poll a returned job ID only for an action labeled asynchronous.