bruno README

The project's README from github.com/usebruno/bruno. As one markdown file: README.md.


Bruno - Opensource IDE for exploring and testing APIs.

GitHub version CI Commit Activity X Website Download

English | Українська | Русский | Türkçe | Deutsch | Français | Português (BR) | 한국어 | বাংলা | Español | Italiano | Română | Polski | 简体中文 | 正體中文 | العربية | 日本語 | ქართული | Nederlands | فارسی

Bruno is a new and innovative API client, aimed at revolutionizing the status quo represented by Postman and similar tools out there.

Bruno stores your collections directly in a folder on your filesystem. We use a plain text markup language, Bru, to save information about API requests.

You can use Git or any version control of your choice to collaborate over your API collections.

Bruno is offline-only. There are no plans to add cloud-sync to Bruno, ever. We value your data privacy and believe it should stay on your device. Read our long-term vision here

Download Bruno

📢 Watch our recent talk at India FOSS 3.0 Conference here

bruno bruno

Commercial Versions ✨

Majority of our features are free and open source. We strive to strike a harmonious balance between open-source principles and sustainability

You can explore our paid versions to see if there are additional features that you or your team may find useful!

Table of Contents

Installation

Bruno is available as binary download on our website for Mac, Windows and Linux.

You can also install Bruno via package managers like Homebrew, Chocolatey, Scoop, Snap, Flatpak and Apt.

# On Mac via Homebrew
brew install bruno

# On Windows via Chocolatey
choco install bruno

# On Windows via Scoop
scoop bucket add extras
scoop install bruno

# On Windows via winget
winget install Bruno.Bruno

# On Linux via Snap
snap install bruno

# On Linux via Flatpak
flatpak install com.usebruno.Bruno

# On Arch Linux via AUR
yay -S bruno

# On Linux via Apt
sudo mkdir -p /etc/apt/keyrings
sudo apt update && sudo apt install gpg curl
curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x9FA6017ECABE0266" \
  | gpg --dearmor \
  | sudo tee /etc/apt/keyrings/bruno.gpg > /dev/null
sudo chmod 644 /etc/apt/keyrings/bruno.gpg
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/bruno.gpg] http://debian.usebruno.com/ bruno stable" \
  | sudo tee /etc/apt/sources.list.d/bruno.list
sudo apt update && sudo apt install bruno

Bruno CLI

The Bruno CLI lets you run your API collections from the command line, which is ideal for automated testing and CI/CD pipelines. Install it from npm using the package manager of your choice:

npm install -g @usebruno/cli

Navigate to the directory containing your collection and run it:

# Run every request in the collection
bru run

# Run a single request
bru run request.bru

# Run a folder against a specific environment
bru run folder --env Local

For the full command reference, see the Bruno CLI documentation.

Run with Docker

Official Docker images for the Bruno CLI let you run API collections in CI/CD pipelines and locally without installing Node.js or npm on the host. Images are published to both Docker Hub and the GitHub Container Registry on every CLI release, with alpine and debian variants for linux/amd64 and linux/arm64.

# Pull from Docker Hub
docker pull usebruno/cli:latest

# Or pull from the GitHub Container Registry
docker pull ghcr.io/usebruno/cli:latest

# Run a collection by mounting the current directory
docker run -v $(pwd):/bruno usebruno/cli run

For variants, tag matrix, environment files, and CI examples (GitHub Actions, GitLab CI, Jenkins), see the full Bruno CLI Docker documentation.

Features

Run across multiple platforms 🖥️

bruno

Collaborate via Git 👩‍💻🧑‍💻

Or any version control system of your choice

bruno

Showcase 🎥

Share Testimonials 📣

If Bruno has helped you at work and your teams, please don't forget to share your testimonials on our GitHub discussion

Publishing to New Package Managers

Please see here for more information.

Stay in touch 🌐

𝕏 (Twitter)
Website
Discord
LinkedIn

Trademark

Name

Bruno is a trademark held by Anoop M D

Logo

The logo is sourced from OpenMoji. License: CC BY-SA 4.0

Contribute 👩‍💻🧑‍💻

I am happy that you are looking to improve bruno. Please check out the contributing guide

Even if you are not able to make contributions via code, please don't hesitate to file bugs and feature requests that needs to be implemented to solve your use case.

Authors

License 📄

MIT

bruno (usebruno/bruno)

api-testing
Searching Database…

47.7K ·GitHub
What is this?Bruno is an open-source API client for exploring and testing REST, GraphQL, and other APIs, built as a lightweight alternative to Postman and Insomnia.
Is it a desktop app or does it live in my browser?Bruno is a desktop application (Mac, Windows, Linux) with a companion CLI for running collections from the command line, plus official Docker images for CI/CD.
How do I get it running?Download the binary from the Bruno website or install via Homebrew, Chocolatey, Scoop, Snap, Flatpak or Apt; the CLI can be installed separately via npm.
Do I need Node.js installed to run the CLI?No, Node.js or npm on the host aren't required if you use the official Docker images for the CLI; otherwise install the CLI via npm.
Can I sync my collections to the cloud?No, Bruno is offline-only by design and there are no plans to ever add cloud sync.
Where does my API collection data go?Collections are stored as plain text files directly on your local filesystem, so your data stays on your device rather than on Bruno's servers.
Is there a catch with the free version?Bruno's core is MIT-licensed open source, and the company also sells paid commercial versions with extra features for teams that want to support sustainability.
How do collections get saved and version-controlled?Bruno stores each collection as plain text files using its own markup language called Bru, so you can commit them to Git or any VCS like normal source code.
Can I run my API tests in CI/CD?Yes, the Bruno CLI is designed for automated testing and CI/CD pipelines, and official Docker images (alpine/debian, amd64/arm64) make it easy to run collections in GitHub Actions, GitLab CI, or Jenkins without a local Node install.
Why not just use Postman?Bruno was built as an open-source, offline-first alternative to Postman, avoiding cloud sync and keeping all collection data as local files you fully control.
Creator
usebruno
Size
65 MB
Stars
47.7K
Age
4y
Commits · 90 Days