AT Protocol website screenshot

AT Protocol

AT Protocol (Authenticated Transfer Protocol) is an open, federated social networking protocol developed by Bluesky Social PBC that powers the Bluesky social network and its 40M+ users. The protocol defines a public HTTP API surface via XRPC (cross-resolver protocol calls) organized under Lexicon schemas that cover identity (DIDs and handles), repository management, feed generation, labeling, and moderation. Developers can tap into a public firehose WebSocket event stream without API keys, and write operations use OAuth 2.0 or JWT bearer tokens for authentication. All data is stored in user-owned signed repositories and is 100% publicly accessible, making the protocol suitable for building social apps, feed generators, labelers, and bots.

AT Protocol publishes 9 APIs on the APIs.io network, including actor API, feed API, graph API, and 6 more. Tagged areas include Social Networking, Decentralized, Federated, Open-Source, and Bluesky.

The AT Protocol catalog on APIs.io includes 1 JSON-LD context and 1 Spectral governance ruleset.

AT Protocol’s developer surface includes authentication, documentation, engineering blog, and 12 more developer resources.

47.5/100 developing ▬ flat Agent 24/100 agent aware saas Full breakdown ↓
scored 2026-09-08 · rubric v0.20.0
AccessFreeOpen⚡ Free to try
2 APIs
Social NetworkingDecentralizedFederatedOpen-SourceBlueskyFediverseIdentityXRPCLexicon

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-09-08 · rubric v0.20.0
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it carries 10 points of the composite. It is scored from the published contracts themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in front of it, and the first time that check is skipped a duplicate record is created. Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet, not penalised by it.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from github.com/api-evangelist/atproto: open an issue to ask a question, or submit a pull request to add artifacts. Submit an artifact on GitHub — free → Manage your own listing — the Influence plan, $499/mo →

APIs 15

Individual APIs this provider publishes, each with its own machine-readable definition.

AT Protocol Firehose (Event Stream)

Public WebSocket event stream providing real-time access to all public activity on the AT Protocol network, including posts, likes, follows, and other repository events. No API ...

AT Protocol actor API

Actor (user) profile, search, and preference operations

AT Protocol feed API

Feed, post, timeline, and content operations

AT Protocol graph API

Graph operations — follows, blocks, lists, and mutes

AT Protocol identity API

DID and handle resolution, identity management

AT Protocol notification API

Notification management

AT Protocol repo API

Repository management, record CRUD operations

AT Protocol server API

Server management, session creation, account administration

AT Protocol sync API

Data synchronization, firehose, blob access

AT Protocol XRPC API

XRPC is the AT Protocol's HTTP-based remote procedure call layer. All protocol interactions — querying records, writing records, subscribing to streams, resolving identity, mode...

AT Protocol Lexicon Schemas

Lexicon is the schema definition language for AT Protocol. Every record type, XRPC method, and event subscription on the network is described by a Lexicon document, which acts a...

Personal Data Server (PDS) API

The PDS hosts a user's repository of signed records and exposes the com.atproto.* XRPC methods for account creation, authentication, record CRUD, blob upload, and repository syn...

AT Protocol Relay & Firehose

The Relay aggregates the com.atproto.sync.subscribeRepos firehose across PDS hosts and re-broadcasts the combined event stream over WebSocket. AppViews and indexers subscribe to...

Bluesky AppView API

The Bluesky AppView indexes the firehose and exposes the app.bsky.* XRPC methods that the Bluesky client (and any compatible client) uses to render timelines, threads, profiles,...

AT Protocol Identity (DID & Handles)

Identity in AT Protocol is anchored in DIDs (did:plc or did:web), with human-readable handles resolved through DNS TXT records or well-known HTTP endpoints. The protocol specifi...

Scroll for all 15

Open Collections 9

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

API Collection

OPEN COLLECTION

Scroll for all 9

Pricing Plans 1

Published pricing tiers and plan structures.

Atproto Plans Pricing

3 plans

PLANS

Rate Limits 1

Documented rate limits and quota policies.

