Get a Bluesky profile · Bluesky API
Returns a public Bluesky profile by handle: display name, bio, avatar, follower, following and post counts. Returns `not_found` when the handle does not exist.
Using ChatGPT, Claude Code or another client? See the setup steps
curl https://api.unifapi.com/bluesky/users/{username} \
-H "Authorization: Bearer $UNIFAPI_KEY"Parameters
- usernamepathrequired
- Bluesky handle, e.g. `jay.bsky.team`.
- The parameter for this Bluesky operation. Use the URL-visible slug or id described in the docs.
This operation is part of the Bluesky API in the social platforms category. It uses the same Bearer token, request tracing, error model, and billing envelope as every UnifAPI endpoint, so agents can switch between platforms without custom per-vendor glue code.
Use it when a workflow needs Bluesky public data alongside other social networks, but should still keep one API key, one account balance, and one predictable JSON contract.
Common agent workflows
- Resolve a public Bluesky identity into structured profile metadata for enrichment agents.
- Refresh creator, company, or account snapshots without managing source-specific response shapes.
- Give an AI agent a stable Bluesky data source without building a per-platform integration.
- Normalize Bluesky responses into the same UnifAPI envelope used across the catalog.
Unified envelope, platform-native fields
- Lookup responses return one canonical object in `data` with stable identifiers, source URLs where available, and platform-specific metadata normalized into predictable JSON.
- The operation has a 3 credits ($0.003) minimum charge, so `billing.records_charged` can be higher than the visible records returned.
- A not-found or invalid-input condition uses the unified UnifAPI error shape, so callers do not need special handling for each source platform.
Response status codes
Billing
This operation charges 1 credit per billable record, with a 3 credits ($0.003) operation minimum. Public responses include billing metadata with credits charged, records charged, and remaining workspace balance. Incorrect Credit deductions caused by platform failures can be restored as billing corrections.
Errors and retries
Authentication, validation, rate-limit, not-found, and provider errors use the unified UnifAPI error format. Agents should log `request_id`, retry only retryable failures, and treat invalid API keys, disabled keys, and expired keys as the same public `unauthorized` error type.
Fields in the data object
A successful Get a Bluesky profile call returns one data object with these fields.
- platformstring | null
- Social platform for this profile. One of: bluesky.
- usernamestring | null
- Bluesky handle without the leading @.
- display_namestring | null
- Public display name shown on the Bluesky profile.
- biostring | null
- Profile biography text.
- avatar_urlstring | null
- Best available avatar image URL for the profile.
- is_verifiedboolean | null
- Whether the profile is marked as verified.
- profile_urlstring | null
- Canonical public Bluesky profile URL.
- platform_user_idstring | null
- Stable Bluesky user id as a string.
- created_atnumber | null
- ISO-8601 timestamp when the profile was created. Unix seconds.
- follower_countnumber | null
- Follower count for the profile when available.
- following_countnumber | null
- Following count for the profile when available.
- post_countnumber | null
- Post count for the profile when available.
More Bluesky operations
Combine endpoints from the same platform, then join the results with other UnifAPI categories without changing authentication or response parsing.
List posts from a Bluesky profile
Returns recent posts from a public Bluesky profile, newest first, with text, embeds and like, repost and reply counts. Paginate with `cursor`.
Get a Bluesky post
Returns one Bluesky post by author handle and post id (the record key at the end of a bsky.app post link), with replies. Returns `not_found` when the post does not exist.