Skip to content

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.

RestormBruno
Local, version-controllable storage✔✔
Format.restorm (YAML, JSON or JSON5), or folder mode.bru, one file per request
Executable protocols15HTTP, GraphQL, gRPC
API designVisual designer + 5-protocol mock + client and doc generation—
ChainingVisual scenariosJavaScript scripts and tests
Scripting languages7JavaScript
Mock servers6 protocols, locally—
Import24 formatsPostman, Insomnia, OpenAPI
Network firewall✔—
AI drivingBuilt-in MCP server—
Record a web pageBuilt-in mini browser + replayable route deduction—
Git built into the application✔, with domain-level conflict resolutionThrough your usual git tool
  • 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 .bru language, readable and hand-editable in any editor.
  • Open source.
  • The API designer. Model an API by hand — models, enums, routes — serve it as a mock in HTTP, GraphQL, SOAP, OData and gRPC all at once, and generate its clients and its documentation, without writing a line of spec. Bruno has no equivalent.
  • 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.
Your situationOur view
HTTP / GraphQL APIs only, a team that wants the least possible toolingBruno
Several transports — messaging, streams, gRPC, SOAPRestorm
A need to mock services locallyRestorm
A need to orchestrate complex chainsRestorm
Open source above all elseBruno

Your Bruno collections import, scripts included — the bru.* layer makes them work. See Importing a Bruno collection.