API Client

Build APIs at lightning speed

A modern, Git-native API client for developers. Test REST, GraphQL, gRPC and WebSocket. No bloat, no cloud, no lock-in.

repository-info.yml
info:
name: Repository Info
type: http
seq: 2
http:
method: GET
url: "{{baseUrl}}/repos/usebruno/bruno-website"
runtime:
scripts:
- type: tests
code: |-
test("status must be 200", function() {
expect(res.status).to.eql(200);
});
Bruno API Client main workspace
50K+
GitHub stars
100%
Open source, forever
0
Cloud dependencies
Key features

Built for modern development

Git-native collections

Store API collections as plain-text files in your repo. Version control, branching, and reviews work exactly like code.

Local & private

Zero cloud dependencies. Collections and credentials stay on your machine. Complete control, no vendor lock-in.

Comprehensive testing

Built-in assertions, test scripting, and automation. Validate responses and wire it straight into your CI/CD pipeline.

Multi-protocol support

REST, GraphQL, gRPC, and WebSocket. One interface for every modern API type, with no context switching between tools.

Developer experience

Environments that keep secrets, secret

Create multiple environments and switch in a click. Use variables across requests, and write pre-request and post-response scripts for dynamic workflows.

Per-environment variables and secrets, shared securely with your team
Pre-request and post-response scripting in JavaScript
Requests organised into folders, co-located with your code
Variables tabSecrets tabExternal Secrets tab
↑ click the tabs: Variables · Secrets · External Secrets
Protocol support

Every API protocol, one tool

REST
Full method & auth support
GraphQL
Schema-aware queries
gRPC
Streaming & reflection
WebSocket
Live bidirectional

Ready to test your APIs?

Join thousands of developers who've switched from bloated API clients to Bruno.

Free and open source · macOS, Windows & Linux · No account needed