Connect

1 min read Original article ↗

$ 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.