Most API clients want you to log in. Bruno wants you to open a folder. That sounds like a small difference until a vendor changes its pricing, its sync rules or its idea of what a free account includes. Then a team finds out that years of carefully built requests live on someone else's server. Bruno's answer is blunt: keep them on your own disk, in plain text, next to your code.
That pitch has landed. The project reports more than 44,000 GitHub stars as of mid-2026, over 2.5 million downloads and upwards of 150,000 daily active users. Version 4.0.0 has been out since July 2026, so this is a fair moment to ask whether Bruno is a principled side project or a tool you can build a team workflow around. Our view is mostly the latter, with a few caveats worth knowing first.
Bruno at a glance
| Detail | Information |
|---|---|
| Product | Bruno API Client |
| Website | usebruno.com |
| Founded | 2021 |
| Founder and CEO | Anoop M D |
| Headquarters | Bengaluru, India |
| Latest version | v4.0.0 (July 2026) |
| License | MIT (open source) |
| Platforms | Windows, macOS, Linux |
| Pricing | Free open-source core, paid Ultimate plan |
| Protocols | REST, GraphQL, gRPC, WebSocket |
| Reported reach | 44,000+ GitHub stars, 2.5 million+ downloads, 150,000+ daily users |
| What sets it apart | Git-native, offline-first, file-based collections (.bru format) |
| ICON POLLS rating | 4.0 / 5.0 |
One design choice explains everything
Bruno saves every request as its own .bru file, a readable text format the team built specifically so changes show up cleanly in a diff. A collection is simply a folder. That is the whole trick, and it changes more than you would expect.
Because collections are files, they can sit in the same repository as the service they test. A new endpoint and the request that exercises it arrive in the same pull request. Reviewers see both. Nobody has to remember to export anything, and nothing is held behind a subscription. You can even edit a request in your text editor if that is faster than clicking through the app.
For teams already irritated by Postman's mandatory cloud login and seat-based pricing, this is the reason to look. Everything else is detail.
Getting it running
Installation is refreshingly dull. The downloads page at usebruno.com has builds for Windows (x64 and ARM64), macOS (Intel and Apple Silicon) and Linux (.deb, AppImage, Snap and Flatpak). Package manager fans can use Homebrew, Chocolatey or Scoop. There is no account to create and no sign-in screen. You install it and start sending requests.
Read the v4 notes before you upgrade
Version 4 brings breaking changes for anyone coming from v3, mainly in how secrets and environment variables are handled. The team has published a migration guide, and the app shows a notice when it spots older collection formats. If your collections are shared across a team, plan the upgrade together rather than letting everyone update on a whim.
What you can actually test
This is where Bruno earns its place. Out of the box it handles REST, GraphQL, gRPC and WebSocket. You can write pre-request and post-response scripts in JavaScript, add assertions, chain requests through variables and run data-driven tests from CSV files.
The command-line tool, bru, installs through npm and slots into CI/CD pipelines. It can run a whole collection or a single folder, take an environment file, stop on the first failure with a bail flag, and produce HTML reports. That turns a developer's scratchpad into a regression suite without rewriting anything.
Migration is reasonably painless too. Bruno imports Postman and Insomnia collections and OpenAPI or Swagger specs. Expect the odd formatting quirk in request bodies rather than a rebuild. Version 4 also lets teams pull credentials from external secret managers, which keeps them out of collection files entirely: a real step for organisations that care about rotation and audit trails.
Inside the app
![]()
Bruno is an Electron desktop app, though it avoids the sluggish reputation that often comes with that. The interface is focused: a workspace of collections, tabs for working on several requests at once, folders you can drag around, and a right-click option to run every request in a folder in sequence. Environments are set per collection, so switching between development, staging and production is a dropdown rather than a find and replace.
Version 3 brought a refreshed look with new themes and native Apple Silicon support, and the app is known for staying light on memory compared with heavier rivals. It runs the same way across all three major desktop systems. If you have strong opinions about which of those deserves the crown, take them to our vote on the best computer operating systems.
The things it deliberately won't do
![]()
There is no web version, and the team says there will not be one, nor any cloud sync. That is a principle, not a gap. Still, if you need a browser-based client, Hoppscotch or Postman's web app are the obvious options.
Other limits are less philosophical. Bruno has no built-in mock servers, monitors or contract testing, and its plugin ecosystem is still young. Documentation is good but sometimes trails the newest release. The biggest catch is cultural: collaboration runs entirely through Git. Engineers will feel at home. A product manager or QA analyst who has never resolved a merge conflict may not.
The pricing wobble
The core app is free under the MIT license, for personal and commercial work. Premium features used to come with the Golden Edition, a one-time $19 license. Bruno has since moved to a free tier plus an Ultimate plan for teams wanting advanced features and enterprise support, with a 14-day trial. Golden Edition holders keep receiving updates as promised, but the shift toward a subscription-style plan has unsettled part of a community that arrived precisely to escape subscriptions. It is a fair concern, and one to watch.
Momentum, and who is behind it
The open-source project went public in 2022 and has shipped updates two or three times a month since. By early 2026 the company had grown to around 50 people, and it picked up the API World 2026 Award for Best in API Developer Experience. Issues are triaged, pull requests get reviewed and the changelog is detailed. This is no longer a scrappy experiment.
Our rating: 4 out of 5
Bruno is not trying to clone Postman, and that is its strength. For solo developers and Git-centred teams it is the most sensible API client available right now: fast, private, free at its core and built around how code is actually reviewed.
- Best for: engineering teams that live in Git and want tests versioned with code.
- Think twice if: you depend on mock servers, monitors or hosted docs, or non-developers need to edit collections.
It drops a point for the missing enterprise extras and the uncertainty around pricing. What it does, though, it does very well.
Three questions before you install
Is Bruno really free?
Yes. The core app is open source under MIT and covers what most developers need day to day. The paid Ultimate plan adds extras such as enhanced secret management and priority support.
Does Bruno send my data anywhere?
No. It works offline and stores collections, environments and credentials on your machine. The source code is public on GitHub, so anyone can check.
Can I bring my Postman collections?
Yes. Postman, Insomnia and OpenAPI or Swagger imports are built in. Most collections come across cleanly, though a few request bodies may need a tidy.