gRPC is a high-performance, open-source remote procedure call framework that runs over HTTP/2 and uses Protocol Buffers as its interface definition language and message format. It supports unary and streaming calls, deadlines, and pluggable authentication across many languages.
gRPC
gRPC is a high-performance, open-source remote procedure call framework originally built at Google and now hosted by the Cloud Native Computing Foundation. It runs over HTTP/2 and uses Protocol Buffers as its interface definition language and binary message format, which lets services define strongly typed contracts and call each other with low latency across many programming languages.
- Protocol Buffers contract - Services and messages are defined in
.protofiles that generate client and server code in many languages. - HTTP/2 transport - Multiplexing, header compression, and long-lived connections give gRPC its speed and support for streaming.
- Four call patterns - Unary, server-streaming, client-streaming, and bidirectional streaming cover a wide range of interaction styles.
- Built-in essentials - Deadlines, cancellation, and pluggable authentication are part of the framework rather than bolt-ons.
In real API operations gRPC is the protocol teams reach for when internal service-to-service traffic needs speed and strict contracts, sitting alongside REST and GraphQL rather than replacing them, which is why I keep pointing to a diverse API toolbox and multi-protocol governance instead of picking a single winner. Its binary, HTTP/2-only nature is also its known weakness at the edge, where browsers and simple consumers still expect plain HTTP, so providers often expose gRPC internally and a REST or gRPC-Web surface outward. As agent-to-agent communication grows, gRPC’s typed, streaming contracts make it a natural transport for machine-to-machine calls.
Open source tools that implement this standard
Harvested from this standard's own governing organisation, with the license read from each repository rather than assumed. The role is what the tool does to the specification, from the shared vocabulary — so an agent holding one of these documents can resolve straight from a goal to a tool.
| Tool | Role | License | What it does |
|---|---|---|---|
| gRPC | serves |
Apache-2.0 | The core gRPC implementation covering C++, Python, Ruby, Objective-C, PHP and C# — HTTP/2 based RPC using Protobuf contracts. |
| gRPC for Go | serves |
Apache-2.0 | The Go implementation of gRPC, and the substrate under much of the CNCF landscape. |
| grpcurl | tests |
MIT | The curl of gRPC — calls gRPC services from the command line, discovering their methods by server reflection so no `.proto` fil... |
| gRPC for Java | serves |
Apache-2.0 | The Java implementation of gRPC, widely deployed in enterprise service estates. |
| Buf | validates |
Apache-2.0 | A modern Protobuf toolchain — lints `.proto` files, detects breaking changes against a previous version, manages dependencies t... |
| gRPC-Web | serves |
Apache-2.0 | Lets browser clients call gRPC services through a proxy, since browsers cannot speak the gRPC wire protocol directly. |
Referenced on the API Evangelist blog
Where this standard shows up across sixteen years of my writing at apievangelist.com — how it fits into API design, governance, and the agentic turn.
Your Diverse API Toolbox
2026-06-12
Rising Above the API Dogma
2024-06-13
gRPCs Potentially Fatal Weakness
2019-12-02
I Am Learning About gRPC APIs From Google
2017-03-07