Compare REST vs GraphQL vs gRPC
REST vs GraphQL vs gRPC
API style is a product and operational decision: clients, latency, caching, and contracts all matter.
Pick the right API style
Click a column header for “when to use” guidance
| Feature | REST | GraphQL | gRPC |
|---|---|---|---|
Contract How requests/responses are described | OpenAPI (optional) | Schema (required) | Protobuf (required) |
Transport What runs on the wire | HTTP/1.1+ | HTTP | HTTP/2 |
Caching Where caching is easiest | HTTP caching | App/gateway caching | App/gateway caching |
Streaming Real-time / incremental responses | Limited (varies) | Subscriptions (varies) | Built-in (streams) |
Best fit Typical sweet spot | Public APIs | Product UIs | Internal services |
Click on a column header to see when to use each option