# Connect

The Go implementation of Connect: Protobuf RPC that works.

Repository: https://github.com/connectrpc/connect-go
Canonical: https://ross.abutalabs.com/products/connect
Homepage: https://connectrpc.com
Language: Go
License: Apache-2.0
License Family: permissive
Topics: protobuf, go, rpc, grpc, connectrpc
Last push: 2026-08-25T21:58:42+00:00
Link (homepage): https://connectrpc.com
Link (site_page): https://connectrpc.com/docs/introduction
Link (site_page): https://connectrpc.com/docs/go/getting-started
Link (site_page): https://connectrpc.com/docs/node/getting-started
Link (site_page): https://connectrpc.com/docs/web/getting-started

## Health v2 (maintenance only)
Score: 90/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 72, longevity 100
- inputs: {"age_days": 1857, "days_push": 8, "days_rel": 105, "gap_med": 69.5, "n_releases_24m": 7}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 4051, forks 154 (observed 2026-08-28T04:08:33.826327+00:00)

## What it is
Connect is a family of slim libraries (Go, TypeScript, Swift, Kotlin, Dart, Python) for building browser- and gRPC-compatible HTTP APIs from Protocol Buffer schemas, generating type-safe server and client code. It supports three protocols—gRPC, gRPC-Web, and Connect's own simple HTTP protocol—over HTTP/1.1, HTTP/2, and HTTP/3.

## Use cases
- build a protobuf rpc api in go
- call grpc services from the browser
- replace hand-written rest endpoints with generated type-safe clients
- serve grpc-web without a translating proxy like envoy
- add streaming rpcs to a net/http server
- generate a typescript client from a proto schema

## When to choose
- you want gRPC-compatible APIs callable with curl or any HTTP client
- you want generated type-safe clients without hand-written boilerplate
- you want to build on net/http or fetch primitives instead of a heavy framework
- you need gRPC, gRPC-Web, and a simple JSON-friendly protocol from one server

## When to avoid
- you need a full gRPC implementation with custom name resolution and load balancing
- your stack has no Connect library and you rely on non-Protobuf serialization
- you need client-side bidirectional streaming from web browsers, which browsers don't support

## Facets
- artifact type: library
- maturity: stable
- function: rpc, serialization, http-server, http-client, middleware
- domain: apis, web-development, backend, developer-tools
- platform: go, browser, cross-platform
- tags: protobuf, grpc, grpc-web, connect-protocol, code-generation, type-safe-client, streaming, nodejs

## Member repositories
- connectrpc/connect-go (main) score 90
- connectrpc/connect-es (sdk) score 91

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:33.826327+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:23:40.352357+00:00, confidence not recorded.
  - readme: https://github.com/connectrpc/connect-go (fetched 2026-08-28T04:08:33.826327+00:00, sha a5f734dbdff4)
  - homepage: https://connectrpc.com (fetched 2026-08-29T09:16:26.417728+00:00, sha 25216724a81f)
  - site_page: https://connectrpc.com/docs/introduction (fetched 2026-08-29T09:16:26.426957+00:00, sha fe9f09745ec4)
  - site_page: https://connectrpc.com/docs/go/getting-started (fetched 2026-08-29T09:16:26.429002+00:00, sha 6eb773cee170)
  - site_page: https://connectrpc.com/docs/node/getting-started (fetched 2026-08-29T09:16:26.430937+00:00, sha e62769463fee)
  - site_page: https://connectrpc.com/docs/web/getting-started (fetched 2026-08-29T09:16:26.432798+00:00, sha 32797db6165c)
  - site_page: https://connectrpc.com/docs/swift/getting-started (fetched 2026-08-29T09:16:26.434551+00:00, sha b2ac1b39ddd5)
  - site_page: https://connectrpc.com/docs/kotlin/getting-started (fetched 2026-08-29T09:16:26.436441+00:00, sha a2ebf3d795f0)
  - site_page: https://connectrpc.com/docs/dart/getting-started (fetched 2026-08-29T09:16:26.438223+00:00, sha 12dde934af25)
  - site_page: https://connectrpc.com/docs/python/getting-started (fetched 2026-08-29T09:16:26.440547+00:00, sha 5c779cd4bb02)
- Data as of 2026-08-30T08:39:29.467469+00:00.