Atproto Rate Limits

17 limits

RATE LIMITS

FinOps 1

Cost, billing, and metering signals for API financial operations.

Semantic Vocabularies 1

JSON-LD contexts and semantic vocabularies used across these APIs.

Atproto Context

17 classes · 43 properties

JSON-LD

Spectral Rules 1

Spectral governance rulesets for linting and validating these APIs.

AT Protocol API Rules

5 rules · 3 warnings 2 info

SPECTRAL

JSON Schema 3

Standalone JSON Schema definitions for this provider's data models.

Bluesky Post (app.bsky.feed.post)

9 properties

JSON SCHEMA

AT Protocol Session

10 properties

JSON SCHEMA

Examples 4

Example request and response payloads for these APIs.

Security Posture 2

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Atproto Authentication

http · 1 scheme

SECURITY

Atproto Domain Security

TLSv1.3 · DMARC

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Atproto Agentic Access

37 operations · 11 acting

37 operations · 11 acting

AGENTIC

Resources

Documentation 1

Reference material describing how the API behaves

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Build 3

SDKs, sample code, and the tooling you integrate with

Access & Security 2

Authentication, authorization, and security posture

Operate 2

Status, limits, changes, and where to get help

Commercial 2

Pricing, plans, and the legal terms of use

Company 3

The organization behind the API

Other 1

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: atproto
name: AT Protocol
description: AT Protocol (Authenticated Transfer Protocol) is an open, federated social networking protocol developed by Bluesky
  Social PBC that powers the Bluesky social network and its 40M+ users. The protocol defines a public HTTP API surface via
  XRPC (cross-resolver protocol calls) organized under Lexicon schemas that cover identity (DIDs and handles), repository
  management, feed generation, labeling, and moderation. Developers can tap into a public firehose WebSocket event stream
  without API keys, and write operations use OAuth 2.0 or JWT bearer tokens for authentication. All data is stored in user-owned
  signed repositories and is 100% publicly accessible, making the protocol suitable for building social apps, feed generators,
  labelers, and bots.
type: Index
deliveryModel:
  model: saas
  open_source: false
  commercial: true
  callable_host: true
  label: Hosted service · you call their endpoint
  confidence: high
  source:
  - openapi
  - pricing
  generated: '2026-08-28'
  method: derived
accessModel:
  pricing: free
  onboarding: open
  trial: false
  try_now: true
  public: true
  label: Free · Open access
  confidence: high
  source:
  - plans
  - authentication
  generated: '2026-07-22'
  method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/atproto.png
tags:
- Social Networking
- Decentralized
- Federated
- Open-Source
- Bluesky
- Fediverse
- Identity
- XRPC
- Lexicon
tags_raw:
- Social Networking
- Decentralized
- Federated
- Open Source
- Bluesky
- Fediverse
- Identity
- XRPC
- Lexicon
url: https://raw.githubusercontent.com/api-evangelist/atproto/refs/heads/main/apis.yml
created: '2026-06-12'
modified: '2026-06-12'
specificationVersion: '0.23'
apis:
- aid: atproto:firehose
  name: AT Protocol Firehose (Event Stream)
  description: Public WebSocket event stream providing real-time access to all public activity on the AT Protocol network,
    including posts, likes, follows, and other repository events. No API key is required to subscribe. Useful for building
    feed generators, search engines, bots, and analytics tools.
  humanURL: https://atproto.com/specs/event-stream
  baseURL: wss://jetstream1.us-east.bsky.network/subscribe
  tags:
  - Firehose
  - WebSocket
  - Real-Time
  - Event
  - Streaming
  tags_raw:
  - Firehose
  - WebSocket
  - Real-Time
  - Events
  - Streaming
  properties:
  - type: Documentation
    url: https://atproto.com/specs/event-stream
