NOTE: This site is deprecated. The site will be turned down after January 31, 2023, and traffic will redirect to the new site at In the meantime, updates will be made only to

API Reference

Stay organized with collections Save and categorize content based on your preferences.

This section contains reference documentation for working with protocol buffer classes in C++, Java, Python, Go, C#, Objective-C, Ruby, PHP, and Dart, as well as some reference documentation for Protocol Buffers itself. The documentation for each language includes (where available):

  • A reference guide to the code generated by the protocol buffer compiler from your .proto files.
  • Generated API documentation for the provided source code.

Note that there are APIs for several more languages in the pipeline – for details, see the other languages wiki page.

C++ Reference

Dart Reference

Go Reference

Java Reference

Kotlin Reference

Python Reference

Ruby Reference

C# Reference

Objective C Reference

PHP Reference

Protocol Buffers Reference