Convert Figma logo to code with AI

usebruno logobruno

Opensource IDE For Exploring and Testing Api's (lightweight alternative to postman/insomnia)

28,605
1,329
28,605
1,162

Top Related Projects

Postman is an API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs—faster.

Open source API development ecosystem - https://hoppscotch.io (open-source alternative to Postman, Insomnia)

34,598

The open-source, cross-platform API client for GraphQL, REST, WebSockets, SSE and gRPC. With Cloud, Local and Git storage.

39,427

Developer-first error tracking and performance monitoring

Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.

46,847

Fast, easy and reliable testing for anything that runs in a browser.

Quick Overview

Bruno is an open-source API client and testing tool designed as a lightweight alternative to Postman. It offers a fast, modern interface for API development and testing, with features like collections, environments, and request chaining. Bruno emphasizes local-first development and Git-friendly workflows.

Pros

  • Fast and lightweight compared to alternatives like Postman
  • Git-friendly with collections stored as plain text files
  • Local-first approach, enhancing privacy and security
  • Cross-platform support (Windows, macOS, Linux)

Cons

  • Relatively new project, may lack some advanced features of established tools
  • Smaller community and ecosystem compared to more popular alternatives
  • Limited integrations with other development tools
  • May require more manual setup for complex workflows

Getting Started

To get started with Bruno:

  1. Download the appropriate version for your operating system from the releases page.
  2. Install and launch Bruno.
  3. Create a new collection by clicking the "+" button in the sidebar.
  4. Add a new request to your collection and start testing your APIs.

For command-line usage:

# Install Bruno CLI
npm install -g @usebruno/cli

# Run a collection
bruno run ./path/to/collection

# Run a single request
bruno run ./path/to/request.bru

Competitor Comparisons

Postman is an API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs—faster.

Pros of Postman

  • Extensive documentation and community support
  • Robust collaboration features for team workflows
  • Wide range of integrations with other development tools

Cons of Postman

  • Closed-source, limiting customization options
  • Resource-intensive, especially for larger collections
  • Steeper learning curve for advanced features

Code Comparison

Bruno:

const collection = require('./collection.json');
const environment = require('./environment.json');

bruno.run(collection, environment, {
  iterationCount: 1,
  reporters: ['cli']
});

Postman:

const newman = require('newman');

newman.run({
  collection: require('./collection.json'),
  environment: require('./environment.json'),
  reporters: ['cli']
});

Bruno offers a more straightforward approach to running collections, with a simpler API and fewer configuration options. Postman, through Newman, provides more extensive customization but requires more setup.

Both tools support importing and exporting collections, but Bruno's open-source nature allows for easier integration into existing workflows and version control systems. Postman's closed-source model, while limiting customization, ensures a more consistent and polished user experience across updates.

In terms of performance, Bruno's lightweight design may offer faster execution times for smaller projects, while Postman's robust feature set caters well to larger, more complex API testing scenarios.

Open source API development ecosystem - https://hoppscotch.io (open-source alternative to Postman, Insomnia)

Pros of Hoppscotch

  • Web-based interface accessible from any device with a browser
  • Supports real-time collaboration features
  • Offers a wider range of API testing tools, including GraphQL support

Cons of Hoppscotch

  • Requires an internet connection for full functionality
  • May have a steeper learning curve due to more advanced features
  • Less focus on local development and offline usage

Code Comparison

Bruno:

const collection = bruno.collection('My API');
const request = collection.request('Get Users');
request.get('https://api.example.com/users');
await request.send();

Hoppscotch:

const req = new HoppRESTRequest();
req.endpoint = 'https://api.example.com/users';
req.method = 'GET';
const response = await sendRequest(req);

Both Bruno and Hoppscotch are API testing and development tools, but they cater to different use cases. Bruno is a lightweight, open-source alternative to Postman, focusing on local development with Git-friendly collections. It offers a desktop application for offline use and emphasizes simplicity.

Hoppscotch, on the other hand, is a web-based platform with a more comprehensive set of features for API development and testing. It provides real-time collaboration, a wider range of testing tools, and supports various API protocols, including GraphQL.

While Bruno may be more suitable for developers who prefer local, offline work and Git integration, Hoppscotch offers a more feature-rich environment for teams working on complex API projects with diverse requirements.

34,598

The open-source, cross-platform API client for GraphQL, REST, WebSockets, SSE and gRPC. With Cloud, Local and Git storage.

Pros of Insomnia

  • More mature project with a larger user base and community support
  • Offers a wider range of features, including GraphQL support and environment variables
  • Provides a cloud sync feature for team collaboration

Cons of Insomnia

  • Closed-source core with some open-source components
  • Heavier resource usage compared to Bruno
  • Some advanced features require a paid subscription

Code Comparison

Bruno:

const collection = bruno.collection('My API');
const request = collection.request('Get Users');
request.get('https://api.example.com/users');
request.run();