- aid: atproto:atproto-actor-api
  name: AT Protocol actor API
  description: Actor (user) profile, search, and preference operations
  humanURL: https://atproto.com/specs/xrpc
  baseURL: https://bsky.social/xrpc
  tags:
  - Actor
  tags_raw:
  - actor
  properties:
  - type: OpenAPI
    url: openapi/atproto-actor-api-openapi.yml
  - type: Documentation
    url: https://atproto.com/specs/xrpc
  - type: Documentation
    url: https://atproto.com/guides/overview
  - type: Documentation
    url: https://docs.bsky.app/docs/advanced-guides/atproto
  - type: Documentation
    url: https://endpoints.bsky.app/
- aid: atproto:atproto-feed-api
  name: AT Protocol feed API
  description: Feed, post, timeline, and content operations
  humanURL: https://atproto.com/specs/xrpc
  baseURL: https://bsky.social/xrpc
  tags:
  - Feed
  tags_raw:
  - feed
  properties:
  - type: OpenAPI
    url: openapi/atproto-feed-api-openapi.yml
  - type: Documentation
    url: https://atproto.com/specs/xrpc
  - type: Documentation
    url: https://atproto.com/guides/overview
  - type: Documentation
    url: https://docs.bsky.app/docs/advanced-guides/atproto
  - type: Documentation
    url: https://endpoints.bsky.app/
- aid: atproto:atproto-graph-api
  name: AT Protocol graph API
  description: Graph operations — follows, blocks, lists, and mutes
  humanURL: https://atproto.com/specs/xrpc
  baseURL: https://bsky.social/xrpc
  tags:
  - Graph
  tags_raw:
  - graph
  properties:
  - type: OpenAPI
    url: openapi/atproto-graph-api-openapi.yml
  - type: Documentation
    url: https://atproto.com/specs/xrpc
  - type: Documentation
    url: https://atproto.com/guides/overview
  - type: Documentation
    url: https://docs.bsky.app/docs/advanced-guides/atproto
  - type: Documentation
    url: https://endpoints.bsky.app/
- aid: atproto:atproto-identity-api
  name: AT Protocol identity API
  description: DID and handle resolution, identity management
  humanURL: https://atproto.com/specs/xrpc
  baseURL: https://bsky.social/xrpc
  tags:
  - Identity
  tags_raw:
  - identity
  properties:
  - type: OpenAPI
    url: openapi/atproto-identity-api-openapi.yml
  - type: Documentation
    url: https://atproto.com/specs/xrpc
  - type: Documentation
    url: https://atproto.com/guides/overview
  - type: Documentation
    url: https://docs.bsky.app/docs/advanced-guides/atproto
  - type: Documentation
    url: https://endpoints.bsky.app/
- aid: atproto:atproto-notification-api
  name: AT Protocol notification API
  description: Notification management
  humanURL: https://atproto.com/specs/xrpc
  baseURL: https://bsky.social/xrpc
  tags:
  - Notification
  tags_raw:
  - notification
  properties:
  - type: OpenAPI
    url: openapi/atproto-notification-api-openapi.yml
  - type: Documentation
    url: https://atproto.com/specs/xrpc
  - type: Documentation
    url: https://atproto.com/guides/overview
  - type: Documentation
    url: https://docs.bsky.app/docs/advanced-guides/atproto
  - type: Documentation
    url: https://endpoints.bsky.app/
- aid: atproto:atproto-repo-api
  name: AT Protocol repo API
  description: Repository management, record CRUD operations
  humanURL: https://atproto.com/specs/xrpc
  baseURL: https://bsky.social/xrpc
  tags:
  - Repo
  tags_raw:
  - repo
  properties:
  - type: OpenAPI
    url: openapi/atproto-repo-api-openapi.yml
  - type: Documentation
    url: https://atproto.com/specs/xrpc
  - type: Documentation
    url: https://atproto.com/guides/overview
  - type: Documentation
    url: https://docs.bsky.app/docs/advanced-guides/atproto
  - type: Documentation
    url: https://endpoints.bsky.app/
