Back to APIs
Bluesky public data

Bluesky Public Data API

Retrieve public Bluesky profiles, resolve known post URLs, or collect one page of account posts with normalized identity, content, media, timestamps, and visible engagement fields.

Available Bluesky APIs

Use Profiles for account data, Posts for one known public post, or User Posts for one page of posts from a handle or DID.

What Bluesky data can you retrieve?

SocQ returns normalized public profile and post records with source and collection-time context.

Public profile details

Retrieve available account identity, biography, profile images, website, account flags, visible counts, and collection time.

Known post content

Resolve a public bsky.app URL into post identity, text, author details, media, timestamps, hashtags, and mentions.

Posts from selected accounts

Collect one source page of public posts by a handle without @ or by a valid Bluesky DID.

Visible engagement

Keep available like, comment, repost, share, and view counts as point-in-time observations.

SocQ vs a direct Bluesky integration

SocQ provides an asynchronous normalized collection workflow; a direct integration leaves transport, source objects, storage, and result projection to your application.

CapabilitySocQDirect integration
Primary useCollect public profiles, known posts, and one page of account postsBuild provider-native read or write workflows
AuthenticationSocQ API keyCredentials depend on the native method and service
Starting inputUsername, public post URL, handle, or DID according to the endpointNative identifiers or method-specific parameters
Response formatNormalized SocQ recordsProvider-native objects your application must map

How the Bluesky API works

Profiles, Posts, and User Posts use the same asynchronous task and paginated saved-result workflow.

  1. 1. Submit a supported identifier

    Send a username, post URL, handle, or DID to the matching API and save the returned task_id.

  2. 2. Track the task

    Poll /v1/tasks/{task_id} until processing succeeds or fails.

  3. 3. Retrieve the results

    Read data.results.items and use next_cursor only while additional saved results remain.

Collect posts by Bluesky handle

Authenticate with your SocQ API key and submit a public handle to User Posts. Profiles and Posts use the same task flow.

curl -X POST "https://api.socq.ai/v1/bluesky/user-posts" \
  -H "Authorization: Bearer $SOCQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"username":"jay.bsky.team"}'

# Poll GET /v1/tasks/{task_id}
# Read data.results.items after success

Common Bluesky API use cases

Profile research

Enrich known usernames with public identity, biography, images, website, visible metrics, and collection time.

Known post analysis

Resolve selected post URLs into normalized content, author, media, timestamp, reference, engagement, and source fields.

Public account snapshots

Capture one page of posts for a known handle or DID and retain source and collection timestamps.

Engagement comparison

Compare visible counters across repeated collections while treating them as point-in-time snapshots.

Limits and public-data policy

Bluesky results represent public fields available during collection. These APIs do not access private content or publish, edit, delete, or manage accounts and posts.

  • Profiles requires one validated username and does not accept profile URLs.
  • Posts accepts one non-empty reference whose parsed hostname is bsky.app or a bsky.app subdomain, including absolute references with any scheme and protocol-relative references; it does not collect an account feed or reply tree.
  • User Posts requires username or user_id; the handle must not include @, and user_id must be a DID.
  • User Posts does not accept results_limit or a source cursor and collects only one provider page.
  • Task-result cursor and limit paginate records already saved by SocQ; they do not collect another source page.
  • Optional identity, content, media, timestamp, reference, and engagement fields can be empty when unavailable.

Bluesky API frequently asked questions

What is the Bluesky API?

Bluesky APIs retrieve public profiles, resolve known posts, and collect one page of public account posts by handle or DID.

Which Bluesky API should I use?

Use Profiles for a username-based account record, Posts for one known bsky.app post URL, and User Posts for one page of posts from a handle or DID.

Does User Posts follow a source cursor?

No. It sends one provider request and collects one source page; next_cursor only advances through result records already stored by SocQ.

Are every field and metric always present?

No. The normalized shape is stable, but source-dependent identity, content, media, timestamp, reference, and metric values may be null.

How is Bluesky collection priced?

Each successful Profiles, Posts, or User Posts task costs a fixed 0.19 SocQ credits.

Bring public profiles, content, and engagement data from different platforms into one workflow to track brands, creators, and topics and run cross-platform monitoring and analysis more efficiently.