CheckOps
grpcurl
grpcurl is an MIT-licensed command-line tool for interacting with gRPC servers, like curl for gRPC, using JSON messages and server reflection or proto files to discover services.
- API testing
- Open source
- Free
- Grpc
- Command Line
- Golang
- API Debugging
- API & contract testing
- Integration testing
Latest public signals
Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.
Introduction
grpcurl is a command-line tool that lets you interact with gRPC servers. gRPC uses a binary encoding (protocol buffers) over HTTP/2, so plain curl cannot talk to it. grpcurl accepts and prints messages as JSON, which makes gRPC calls as easy to script as REST calls.
To know what a server offers, grpcurl uses gRPC server reflection when the server supports it, or reads proto source files or compiled protoset files. grpcurl -plaintext localhost:50051 list lists services, describe shows methods and message types, and a call is as simple as passing JSON with -d and the fully qualified method name.
It supports unary and streaming RPCs, TLS and mutual TLS, plaintext connections for local development, request headers and metadata with -H, and reading request data from standard input. Because output is JSON, it pipes cleanly into jq for assertions in shell scripts and CI smoke checks.
grpcurl is maintained by FullStory, has about 12,900 GitHub stars and released v1.9.4 in August 2026, with commits continuing in November 2026. It is available through Homebrew, Docker, Go install and release binaries, and has a sibling project, grpcui, for a browser-based interface.
In the quality loop, grpcurl is a debugging and smoke-testing tool at the API and integration stages. It is often the first thing engineers reach for when a gRPC service misbehaves, and it is handy for health checks after deployment. For full test suites, teams usually pair it with language-level tests or tools such as Karate, and ghz for load.
Because it is a single static binary with no runtime dependencies, grpcurl is also easy to bake into container images used for debugging inside Kubernetes clusters, where many gRPC services are only reachable internally.
The source code is at fullstorydev/grpcurl on GitHub under the MIT licence, with about 12,900 stars; the most recent commit was on 2 November 2026.
grpcurl is most valuable during development and incident response, when someone needs to call a gRPC method quickly without writing a client. Enabling server reflection in non-production environments makes this much easier, because grpcurl can list services and describe messages without local proto files; where reflection is disabled for security, keep the proto files or a compiled descriptor set available to the team. For repeatable checks, wrap grpcurl calls in small scripts and assert on the JSON output, but move to a proper test framework once the number of cases grows.
Features
- JSON in and out: Write requests and read responses as JSON.
- Server reflection: Discover services without local proto files.
- Proto and protoset files: Work with servers that do not expose reflection.
- List and describe: Browse services, methods and message types.
- Streaming: Client, server and bidirectional streaming calls.
- TLS and mTLS: Secure connections, or
-plaintextfor local servers. - Headers and metadata: Send auth tokens and custom metadata.
- Stdin input: Pipe request data from files or scripts.
- Scriptable: Combine with jq and shell for checks.
- Many install options: Homebrew, Docker, Go and binaries.
Pros
- Indispensable for gRPC debugging: The standard CLI for gRPC.
- Easy in CI: Simple health and smoke checks.
- Free to use: Open source under the MIT licence, so the core tool costs nothing to use.
- Actively maintained: The repository had commits as recent as 2 November 2026.
- Community: About 12,900 GitHub stars.
Cons
- No assertions: Pair with jq or a test framework to check results.
- CLI only: Use grpcui or a desktop client for interactive exploration.
- Reflection dependency: Without reflection you must supply proto files.
Usage and Links (Example)
List services and call a method on a local server with reflection enabled:
grpcurl -plaintext localhost:50051 list
grpcurl -plaintext -d '{"id": "42"}' localhost:50051 shop.v1.OrderService/GetOrder
A simple CI smoke check with jq:
grpcurl -plaintext -d '{}' api:50051 grpc.health.v1.Health/Check | jq -e '.status == "SERVING"'
Practical tips:
- Enable server reflection in non-production environments to make debugging easier.
- Use
-H 'authorization: Bearer ...'for authenticated calls. - Keep common calls in a script so the team shares the same smoke checks.
Resources:
Pricing
grpcurl is free and open source under the MIT licence.
Recommended for?
- Anyone building or operating gRPC services.
- CI smoke and health checks for gRPC endpoints.
- Not a fit as a full test framework on its own.
Conclusion
grpcurl is the essential command-line tool for gRPC: simple, scriptable and actively maintained.
Every team running gRPC should have it in their toolbox, alongside proper automated tests.
On CheckOps, grpcurl is filed under the API & contract testing and Integration testing stages. Related tools listed here include grpcui, Kreya, ghz, Postman, Insomnia and Karate. Before choosing, compare them on licence, supported languages and platforms, hosting model, and how well each fits your existing CI pipeline. Facts on this page were checked against the official website, documentation and repository on 11 November 2026; statements the vendor makes about its own product are marked as vendor claims.
Alternatives
Other tools on CheckOps that cover similar ground. Open a page, or compare one with grpcurl side by side.
Ggrpcuigrpcui is an MIT-licensed tool that opens a browser-based UI for interacting with gRPC servers, like Postman for gRPC, using server reflection or proto files.Compare with grpcurl
KKreyaKreya is a privacy-first desktop API client for gRPC, REST, GraphQL, WebSocket and Server-Sent Events, with scripted tests, snapshots, Git-based collaboration and a free plan.Compare with grpcurl
Gghzghz is an Apache-2.0 gRPC benchmarking and load-testing tool with a CLI, Go library and optional web app for storing and comparing results.Compare with grpcurl
PPostmanGo faster from development to production with higher accuracy and fewer tokens.Compare with grpcurl
IInsomniaThe open-source, cross-platform API client for GraphQL, REST, WebSockets, SSE and gRPC.Compare with grpcurl
KKarateTest Automation Made Simple.Compare with grpcurl