- aid: atproto:atproto-server-api
  name: AT Protocol server API
  description: Server management, session creation, account administration
  humanURL: https://atproto.com/specs/xrpc
  baseURL: https://bsky.social/xrpc
  tags:
  - Server
  tags_raw:
  - server
  properties:
  - type: OpenAPI
    url: openapi/atproto-server-api-openapi.yml
  - type: Documentation
    url: https://atproto.com/specs/xrpc
  - type: Documentation
    url: https://atproto.com/guides/overview
  - type: Documentation
    url: https://docs.bsky.app/docs/advanced-guides/atproto
  - type: Documentation
    url: https://endpoints.bsky.app/
- aid: atproto:atproto-sync-api
  name: AT Protocol sync API
  description: Data synchronization, firehose, blob access
  humanURL: https://atproto.com/specs/xrpc
  baseURL: https://bsky.social/xrpc
  tags:
  - Sync
  tags_raw:
  - sync
  properties:
  - type: OpenAPI
    url: openapi/atproto-sync-api-openapi.yml
  - type: Documentation
    url: https://atproto.com/specs/xrpc
  - type: Documentation
    url: https://atproto.com/guides/overview
  - type: Documentation
    url: https://docs.bsky.app/docs/advanced-guides/atproto
  - type: Documentation
    url: https://endpoints.bsky.app/
- aid: atproto:atproto-xrpc
  name: AT Protocol XRPC API
  description: 'XRPC is the AT Protocol''s HTTP-based remote procedure call layer. All

    protocol interactions — querying records, writing records, subscribing

    to streams, resolving identity, moderating content — are exposed as

    XRPC methods defined in Lexicon schemas. PDS, Relay, and AppView

    services all speak XRPC, so the same client library can be pointed at

    different network roles. The HTTP surface uses /xrpc/{nsid} paths and

    JSON request/response bodies (with optional CBOR for record content).

    '
  humanURL: https://atproto.com/specs/xrpc
  baseURL: https://atproto.com/xrpc
  tags:
  - XRPC
  - RPC
  - HTTP
  - JSON
  - Protocol Surface
  properties:
  - type: Specification
    url: https://atproto.com/specs/xrpc
  - type: Documentation
    url: https://atproto.com/guides/glossary
  - type: GitHubOrganization
    url: https://github.com/bluesky-social
- aid: atproto:lexicon
  name: AT Protocol Lexicon Schemas
  description: 'Lexicon is the schema definition language for AT Protocol. Every

    record type, XRPC method, and event subscription on the network is

    described by a Lexicon document, which acts as both contract and code

    generation source for client libraries. Bluesky publishes the

    app.bsky.* and com.atproto.* lexicons that power the reference

    Bluesky application; third parties define their own NSIDs to ship

    independent applications on the same network.

    '
  humanURL: https://atproto.com/guides/lexicon
  baseURL: https://atproto.com/lexicons
  tags:
  - Lexicon
  - Schema
  - NSID
  - Record Types
  properties:
  - type: Documentation
    url: https://atproto.com/guides/lexicon
  - type: Specification
    url: https://atproto.com/specs/lexicon
  - type: Repository
    url: https://github.com/bluesky-social/atproto/tree/main/lexicons
- aid: atproto:pds-api
  name: Personal Data Server (PDS) API
  description: 'The PDS hosts a user''s repository of signed records and exposes the

    com.atproto.* XRPC methods for account creation, authentication,

    record CRUD, blob upload, and repository sync. A PDS is the home

    server for an actor; users can migrate their account (and full

    record history) between PDS hosts while keeping the same DID.

    '
  humanURL: https://atproto.com/guides/self-hosting
  baseURL: https://atproto.com/xrpc/com.atproto
  tags:
  - PDS
  - Personal Data Server
  - Repository
  - Sync
  - Self-Hosting
  properties:
  - type: Documentation
    url: https://atproto.com/guides/self-hosting
  - type: Specification
    url: https://atproto.com/specs/repository
  - type: Reference
    url: https://github.com/bluesky-social/atproto/tree/main/packages/pds
