$ curl \
--header 'Content-Type: application/json' \
--data '{"sentence": "I feel happy."}' \
https://demo.connectrpc.com/connectrpc.eliza.v1.ElizaService/Say{"sentence": "Feeling happy? Tell me more."}
$ grpcurl \
-d '{"sentence": "I feel happy."}' \
demo.connectrpc.com:443 \
connectrpc.eliza.v1.ElizaService/Say{"sentence": "Feeling happy? Tell me more."}
Supports React, Angular, Svelte, and other frameworks
Meet Eliza, our psychotherapist
Eliza: Hello, how are you feeling?
Production-grade simplicity
Connect shines in production. Implementations are focused — a few thousand lines of code, a handful of essential options, and a cURL-friendly protocol — which makes them stable, predictable, and debuggable.
Compatible with gRPC
In addition to its own protocol, Connect servers and backend clients also support gRPC — including streaming! They interoperate seamlessly with Envoy, grpcurl, gRPC Gateway, and every other gRPC implementation. Connect servers handle gRPC-Web requests natively, without a translating proxy.
Familiar primitives
Connect builds on primitives you already know. Go handlers slot right into your net/http server and work with your existing middleware, router, and observability. TypeScript clients stay close to the fetch API and integrate cleanly with popular UI frameworks.
No boilerplate
Define your APIs using Protocol Buffers, the industry's most battle-tested schema definition language, and skip the hand-written boilerplate. Connect handles server-side routing, serialization, and compression, and it generates idiomatic clients in Go, TypeScript, Swift, and Kotlin.