Pick Request Eagle if
you like Bruno's idea of collections as files but want it without Electron, with Git commit and push, data-driven runs and Postman-compatible scripts all free in the app, plus a coding agent panel and Vim mode.
Request Eagle and Bruno agree on the big idea: collections are files on your disk, there is no cloud and no account. They differ in what they are built from and what is free. Request Eagle is a native Rust app with one free edition. Bruno is an Electron app whose in-app Git commits, data-driven runs and private Git hosts need a paid plan. Here is how they compare.
| Topic | Request Eagle | Bruno |
|---|---|---|
| Built with | Rust and GPUI, drawn on the GPU. No web view. | Electron: a bundled Chromium and Node.js. |
| Runs on | Apple Silicon Macs, Windows and Linux on x64. | Intel and Apple Silicon Macs, Windows and Linux, through Homebrew, winget, Snap, Flatpak and more. |
| Open source | Yes, MIT or Apache 2.0. One edition. | Yes, MIT, with paid Pro and Ultimate editions. |
| Price | Free, for one person or a team. | Free. Pro $6 and Ultimate $11 per user per month, billed yearly. |
| Account | None. | None. Paid editions use a license key. |
| Requests stored as | TOML files in a folder you choose, such as your project's repository. | YAML files in the OpenCollection layout, or the older .bru format, in a folder. |
| Git in the app | Built in and free. Commit, pull, push and sync from the Git panel. | Clone, init, diff and pull are free. Commit, push, branches and private Git hosts need Pro. Your own git works regardless. |
| Workspaces | None needed. Open any number of collections, from anywhere on disk. | Two workspaces of collections free; unlimited in Pro. |
| Protocols | HTTP, gRPC, WebSocket and server-sent events. | HTTP, GraphQL, SOAP, gRPC and WebSocket. |
| Scripts and tests | JavaScript with Postman's pm API and bundled libraries, without Node.js. | JavaScript with its own bru API and Chai tests; npm packages in Developer Mode. |
| Collection Runner | No run quota. HTTP requests, with CSV and JSON data files. | Unlimited. CSV and JSON data files and parallel runs in the app need Pro; the free CLI takes a CSV. |
| Flows | Blocks on a canvas with branches and loops. | No. |
| CLI | A JSON command line for agents and scripts, without the app. | bru runs collections in CI with data files and JSON, JUnit and HTML reports. |
| AI | Claude Code, Codex or OpenCode in a panel, with your own sign-in and models. | Bruno AI in beta with your own OpenAI, Anthropic or local model; an MCP server around the CLI. |
| Imports | Postman collections and environments, OpenAPI 3 and Swagger 2, cURL. | Postman, Insomnia, OpenAPI, WSDL, cURL and Bruno. Full Postman data dumps need Ultimate. |
| Exports | Copy a request as cURL or grpcurl. | Bruno, Postman and OpenAPI. |
| Secret managers | No. | Vault, AWS, Azure and GCP, in Ultimate. |
| Vim mode | Yes, in the body and script editors. | No. Requested since 2024. |
| Interface | Eleven theme families in light and dark, sizes from 12 to 24 px. | Light, dark, Dracula, Gruvbox and Cyberdream. |
Checked in October 2026 against Bruno 4.3, its pricing page and documentation, with Request Eagle 0.1.41. Prices are in US dollars, per user, billed yearly where both options exist. Found something out of date? Tell us.

git stay free. Request Eagle has one edition: the Git panel, the runner with data files, flows and every protocol cost nothing for anyone.pm API and Postman's bundled libraries, so a collection exported from Postman keeps its scripts and tests. Bruno has its own bru API, so scripts are rewritten on the way in..bru format to YAML, with both supported during the transition and a migration step in between.Bruno exports a collection in Postman's format, which Request Eagle reads, so the requests move with one export and one import. Scripts are rewritten by hand.
bru API to the pm API by hand: bru.setVar becomes pm.variables.set, res.getBody() becomes pm.response.json(), and test and expect become pm.test and pm.expect.environment.toml, and secrets in a global environment, which lives in your home folder and stays out of the repository.you like Bruno's idea of collections as files but want it without Electron, with Git commit and push, data-driven runs and Postman-compatible scripts all free in the app, plus a coding agent panel and Vim mode.
you need GraphQL or SOAP, a secret manager, SSO, a VS Code extension, exports to Postman and OpenAPI, or the package manager of your choice.
Both keep collections as plain files, work offline and are open source. Request Eagle is a native Rust app with no web view, stores requests as TOML, runs Postman's pm scripts, and has one free edition with Git, data-driven runs and flows. Bruno is an Electron app that stores YAML or .bru files, uses its own script API, and sells Pro and Ultimate editions.
Yes, through Bruno's Postman export. Export the collection from Bruno as a Postman collection and import it in Request Eagle. You rewrite scripts written against Bruno's bru API in the pm API; nothing converts them for you.
Bruno's open-source edition and its CLI are free. In the app, committing and pushing from the Git panel, data files in the runner, private Git hosts and more than two workspaces need Pro at $6 per user per month; secret managers and SSO need Ultimate at $11. Request Eagle is free in full.
Yes, with a different aim. Request Eagle's CLI speaks JSON and is made for coding agents and scripts: it lists, edits and runs saved requests and flows without the app. Bruno's bru is made for CI, with data files and JUnit and HTML reports.
Yes, in the body and script editors, with motions, operators, counts and Visual mode. Bruno has an open request for Vim mode since 2024.