Quick Start Guide

Bluesky PBC maintains a TypeScript protocol implementation. The API is available for use here.

To get started with this package, install:

npm install @atproto/api

To import this package in your application, use:

import { BskyAgent } from '@atproto/api'

Set your username and password as environment variables. Create a Bluesky agent and login with the below excerpt:

const agent = new BskyAgent({ service: 'https://bsky.social' })

await agent.login({
  identifier: process.env.BLUESKY_USERNAME!,
  password: process.env.BLUESKY_PASSWORD!,

To use this agent to create a post:

await agent.post({
    text: "Hello world"

View more sample API calls in the package documentation.

More Protocol Implementations

For libraries in more languages, visit the community projects page.


We publish blogs for a developer audience here.

We publish blog posts for a general audience on the Bluesky site here, for example:

Join the Federated Sandbox

No waitlist or invite code required to join this self-hosted sandbox environment. The production network will open to federation soon.

Guidelines and Instructions