Bruno
Git-friendly, offline-first API client that stores collections as plain text files.
Pricing
Free / Open source
Type
Manual & Automation
// VERDICT
Reach for Bruno when you want API collections versioned as files in Git, with no cloud account or sign-in. Skip it when you need Postman's cloud collaboration, workspaces and marketplace.
Best for
An offline-first, Git-friendly API client that stores collections as plain text files in your repo, for REST and GraphQL.
Avoid when
You need cloud sync, large-team workspace features, or a mature plugin marketplace.
CI/CD fit
Bru CLI · GitHub Actions · GitLab CI · Jenkins
Team fit
API teams · Git-centric teams · Developers who want collections in-repo
Setup
Maintenance
Learning
Licence
// BEST FOR
- Storing API collections as plain-text files versioned in Git alongside code
- Teams who want no cloud account, sign-in or vendor lock-in
- Reviewing API request changes in normal pull requests
- Exploring and testing REST and GraphQL endpoints in a fast, local client
- Running collections headless in CI via the Bru CLI
- Developers who found Postman heavy and want a lighter, offline tool
// AVOID WHEN
- You rely on cloud sync across machines and teammates
- Large-team shared workspaces and roles are central
- You want a mature marketplace of integrations and templates
- Built-in monitoring or mock servers are part of your workflow
- Your team is already standardised on Postman's collaboration
- You need extensive non-developer collaboration features
// QUICK START
npm install -g @usebruno/cli
bru run --env Local// ALTERNATIVES TO CONSIDER
| Tool | Choose it when |
|---|---|
| Hoppscotch | You want a lightweight, browser-based open-source client. |
| Insomnia | You want a polished desktop client with optional cloud features. |
| Postman | You want the broadest collaboration, marketplace and CI tooling. |
// MIGRATION NOTES
PostmanBruno
Bruno can import Postman collections, then stores them as Git-versioned files instead of cloud documents. Expect to give up cloud sync and workspaces in exchange for in-repo, reviewable collections. Migrate key collections first and commit them alongside the code they test.
// FEATURES
- Collections stored as plain text files (Bru DSL)
- Native Git integration — diff, branch, review
- No cloud account required
- Scripting via JavaScript
- Bruno CLI for CI/CD
- Import from Postman, Insomnia, OpenAPI
// PROS
- Collections version-controlled like code
- Offline-first with no telemetry
- Fully open-source under MIT
// CONS
- Younger product — fewer integrations than Postman
- Smaller community
- Team workflows still maturing
// EXAMPLE QA WORKFLOW
Create a collection folder inside your repo
Define environments for each stage as files
Build and explore REST/GraphQL requests
Add assertions to key requests
Commit collections so changes review in pull requests
Run headless in CI via the Bru CLI
// RELATED QA.CODES RESOURCES
Cheat sheets
Practice
Interview