We've launched Connect for TypeScript, Kotlin, and Swift.Simple, reliable, and interoperable APIs for web, Node.js, Android, and iOS.
Get Started
The Buf Schema Registry
Free during beta
The only purpose built solution for managing the complete lifecycle of Protocol Buffers APIs
Start treating your API definition like the critical asset it is.
Buf Studio
A clean, interactive web UI for all your gRPC and Protobuf services.
Use Protobuf definitions hosted on the BSR to make requests directly from the browser to a live gRPC, gRPC-web, or Connect server.
Buf Studio
Debug Protobuf definitions more efficiently by making real production requests to quickly understand the responses being returned.
Enable non-technical teams to make requests against key APIs for business intelligence purposes, and share saved requests for common queries.
Validate changes to your APIs while you develop them by making real-time requests to your testing or staging environments.
Generated API Documentation
Automatically generate easy to read documentation based on your Protocol Buffers schema.
Never write standalone API docs again.
Generated API Documentation
Improve service discovery by generating documentation for all of your API versions. All available in a browseable UI.
Make your service easier to grok with a consistent visual representation, updated in real time for every new version of your API.
Dependency Management
Buf is finally bringing a dependency management solution to Protocol Buffers.
Buf is pioneering a Protocol Buffers module ecosystem, enabling you to make the most of your APIs.
Dependency Management
Call your APIs confidently, without having to coordinate with other teams or worry about breaks. Rely on a single source-of-truth.
Treat Protocol Buffers dependencies as first class citizens. No more manually copy-and-pasting external proto files into your source.
Stop vendoring commonly used proto files that litter your codebases.
Remote Library Generation
Automatically generate consistent client and server libraries for any version of your API.
*Currently available in Go, with more languages coming soon.
Remote Library Generation
Generate consistent, versioned libraries across all of your services without heavyweight custom build scripts.
Eliminate the need to manually manage generated assets.
Consume APIs as if they’re 3rd party libraries in your native language.
Coming Soon
Generated CLIs
Generate a CLI for your API definition, with configurable mapping from endpoint to the command and its arguments, flags, and help text.
Mock servers
Test your schema design without having to implement a server. The Buf generated mock-servers will spin up valid responses with mock data based solely on your proto definitions.
Custom enforced linting compatibility
Configure build requirements that enforce adherence to semantic versioning and lint checks on your published API.

Sign up for the newsletter

Thank you for signing up!
How it works
Take the tour
  1. 1
    Teams define Protocol Buffers schemas for services they own, leveraging the Buf CLI
    // pet.proto
    syntax = "proto3";
    package buf-team-demo.pet.v1;
    enum PetType {
        PET_TYPE_UNSET = 0;
        PET_TYPE_SNAKE = 1;
        PET_TYPE_CAMEL = 2;
    message Pet {
        PetType pet_type = 1;
        string pet_id = 2;
        string name = 3;
  2. 2
    The schema is pushed to the Buf Schema Registry.
    $ buf mod init --name buf.build/buf-team-demo/petapis
    $ buf beta registry repository create buf.build/buf-team-demo/petapis
    Full name
    $ buf push
    success: module buf-team-demo/demo pushed to the BSR
  3. 2
    Teams consume assets from Buf to interact with the service, including generated docs and libraries.
    # buf.yaml
    name: buf.build/otherteam/important-project-number-1
    version: v1
        - DEFAULT
        - FILE
    - buf.build/googleapis/googleapis
    - buf.build/buf-team-demo/petapis
Take the tour
Use the BSR with the Buf CLI to simplify your Protocol Buffers workflow
Learn more
Talk to our team about making your Protocol Buffers workflow easier.
Request a demo