---
title: "Bluesky API"
description: "Use Ayrshare's Bluesky API to publish text, images, video, and links, schedule them, and get analytics for your users, through one REST API for 14+ networks."
canonical: https://www.ayrshare.com/bluesky-api/
lastModified: 2026-11-05
pageType: landing
---

# Bluesky API

> Use Ayrshare's Bluesky API to publish text, images, video, and links, schedule them, and get analytics for your users, through one REST API for 14+ networks.

## Bluesky API for Posting, Scheduling, and Analytics

Ayrshare's Bluesky API lets developers publish text, images, video, and link previews to Bluesky accounts via a single REST endpoint. It supports scheduled posts, alt text, mentions, comments, post history, and analytics across 14+ social networks through one integration.

Your users link their own Bluesky account inside your product with their handle and an app password. Ayrshare handles the AT Protocol for you: sessions, media upload, link preview cards, and post records.

[Read the Bluesky Docs](/docs/apis/post/social-networks/bluesky)
[Get Your API Key](/pricing/)

- **>99.99%** — API uptime
- **30M+** — API calls per day
- **14+** — Social media networks
- **AI-Native** — Native MCP server for any AI agent

## What Do You Need to Use the Bluesky API?

You need one API key and a user who links their Bluesky account with a handle and an app password. Ayrshare speaks the AT Protocol, so there is no client to write, no session handling, and no OAuth client to register before your first post.

After that, Ayrshare keeps the integration running: sessions, blob uploads, facets for links and mentions, video dimensions, and new Bluesky features as they ship.

- **Access**: Your users link any Bluesky account, including accounts on self-hosted servers, with their handle and an app password they can revoke at any time. Ayrshare stores the session, not their sign-in password.
- **Ongoing maintenance**: Bluesky's rules move: video limits, weighted character counts, and record formats all changed in the last year. Ayrshare updates the AT Protocol client and adds new Bluesky features as they ship, so you don't have to.
- **Account types**: Any Bluesky account. There's no separate business account type, so creators, brands, and bots all link the same way.
- **Alt text and link previews**: Pass an altText entry per image and Ayrshare attaches it to the post record. Put a URL in the text and Ayrshare builds the preview card and turns @handles and links into facets.

## Post and Schedule to Bluesky in Your Language

Each sample publishes an image post with a link preview now, then schedules a video for later. Same endpoint, same JSON, in Node.js, Python, PHP, Java, Go, Ruby, C#, or plain cURL. Add a Profile-Key header to post for one of your users.

[Full Post API Reference](/docs/apis/post/overview)

- **cURL**
- **Node.js**
- **Python**
- **PHP**
- **Java**
- **Go**
- **Ruby**
- **C#**

## Bluesky API Limits: Post Types, Media, and Characters

Bluesky's rules in one place. The full list lives in the [Bluesky media guidelines](/docs/media-guidelines/bluesky) and the [Bluesky publishing options](/docs/apis/post/social-networks/bluesky).

- **4 images or 1 video (Post types)**: Text, text with a link preview, up to 4 images, or one video per post. Hashtags, emojis, and @handle mentions work in the post text.
- **Any Bluesky account (Accounts)**: Your user enters their handle, such as ayrshare.bsky.social, and an app password in the format XXXX-XXXX-XXXX-XXXX, never their sign-in password.
- **1 MB per image (Images)**: JPG, PNG, or animated GIF, 4 per post. 1200 x 627 px is the recommended size. Only one animated GIF per post, and it's sent as a video.
- **10 min max length (Video)**: One MP4 per post, from 1 second to 10 minutes, up to 300 MB, with an aspect ratio between 1:3 and 3:1. Ayrshare reads the real dimensions and sets the aspect ratio so the video renders without black bars.
- **300 weighted characters (Characters)**: Up to 300 characters per post, counted by Bluesky's own weighting. Check a post first with the /validate/post/length endpoint, which returns blueskyWeightedLength.
- **1 alt entry per media item (Alt text and link previews)**: Pass an altText array in blueSkyOptions, one entry per item in mediaUrls. Put a URL in the post text and Ayrshare attaches a link preview card.
- **5 mentions per post (Mentions)**: Write @handle in the post text. Ayrshare allows up to 5 mentions per post, and a linked account can mention the same handle once a day.
- **50 posts per account per day (Scheduling and limits)**: Pass a scheduleDate to publish later, and delete a scheduled post any time before it goes out. Ayrshare recommends no more than 50 Bluesky posts a day and allows 300 API calls per 5 minutes per profile.

## What Else Can You Do With the Bluesky API?

- **Post up to four images with alt text**: Send up to four image URLs in mediaUrls, with an altText array in blueSkyOptions that lists one description per image, in the same order.
- **Publish a video with its real dimensions**: One MP4 per post, up to 300 MB and 10 minutes, with an aspect ratio between 1:3 and 3:1. Ayrshare reads the video's real width and height and sets the aspect ratio on the post, so square and vertical videos render without black bars.
- **Post a link with a preview card**: Put the URL in the post text and Ayrshare adds the preview card, with no extra option needed. Mentions use @handle, up to 5 per post, and the whole post has to stay under 300 characters.
- **Add and read replies**: Use the Ayrshare post ID from the publish response to add a comment under your post, read the replies, reply to a comment, or delete one.
- **Read post and account analytics**: Post analytics return like, repost, reply, and quote counts with the post's at:// ID and content ID. Account analytics add followers, follows, and post counts.

