Restorm or Bruno?
Bruno and Restorm share the same starting conviction: API collections are code, they belong in the repository. That is not a small thing in common — it is what separates both of them from Postman.
The difference is one of scope.
In brief
Section titled “In brief”| Restorm | Bruno | |
|---|---|---|
| Local, version-controllable storage | ✔ | ✔ |
| Format | .restorm (YAML, JSON or JSON5), or folder mode | .bru, one file per request |
| Executable protocols | 15 | HTTP, GraphQL, gRPC |
| Chaining | Visual scenarios | JavaScript scripts and tests |
| Scripting languages | 7 | JavaScript |
| Mock servers | 6 protocols, locally | — |
| Import | 24 formats | Postman, Insomnia, OpenAPI |
| Network firewall | ✔ | — |
| AI driving | Built-in MCP server | — |
| Git built into the application | ✔, with domain-level conflict resolution | Through your usual git tool |
What Bruno does well
Section titled “What Bruno does well”- One file per request. Diffs are naturally minimal and code review is immediate. Restorm achieves a comparable result with its folder mode, but Bruno starts from there.
- Simplicity. Bruno does one thing and does it well. If you only ever call HTTP and GraphQL, its reduced surface is a genuine advantage.
- The
.brulanguage, readable and hand-editable in any editor. - Open source.
What Restorm adds
Section titled “What Restorm adds”- Protocol coverage. Kafka, AMQP, MQTT, Redis, STOMP, SOAP, OData, tRPC, JSON-RPC, SSE — see the catalogue. It is the decisive criterion if your system is not HTTP-only.
- Visual scenarios, with over 90 box types, the orchestration of long-lived connections, and running in CI.
- Local mock servers on six protocols.
- The 24 import formats, with re-synchronisation when the specification changes.
- The firewall.
- MCP driving.
- The built-in git with conflict resolution in the genuine request editors.
How to choose
Section titled “How to choose”| Your situation | Our view |
|---|---|
| HTTP / GraphQL APIs only, a team that wants the least possible tooling | Bruno |
| Several transports — messaging, streams, gRPC, SOAP | Restorm |
| A need to mock services locally | Restorm |
| A need to orchestrate complex chains | Restorm |
| Open source above all else | Bruno |
Migrating
Section titled “Migrating”Your Bruno collections import, scripts included — the bru.* layer makes them work.
See Importing a Bruno collection.