Bruno: An Open-source IDE for API Testing and Exploration

Summary
Bruno is an innovative open-source API client designed as a lightweight alternative to tools like Postman and Insomnia. It uniquely stores API collections directly on your filesystem using a plain text markup language, facilitating seamless collaboration via Git or any version control system. Emphasizing data privacy, Bruno operates offline-only with no plans for cloud synchronization.
Repository Info
Tags
Click on any tag to explore related repositories
Introduction
Bruno is a modern, open-source IDE for exploring and testing APIs, positioning itself as a lightweight and privacy-focused alternative to popular tools like Postman and Insomnia. Built with a unique approach, Bruno stores your API collections directly on your filesystem using a plain text markup language called Bru. This design choice empowers developers to leverage familiar version control systems, such as Git, for seamless collaboration on API collections. Committed to data privacy, Bruno is an offline-only application with no intentions of adding cloud synchronization, ensuring your data remains on your device.
Installation
Bruno is available for various operating systems and can be installed via binary downloads or popular package managers.
You can download Bruno binaries directly from its official website.
Alternatively, use the following package manager commands:
# 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
Examples
Bruno provides an intuitive interface for creating, organizing, and executing various types of API requests, including REST, GraphQL, and more. Users can define request details, headers, body, and authentication methods. The core strength lies in its filesystem-based collection storage, which allows developers to treat API collections like code. This enables:
- Version Control: Easily track changes, revert to previous versions, and manage branches of your API collections using Git.
- Cross-Platform Execution: Run your API tests and explorations consistently across different operating systems, including Mac, Windows, and Linux.
- Automation: Integrate API tests into CI/CD pipelines by managing collections as plain text files.
Why Use Bruno?
Bruno stands out for several compelling reasons:
- Open Source: The majority of its features are free and open source, fostering community contributions and transparency.
- Privacy-First: It's an offline-only tool, ensuring your sensitive API data never leaves your local machine.
- Git-Friendly Collaboration: Store collections as plain text files, making them perfectly compatible with Git and other version control systems for team collaboration.
- Lightweight and Performant: Designed to be a faster, less resource-intensive alternative to existing API clients.
- Cross-Platform Support: Available natively on Mac, Windows, and Linux.
- Flexible Data Storage: Uses a simple, human-readable markup language (Bru) for storing API requests, enhancing readability and maintainability.
Links
Explore Bruno further through these official resources: