When API producer teams push schemas to the Buf Schema Registry (BSR), it automatically generates SDKs that package up code generated from their Protobuf files and plugins in multiple languages, which can be used from package managers like NPM, Go, Maven, Gradle, Swift Package Manager, and pip. Client teams can consume these SDKs using the language and tool of their choice, just like any other dependency. This greatly simplifies workflows for your teams, so they can focus on building features instead of manually generating code.

  • Natively integrate generated SDKs across backend, frontend, and mobile clients
  • Consume SDKs without worrying about your Protobuf environment, compiler, or plugins
  • Iterate on staged API changes using pre-release SDKs before merging schemas to main
  • Take advantage of the BSR's automatic organization-wide SDK caching
  • Automatically pick up version changes using Dependabot or similar tools

In addition to simpler dependency management, generated SDKs also make iterating on Protobuf APIs easier. Schemas committed to development branches in the BSR produce SDKs, allowing consumer teams to work with pre-release client code before pushing their APIs to main. Consumers can use the latest version of a generated SDK by default or pin it to a specific branch, commit, or tag instead.

Go to the tutorial to learn how to install from the BSR, or the usage guides linked below for manual installation instructions and specific versioning syntax.

Supported languages

The BSR currently supports generated SDKs for these languages: