The Buf 
Schema Registry

Schema distribution, discovery and documentation with built-in API policy evaluation

Consume and publish APIs without friction

The Buf Schema Registry (BSR) is the source of truth for tracking and evolving your Protobuf APIs. A centralized registry, it enables you to maintain compatibility and manage dependencies while enabling your clients to consume APIs reliably and efficiently. A centralized Protobuf-aware registry has the added benefit of protecting against broken builds.

Streamline

Automatically generate SDKs for API consumers.

Document

Generate API documentation for every schema.

Safeguard

Changes to your API won't break downstream consumers.

Integrate

Verifies and maintains the most commonly used plugins.

Professional Protobuf Management

Package manager for Protobuf
Dependency management for .proto files that works like any other language: declare dependencies and just buf dep update. No more git submodules, custom shell scripts, or hoping everyone has the right versions.
Build-time governance
Breaking schema changes are stopped in CI/CD and pull requests, not when they break downstream systems. The BSR is your Protobuf expert automatically checking every commit for every subtle change, from wire format to JSON field naming.
Effortless SDKs
npm install, go get, or cargo add buf.build/acme/users and you’re done. No protoc setup, no plugin configuration, no “works on my machine” problems.
Documentation without burden
The BSR turns well-commented .proto files into organized, indexed, searchable docs automatically, for every version of your schemas. No new tools, no scripts to run, and no docs that fall behind your code.
Schema validation at the broker
Use the BSR with Bufstream and Protovalidate to bring server-side validation to your Kafka data, stopping bad data at the source.
One schema language
The BSR is your single source of Protobuf truth from network APIs to Kafka topics to data lakes. Instead of OpenAPI, Avro, and even SQL schemas, just define .proto once and use it everywhere.

The source of truth for tracking and evolving Protobuf APIs

Generated SDKs

Automatically generate SDKs for API consumers that integrate with widely used package managers, eliminating the need to manually generate code for each language in your organization's stack.

Browse integrations
// A notification sent to a user.
message Notification {
   // Unique identifier for this notification.
   string id = 1;
   // ID of the user who will receive this notification.
   string recipient_id = 2;
   // The notification message text.    
   tring content = 3;
}

API documentation

Generate API documentation for every schema stored in the BSR. The BSR docs engine accepts markdown and machine-readable formats and surfaces docs for modules and top-level packages. Docs automatically include custom options and code examples to help your team discover, learn about, and explore your API surface area.

Learn more

Policy checks

Enable server-side policy checks to ensure that changes to your API don't break downstream consumers. Policy checks require dedicated approvers to review changes, ensuring that the right team members are aware of changes and that your API evolves safely over time.

Learn more
version: v2
plugins:
  # Generate message and enum types for Go.
  - remote: buf.build/protocolbuffers/go
    out: gen
    opt: paths=source_relative
  # Generate Go client and server stubs for
  # Connect.
  - remote: buf.build/connectrpc/gosimple
    out: gen
    opt: paths=source_relative

Remote plugins

Buf verifies and maintains the most commonly used plugins across the Protobuf ecosystem and hosts them publicly on the BSR, eliminating the need to understand the complex mechanics of protoc or maintain, download, or run plugins on your local machine.

Browse plugins

The missing package manager for Protobuf

Build guarantees

Since the BSR is a Protobuf-aware registry, it prevents Protobuf files that don't compile from being pushed to the origin in the first place. Your consumers can have confidence that Protobuf files consumed from the BSR aren't broken and can compile. Everyone in the ecosystem benefits because compilation guarantees are pushed from the individual to the BSR.

Single source of truth

The BSR offers a centralized registry to store all your Protobuf files, simplifying the process of publishing and consuming. By making the BSR the single source of truth, it's possible to power developer workflows and business processes around Protobuf without worrying how to keep everything in sync.

CI/CD Integrations

The Buf GitHub Action makes it easy to run the Buf CLI within a workflow to check for build, lint, format, and breaking change errors, and automatically publish schema changes to the BSR. If you're not using GitHub, the Buf CLI is easy to integrate into other CI/CD systems.

Build guarantees

Since the BSR is a Protobuf-aware registry, it prevents Protobuf files that don't compile from being pushed to the origin in the first place. Your consumers can have confidence that Protobuf files consumed from the BSR aren't broken and can compile. Everyone in the ecosystem benefits because compilation guarantees are pushed from the individual to the BSR.

Smiling man wearing glasses and a checkered shirt sitting at a desk with a keyboard and computer screen showing code.

Get started with the Buf Schema Registry

Across your entire data stack — from your network APIs to your streaming data to your data lake.