ScriptsApr 11, 2026·2 min read

Bruno — Open-Source IDE for API Exploration & Testing

Bruno is an open-source IDE for exploring and testing APIs — a lightweight, offline-first alternative to Postman and Insomnia. Stores collections as plain text files in your filesystem so they version-control naturally with Git.

TL;DR
Bruno stores API collections as plain text files so they version-control with Git.
§01

What it is

Bruno is an open-source IDE designed for exploring and testing APIs. It serves as a lightweight, offline-first alternative to Postman and Insomnia. The key differentiator is that Bruno stores collections as plain text files directly in your filesystem, which means they naturally integrate with Git version control.

Bruno targets backend developers, QA engineers, and DevOps teams who want their API collections to live alongside their code rather than locked inside a proprietary cloud platform.

§02

How it saves time or tokens

Bruno removes the friction of syncing API collections across teams. Because collections are plain text files committed to your repository, every team member gets the same requests, environments, and tests through a normal git pull. No paid cloud sync subscriptions, no account management, and no vendor lock-in.

For AI-assisted development, Bruno's text-based format means an LLM can read, generate, and modify API collections directly from your codebase without needing to interact with a proprietary GUI.

§03

How to use

  1. Download Bruno from the official website or install via package managers (brew install bruno, choco install bruno). It runs on Windows, macOS, and Linux.
  2. Create a new collection. Each request is saved as a .bru file in a folder structure that mirrors your API organization.
  3. Write requests, add environment variables, and run tests. Commit the entire collection folder to Git alongside your source code.
§04

Example

meta {
  name: Get User Profile
  type: http
  seq: 1
}

get {
  url: {{baseUrl}}/api/v1/users/{{userId}}
  body: none
  auth: bearer {{authToken}}
}

assert {
  res.status: eq 200
  res.body.email: isString
}

The .bru format is human-readable and diff-friendly. Code reviewers can see exactly what changed in an API request during a pull request.

§05

Related on TokRepo

§06

Common pitfalls

  • Bruno does not have a built-in cloud sync feature. This is by design. If you need cross-device access, use Git.
  • Some Postman features like mock servers and monitoring are not available in Bruno. It focuses on the core request-response workflow.
  • Importing large Postman collections may require manual adjustments for complex pre-request scripts that use Postman-specific APIs.

Frequently Asked Questions

Can I import my Postman collections into Bruno?+

Yes. Bruno includes a built-in importer for Postman, Insomnia, and OpenAPI collections. Most requests, environments, and basic tests transfer automatically. Complex pre-request scripts using Postman-specific sandbox APIs may need manual rewriting.

Does Bruno support environment variables?+

Yes. Bruno supports multiple environment files (dev, staging, production) stored as plain text. Variables use the double-curly-brace syntax ({{variable}}) and can be scoped to collections or individual requests.

Is Bruno really offline-first?+

Yes. Bruno stores everything locally as files. It never sends your API collections to any server. The application works fully offline. Cloud sync is replaced by Git, which you control entirely.

How does Bruno compare to Insomnia?+

Both are Postman alternatives, but Bruno stores collections as plain files in your filesystem while Insomnia uses its own database format. Bruno is fully open source with no paid tier for core features. Insomnia has shifted toward cloud-first with paid plans for team sync.

Can I run Bruno collections in CI/CD pipelines?+

Yes. Bruno provides a CLI tool (`bru run`) that executes collections from the command line. You can integrate it into GitHub Actions, GitLab CI, or any CI/CD system to run API tests as part of your pipeline.

Citations (3)

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets