Skip to content
testcritic

Bruno

Git-native API client that stores collections as plain files in your repo.

API TestingFree tierOpen sourceSelf-hostable
Visit Bruno

What it is

Bruno stores every request as a plain-text .bru file inside your repository, so API collections are versioned, branched, reviewed and merged exactly like code. It is offline-first with no mandatory account or cloud sync, and ships a CLI for CI execution. It emerged directly as a reaction to Postman's cloud-first direction.

Best for

Engineering teams that want API tests versioned alongside the code they test.

Product tour

See Bruno in action

Explore the interface before you make an account. Screenshots come from official product materials and may change as the tool evolves.

API workspace

Keep collections, request parameters and formatted responses together in a desktop workspace.

Where it is strong

  • Collections live in Git, so they diff, branch and review like any other code.
  • Offline-first with no forced account — a genuine compliance advantage.
  • Imports Postman and Insomnia collections, making migration realistic.

Where it falls short

  • No built-in mock servers or monitoring; it is a client and runner, not a platform.
  • Younger project with a smaller ecosystem and fewer integrations.
  • Team collaboration relies on your Git workflow rather than in-app features.

Pricing

From $6 per user/month (Pro, billed annually)

Free tier

Free tier: The open-source app and CLI are free and fully functional offline.

What drives the bill: Bruno has moved off the old one-time Golden Edition to subscriptions: Pro $6 and Ultimate $11 per user/month billed annually, with a 14-day Ultimate trial. The open-source core remains free and fully functional offline.

Check current pricing on Bruno Software’s site

Figures are indicative and were last reviewed August 2026. Vendors change pricing often; confirm before you commit.

Works with

GitGitHub ActionsOpenAPIPostman import

What people who use Bruno say

No reviews of Bruno yet. If you have used it in anger, yours would be the first.

Alternatives to Bruno

If Bruno is not the right fit, these solve the same problem differently.

Explore all alternatives