Elevate your Protobuf workflow with the Buf Schema Registry

Explore plans that scale with you

Buf schema registry

Community

Get to know what the BSR has to offer.

Free

 
  • One private repository
  • Unlimited public repositories
  • Community Slack channel support

Compare pricing plans

FEATURES
Community
Teams
Pro
Enterprise
Public repositories
Unlimited
Unlimited
Unlimited
Unlimited
Private repositories
1
Unlimited
Unlimited
Unlimited
Dependency management
Generated documentation
Generated SDKs
Remote plugins
Runtime API access
Custom plugins
Policy Checks

Support

Community Slack channel support
Email support response SLA*
24 hours*
4 hours*
Custom
Dedicated Slack channel support
Dedicated Buf Customer Engineer
Uptime SLA
99%
99.5%

Security and Admin features

Private instance
Custom subdomain
Access to SOC 2 Audit and Pen Test Reports
Single Sign-On with SAML and OIDC
SCIM
Server admin and bulk user management
Comprehensive audit logging
Custom data retention requirements
Custom maintenance windows

Procurement support

Custom security and data privacy questionnaires
Custom contracting terms considered

Frequently asked questions

Types are any of the following:

  • Messages
  • Enums
  • RPCs

For example, this schema contains 6 types:

// 1
message Vehicle {
    string id = 1;
    Make make = 2;
}

// 2
enum Make {
    MAKE_UNSPECIFIED = 0;
    MAKE_ACME = 1;
}

// 3
message GetVehicleRequest {
    string id = 1;
}

// 4
message CreateVehicleRequest {
    Vehicle vehicle = 1;
}

service VehicleService {
    // 5
    rpc GetVehicle(GetVehicleRequest) returns (Vehicle);
    // 6
    rpc CreateVehicle(CreateVehicleRequest) returns (Vehicle);
}

We chose types because we wanted the value you get out of the BSR to be correlated to what you pay us, without requiring you to consider how to structure your APIs for optimal billing. The volume of API definitions you have stored on the BSR correlates with your usage of the BSR, and messages, enums, and RPCs make up the core of a Protobuf API definition. No matter how many repositories or users you have, your billing remains correlated to how much you actually use the BSR.

  • For Teams, any types within your organization that are in private repositories are billed.
  • For Pro, all types within your instance in public and private repositories are billed, as public repositories are still private to your instance. As an exception, all types within managed modules (such as googleapis) that Buf pushes to your instance on your behalf are not billed.

No, types in branches or tags are not currently counted when calculating your total types for billing.

Yes - in the Vehicle example below, your billing would be the same whether or not Make was nested within Vehicle:

// 1
message Vehicle {
    // 2
    enum Make {
        MAKE_UNSPECIFIED = 0;
        MAKE_ACME = 1;
    }
    string id = 1;
    Make make = 2;
}

Our CLI provides a tool to calculate this:

$ buf beta price

If your code works with buf lintbuf breaking, or buf generate, it will work with buf beta price. Run this command to estimate the cost of your types stored in the BSR, it's that simple. See the installation instructions to get started with the Buf CLI. Note that the command is in beta, and may change - make sure you are using the latest version of the CLI for the most up-to-date pricing estimations!

We calculate the average number of types over your billing cycle.

For example, on Teams:

  • If you have 100 types in private repositories during your billing cycle, you'll be billed $50 for the month.
  • If you have 100 types in private repositories for the first half of your billing cycle, and 200 types for the second half, you averaged 150 types over your billing cycle, and you'll be billed $75 for the month.

We want to ensure you're made aware when the number of types within your organization is higher than you expect. We know that mistakes happen, and we want you to be able to take corrective action as soon as possible. In order to receive notifications, you will need to configure usage alerts. Alerts will notify all organization admins via email when the configured threshold is exceeded.

Community plan users and organizations may have 1 private repo with up to 100 types. Teams and Pro organizations are entitled to unlimited private repositories with no limit on the number of types.

Not yet— it's something we'd like to add in the future. For now, if you want to utilize the features of our paid plans, create an organization and use Teams or Pro.

At this time we only offer annual billing on the Enterprise plan, but let us know if you'd like an annual option for Teams or Pro - we would appreciate the feedback.

Reach out to us! Email us at support@buf.build and we'd be happy to talk. Our business hours are 9am-5pm ET Monday to Friday, excluding holidays.