- aid: atproto:relay-firehose
  name: AT Protocol Relay & Firehose
  description: 'The Relay aggregates the com.atproto.sync.subscribeRepos firehose

    across PDS hosts and re-broadcasts the combined event stream over

    WebSocket. AppViews and indexers subscribe to a Relay to get a

    near-real-time view of every public record written on the network

    without polling individual PDS instances.

    '
  humanURL: https://atproto.com/guides/glossary
  baseURL: wss://bsky.network
  tags:
  - Relay
  - Firehose
  - WebSocket
  - Streaming
  - Sync
  properties:
  - type: Specification
    url: https://atproto.com/specs/sync
  - type: Reference
    url: https://github.com/bluesky-social/indigo
  - type: AsyncAPI
    url: https://raw.githubusercontent.com/api-evangelist/at-protocol/refs/heads/main/asyncapi/at-protocol-asyncapi.yml
- aid: atproto:bsky-appview
  name: Bluesky AppView API
  description: 'The Bluesky AppView indexes the firehose and exposes the app.bsky.*

    XRPC methods that the Bluesky client (and any compatible client)

    uses to render timelines, threads, profiles, notifications, search,

    and graph data. It is the reference AppView for the app.bsky lexicon

    family and the primary read API for Bluesky applications.

    '
  humanURL: https://docs.bsky.app/
  baseURL: https://public.api.bsky.app/xrpc
  tags:
  - AppView
  - Bluesky
  - Timelines
  - Feed
  - Graph
  - Notification
  tags_raw:
  - AppView
  - Bluesky
  - Timeline
  - Feed
  - Graph
  - Notifications
  properties:
  - type: Documentation
    url: https://docs.bsky.app/
  - type: APIReference
    url: https://docs.bsky.app/docs/category/http-reference
  - type: Lexicons
    url: https://github.com/bluesky-social/atproto/tree/main/lexicons/app/bsky
- aid: atproto:identity-did
  name: AT Protocol Identity (DID & Handles)
  description: 'Identity in AT Protocol is anchored in DIDs (did:plc or did:web),

    with human-readable handles resolved through DNS TXT records or

    well-known HTTP endpoints. The protocol specifies how DIDs map to

    PDS endpoints, signing keys, and rotation, allowing users to keep

    a stable identity while changing handles or migrating providers.

    '
  humanURL: https://atproto.com/specs/did
  baseURL: https://plc.directory
  tags:
  - Identity
  - DID
  - did:plc
  - Handles
  - DNS
  properties:
  - type: Specification
    url: https://atproto.com/specs/did
  - type: Specification
    url: https://atproto.com/specs/handle
  - type: Services
    url: https://plc.directory/
common:
- type: AgenticAccess
  url: agentic-access/atproto-agentic-access.yml
- type: DomainSecurity
  url: security/atproto-domain-security.yml
- type: Authentication
  url: authentication/atproto-authentication.yml
- type: Website
  url: https://atproto.com/
- type: Documentation
  url: https://atproto.com/guides/overview
- type: Blog
  url: https://atproto.com/blog
- type: GitHubOrganization
  url: https://github.com/bluesky-social
- type: LinkedIn
  url: https://www.linkedin.com/company/bluesky-pbc
- type: X
  url: https://twitter.com/at_protocol
- type: StatusPage
  url: https://status.bsky.app/
- type: SDKs
  url: https://github.com/bluesky-social/atproto/tree/main/packages
- type: SDKs
  url: https://github.com/bluesky-social/indigo
- type: Plans
  url: plans/atproto-plans-pricing.yml
- type: RateLimits
  url: rate-limits/atproto-rate-limits.yml
- type: FinOps
  url: finops/atproto-finops.yml
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com

Work with this as data

Every provider here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for providers

9 MCP tools reach this
  • find_providersBrowse and filter every provider in the catalog.
  • get_provider_artifactsEvery artifact this provider publishes, grouped by type.
  • get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
  • get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
  • get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
  • get_provider_ratingPRO — composite, band, trend and facet scores.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This provider
curl "https://apis.io/api/v1/providers/atproto"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/atproto/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/atproto/evidence"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.