## Why Use Ayrshare Instead of the Bluesky API Directly?

Ayrshare speaks the AT Protocol, so your product sends one request with text and media URLs and gets back the Bluesky post ID, content ID, and URL. Ayrshare stores each user's session, uploads images and video, builds the link preview card, turns @handles and URLs into facets, and applies alt text.

When Bluesky changes a rule, the fix ships on our side, not in your sprint.

For a step-by-step walkthrough, read [How to Post to Bluesky with an API](/blog/complete-guide-to-bluesky-api-integration-authorization-posting-analytics-comments/).

[See the Bluesky Publishing Options](/docs/apis/post/social-networks/bluesky)

- **One simple endpoint**: Just send a single POST request with your text, up to four image URLs or one video, alt text, and the user's Profile-Key. A URL in the text becomes a preview card. We keep the integration lean so your team can launch faster.
- **We speak the AT Protocol**: Sessions, blob uploads, facets for links and mentions, video dimensions, and the weighted length rules. None of it reaches your code.
- **Analytics on every post**: Get the at:// post ID, content ID, and URL right away. The same ID returns likes, reposts, replies, and quotes per post, plus account followers, follows, and post counts, in the same JSON format as every other network.

## Beyond Posting: The Rest of the Bluesky Lifecycle

The same Bluesky link that publishes also reads analytics, handles comments, pulls history, and checks posts before they go out.

See every network you can reach with the same integration on the [supported networks page](/supported-networks/).

- **Analytics**: Per-post likes, reposts, replies, and quotes, plus account followers, follows, and post counts, in the same JSON shape as every other network.
  - [Analytics API](/social-media-analytics-api/)
- **Comments**: Read the replies on a post, add a comment, reply to a comment made through Ayrshare, and delete comments.
  - [Engagement API](/social-media-engagement-api/)
- **History**: Pull an account's past Bluesky posts with their counts, including posts published outside Ayrshare.
  - [History API](/history-api/)
- **Pre-publish checks**: Check a post's weighted length against Bluesky's 300-character cap before you send it. The response includes blueskyWeightedLength and the maximum for each network.
  - [Post length docs](/docs/apis/validate/check-post-length)
- **Delete**: Remove a scheduled post before it goes out, or a published post afterwards, with the Ayrshare post ID.
  - [Delete post docs](/docs/apis/post/delete-post)

## FAQs About the Bluesky API

### Can I post to Bluesky through an API?

Yes, you can post to Bluesky through an API. Ayrshare's Bluesky API lets developers publish text, images, video, and link previews to Bluesky accounts via a single REST endpoint. It supports scheduled posts, alt text, mentions, comments, post history, and analytics across 14+ social networks through one integration. Start with the [Bluesky publishing options](/docs/apis/post/social-networks/bluesky).
### Is the Bluesky API free?

Yes, the Bluesky API is free: Bluesky charges nothing per call and has no paid tier for posting. Going direct costs engineering time instead, since you build and maintain the AT Protocol client, sessions, blob uploads, and facets yourself. Ayrshare's plans include Bluesky posting alongside every other network, on the same request you already send. [Compare Ayrshare plans](/pricing/).
### How do I get access to the Bluesky API?

You get access to the Bluesky API with any Bluesky account, since there's no developer program or app review. Scripts sign in with a handle and app password, and apps with an end user login use OAuth. Then you call the account's server directly. With Ayrshare, your users link their account once, and the [Post API reference](/docs/apis/post/overview) shows the one request you need.
### How do I publish to Bluesky with an API?

To publish to Bluesky with an API through Ayrshare, link the account, then send a POST /post request with platforms set to bluesky, your post text, and any mediaUrls. Add scheduleDate to publish later. The response returns the at:// post ID, content ID, and URL. The tutorial [How to Post to Bluesky with an API](/blog/complete-guide-to-bluesky-api-integration-authorization-posting-analytics-comments/) walks through a first post.
### Is Bluesky built on the AT Protocol?

Yes, Bluesky is built on the AT Protocol, an open, decentralized protocol where each account lives on a personal data server. Posts are records addressed by an at:// URI and a content ID, and anyone can build a client against it. Ayrshare handles that layer for you, so you send plain JSON instead of protocol records. See the [Bluesky docs](/docs/apis/post/social-networks/bluesky).
### Do I need an app password for the Bluesky API?

You need an app password for the Bluesky API when you sign in with a handle instead of OAuth, and that's how Ayrshare links Bluesky accounts. Your user creates one in Bluesky's settings, in the format XXXX-XXXX-XXXX-XXXX, and can revoke it any time without changing their sign-in password. See [how Ayrshare links your users' accounts](/business-plan-for-multiple-users/).

## Your Users Are on Bluesky. Your Product Can Be Too.

Get an API key, publish your first Bluesky post, and turn on the other networks with the same call when you need them.

[Get Your API Key](/pricing/)
[Read the Bluesky Docs](/docs/apis/post/social-networks/bluesky)
