Zernio
APIFor you
Zernio
APIFor you
Platforms

Bluesky

Overview

Publish

Posts & ThreadsMedia requirements

Engage

AnalyticsInbox

Reference

Limits & errors
Dashboard
OverviewPlatformsAPI ReferenceResources
All platforms

Bluesky

Social Posting

Publish text, image, video and thread posts to Bluesky with the Zernio API, connected with an app password instead of OAuth.

Authentication details

Connecting accounts guide
App Password

Connect endpoints

  • POST /v1/connect/bluesky/credentialsConnect Bluesky account
Read the full connect steps in the guide

Publish text, image, video and thread posts to Bluesky with POST /v1/posts and platform: "bluesky".

Bluesky connects with an app password instead of OAuth. The same account also serves DMs and comments.

Quick reference

PropertyValue
Character limit300 (hard limit)
Images per post4
Videos per post1
Image formatsJPEG, PNG, WebP, GIF
Image max size1 MB (auto-compressed)
Video formatMP4 only
Video max size50 MB
Video max duration60 seconds
Post typesText, Image, Video, Thread
SchedulingYes
Inbox (DMs)Yes (text only)
Inbox (comments)Yes
AnalyticsLimited (likes, comments, reposts)

Before you start

Bluesky requires an app password for the account, created in Bluesky's settings, and a handle. Custom domain handles work (brand.com as well as brand.bsky.social).

The 300-character count includes text, URLs and mentions.

Cross-posting from a platform with a longer limit? Set customContent on the Bluesky entry with a shorter version, or the Bluesky entry fails.

Connect

Call POST /v1/connect/bluesky/credentials with the handle, the app password and state (Connect Bluesky account).

state is {userId}-{profileId}. userId is currentUserId from GET /v1/users, and profileId comes from GET /v1/profiles.

The full sample is under Bluesky in the connecting accounts guide.

Terminal
curl -X POST https://zernio.com/api/v1/connect/bluesky/credentials \
  -H "Authorization: Bearer $ZERNIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "identifier": "yourhandle.bsky.social",
    "appPassword": "xxxx-xxxx-xxxx-xxxx",
    "state": "66a0e8b1c2d3e4f5a6b7c8d9-66a1f0c2a4b9d3e8f1a2b3c4"
  }'

Response (200):

JSON
{
  "message": "Bluesky connected successfully",
  "account": {
    "platform": "bluesky",
    "username": "yourhandle.bsky.social",
    "displayName": "Your Name",
    "isActive": true
  }
}

There are no OAuth scopes. The app password grants API access to the account over the AT Protocol, without exposing the main password.

The user can revoke it at any time from Bluesky's settings.

In this section

Posts & Threads

Publish a text, image, video or thread post to Bluesky, set the post language, and every platformSpecificData field.

Media requirements

Image and video requirements for Bluesky posts.

Analytics

Which engagement metrics Bluesky returns for posts.

Inbox

Text direct messages and comments on Bluesky through the inbox API.

Limits & errors

What Bluesky's API does not expose and the common errors when publishing.

Related

  • Connecting accounts: the app-password flow.
  • Create post: every field of the request.
  • Media uploads: upload images and videos instead of hosting them.
  • Analytics: post performance metrics.
  • Messages and Comments: the inbox API.

Bluesky

12
  • GET
  • POST
  • GET
  • DELETE
  • GET
  • GET
  • GET
  • POST
  • GET
  • POST
  • GET
  • PATCH

Publishing

24· Unified API, shared with other platforms
  • POST
  • POST
  • POST
  • POST
  • GET
  • POST
  • GET
  • PUT
  • DELETE
  • POST
  • POST
  • POST

Analytics

8· Unified API, shared with other platforms
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET
  • GET

Direct messages

24· Unified API, shared with other platforms
  • GET
  • POST
  • GET
  • GET
  • PUT
  • DELETE
  • GET
  • POST
  • PATCH
  • DELETE
  • POST
  • POST

Comments

15· Unified API, shared with other platforms
  • GET
  • GET
  • POST
  • DELETE
  • PATCH
  • POST
  • POST
  • DELETE
  • POST
  • DELETE
  • POST
  • DELETE

Bluesky

3

Publishing

15· Unified API, shared with other platforms

Analytics

1· Unified API, shared with other platforms
Was this page helpful?

Limits & errors

What Reddit's API does not expose and the common errors when publishing.

Posts & Threads

Publish a text, image, video or thread post to Bluesky, set the post language, and every platformSpecificData field.

On this page

Quick referenceBefore you startConnectIn this sectionRelated