usebruno

bruno: Explore and Test APIs with a Local-First Client

Bruno is an API client for exploring requests, testing APIs, and running collections from a desktop app or CLI. It stores collections as plain-text files on your device, making them suitable for Git-based collaboration without cloud sync.

Stars
47.3k
Forks
3k
Stars, last 17 days
+442

Our take

Health score

71/100

How it is scored
Activity
82
Community
87
Issues
63
Pull requests
52

+442 stars in the last 17 days

  • Merges more pull requests than 82% of the projects we track
  • Releases more often than 80% of the projects we track
  • More contributors than 77% of the projects we track

Overview

Bruno is an API client for developers who need to create, explore, and test API requests. Instead of keeping collections in a hosted workspace, it saves them as plain-text .bru files in folders on your filesystem.

That file-based approach makes collections easier to review and collaborate on with Git or another version control system. Bruno is offline-only, so it suits users who prefer local data storage, though it is not designed for cloud-synced collaboration.

Key Features

  • Create and manage API request collections in the desktop client.
  • Store collection data in plain-text Bru files on disk.
  • Use Git or other version control tools to share and review collections.
  • Run collections, folders, or individual requests with the Bruno CLI.
  • Use the CLI in automated tests and CI/CD pipelines.
  • Install the desktop app on macOS, Windows, and Linux.
  • Run the CLI from official Docker images.

Use Cases

  • API developers can organize requests alongside application code and track changes in Git.
  • QA engineers can run saved requests as repeatable API checks during development.
  • Platform and DevOps teams can execute collections in CI/CD pipelines with the CLI or Docker.
  • Teams handling sensitive API workflows can keep collection files on local devices instead of using cloud sync.

Getting Started

Download the desktop app from Bruno's downloads page, or install the CLI with npm:

npm install -g @usebruno/cli

From a collection directory, run bru run. See the README and documentation for installation options and usage details.

Alternatives

  • httptoolkit: HTTP Toolkit focuses on capturing, inspecting, rewriting, and mocking HTTP traffic, while Bruno centers on saved request collections and API testing.
ProjectLanguageLicenseStarsStatus
brunoJavaScriptMIT47.3kNot checked yet
httptoolkit––3.6kQuiet

Considerations

Bruno is intentionally offline-only and does not provide cloud sync, which may not suit teams that need shared hosted workspaces. The desktop app and CLI are separate ways to use collections, and CI workflows using the CLI require an execution environment such as Node.js or the project's Docker images. The repository is MIT-licensed; the README also describes paid versions with additional features.

Found this useful?

Share it with someone who would like bruno.

Comparisons