Insomnia:

const workspace = insomnia.workspace('My API');
const request = workspace.newRequest('Get Users', 'GET');
request.setUrl('https://api.example.com/users');
request.send();

Both Bruno and Insomnia are API testing and development tools, but they cater to different user needs. Bruno is a lightweight, open-source alternative that focuses on simplicity and ease of use. It's ideal for developers who prefer a straightforward, no-frills approach to API testing.

Insomnia, on the other hand, offers a more comprehensive set of features and is better suited for teams working on complex API projects. Its cloud sync and collaboration features make it a strong choice for larger organizations.

Ultimately, the choice between Bruno and Insomnia depends on the specific requirements of the project and the preferences of the development team.

39,427

Developer-first error tracking and performance monitoring

Pros of Sentry

  • More comprehensive error monitoring and performance tracking solution
  • Supports multiple programming languages and platforms
  • Larger community and ecosystem with extensive documentation

Cons of Sentry

  • More complex setup and configuration process
  • Higher resource requirements for self-hosted installations
  • Steeper learning curve for new users

Code Comparison

Bruno (API client):

const collection = bruno.collection('My Collection');
const request = collection.request('Get Users');
const response = await request.send();
console.log(response.body);

Sentry (Error tracking):

import sentry_sdk

sentry_sdk.init("https://examplePublicKey@o0.ingest.sentry.io/0")

def problematic_function():
    raise Exception("An error occurred")

sentry_sdk.capture_exception(problematic_function())

Summary

Bruno is a lightweight API client and testing tool, while Sentry is a comprehensive error monitoring and performance tracking platform. Bruno focuses on API development and testing, making it simpler to use for specific API-related tasks. Sentry, on the other hand, offers broader application monitoring capabilities across various languages and platforms, but with increased complexity and resource requirements.

Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.

Pros of Playwright

  • Comprehensive cross-browser automation support (Chromium, Firefox, WebKit)
  • Robust API for advanced web testing and scraping scenarios
  • Strong community support and regular updates from Microsoft

Cons of Playwright

  • Steeper learning curve for beginners
  • Requires Node.js environment for execution
  • Primarily focused on browser automation, less suitable for API testing

Code Comparison

Playwright example:

const { chromium } = require('playwright');

(async () => {
  const browser = await chromium.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');
  await browser.close();
})();

Bruno example:

const collection = bruno.loadCollection('./my-collection');
const request = collection.request('Get User');
const response = await request.send();
console.log(response.body);

While Playwright excels in browser automation and web testing, Bruno focuses on API testing and collaboration. Playwright offers a more comprehensive solution for web-based scenarios, but Bruno provides a simpler approach for API-centric workflows. The choice between the two depends on the specific testing needs and the team's expertise.

46,847

Fast, easy and reliable testing for anything that runs in a browser.

Pros of Cypress

  • More mature and widely adopted, with extensive documentation and community support
  • Offers a comprehensive end-to-end testing solution with built-in assertions and mocking capabilities
  • Provides a powerful, interactive test runner with time-travel debugging

Cons of Cypress

  • Limited to testing web applications, primarily focused on front-end testing
  • Can be resource-intensive and slower for large test suites
  • Requires more setup and configuration compared to Bruno's lightweight approach

Code Comparison

Cypress test example:

describe('Login', () => {
  it('should log in successfully', () => {
    cy.visit('/login')
    cy.get('#username').type('testuser')
    cy.get('#password').type('password123')
    cy.get('button[type="submit"]').click()
    cy.url().should('include', '/dashboard')
  })
})

Bruno request example:

const res = await bruno.request('login', {
  method: 'POST',
  url: 'https://api.example.com/login',
  body: {
    username: 'testuser',
    password: 'password123'
  }
})
expect(res.status).toBe(200)
expect(res.body.token).toBeDefined()

While Cypress focuses on end-to-end testing for web applications, Bruno is designed for API testing and exploration. Cypress provides a more comprehensive testing solution with built-in assertions and a powerful test runner, but it's limited to web applications. Bruno, on the other hand, offers a lightweight and flexible approach to API testing, making it easier to set up and use for API-specific scenarios.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README


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

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 Linux via Apt
sudo mkdir -p /etc/apt/keyrings
sudo gpg --no-default-keyring --keyring /etc/apt/keyrings/bruno.gpg --keyserver keyserver.ubuntu.com --recv-keys 9FA6017ECABE0266

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

Features

Run across multiple platforms 🖥️

bruno

Collaborate via Git 👩‍💻🧑‍💻

Or any version control system of your choice

bruno

Sponsors

Gold Sponsors

Silver Sponsors

Bronze Sponsors

Important Links 📌

Showcase 🎥

Support ❤️

If you like Bruno and want to support our opensource work, consider sponsoring us via GitHub Sponsors.

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