★ 79,516TypeScriptMITupdated Jun 2026
best for teams who want one open-source client across web, desktop, and CLI, deployable fully on-prem
Hoppscotch is the only one of these four that actually tries to be everything — REST, GraphQL, WebSocket, SSE, Socket.IO, and MQTT in one tool, with a web app, a desktop agent, and a CLI. The Tauri-based agent is a genuinely smart way to get around CORS without a browser extension, and the self-hosting path is real: NestJS backend, Prisma migrations, schema changes as recent as this year.
The catch is that 'open source' oversells what you get. Team workspaces and SSO live behind an enterprise tier that isn't in the MIT-licensed repo, so the parts a team actually needs to collaborate aren't included. The backend is GraphQL-first with a thin REST surface, which matters if you want to script against it rather than just use the UI. And self-hosting means running four separate services — frontend, backend, proxy, agent — not the single binary you get with Yaak or the plain folder of files you get with Bruno.
Our full take →GitHub ↗
★ 40,069TypeScriptApache-2.0updated Oct 2026
best for teams that need GraphQL, gRPC, and WebSockets alongside REST, with Kong-backed Cloud/Git sync
Insomnia covers more protocols than anyone else here — gRPC and WebSockets on top of REST and GraphQL, in a mature, well-tested monorepo with Kong actually behind it. Git Sync is the real alternative to a cloud account, letting collections live in a repo instead of a vendor's database.
But that cloud account is now the default, not the alternative. Most of what you'd actually want to do requires signing in, and the free Scratch Pad feels deliberately limited next to the full product — which defeats the point if you picked this over Postman specifically to avoid that model. It's also the heaviest tool on this list to build and run locally, and the README spends more time on pricing than on how any of it works under the hood. If account-free is the whole point, Bruno or Yaak get you there without the compromise.
Our full take →GitHub ↗
★ 47,770JavaScriptMITupdated Oct 2026
best for teams who want collections stored as plain git-friendly text files instead of a vendor cloud account
Bruno's entire pitch is that your collections are just text files — the Bru format is readable, diffs in git mean something, and there's a real CLI with Docker images built for CI, not a GUI afterthought. The contributor base is large and active, with enough structure around testing and docs that the project doesn't feel like it's held together by one person.
No cloud sync is permanent by design, which is the right tradeoff if you care about where your data lives, but it means any team wanting hosted sharing gets pushed to a paid tier — read the fine print before assuming the open source label covers your whole workflow. The app itself is a large, sprawling Electron codebase, and it doesn't touch gRPC or WebSockets the way Insomnia and Yaak do. Importing a big existing Postman collection has historically been the rough edge.
Our full take →GitHub ↗
★ 18,817TypeScriptMITupdated Jul 2026
best for developers who want the newest, most actively-evolving desktop client, with gRPC and SSE built in
Yaak is the newest of the four and it shows in the engineering, not just the UI. Tauri keeps the binary small and lets it store secrets in the OS keychain instead of a config file, the editor has its own grammars instead of being a textarea with highlighting bolted on, and collections sync through git as plain files — same philosophy as Bruno, but in a desktop-native shell. It handles gRPC with proto file selection and SSE streaming without feeling bolted on, more protocol coverage than Bruno or Hoppscotch offer.
The tradeoff is control. Community PRs are limited to bug fixes — the roadmap belongs entirely to one maintainer, so a missing feature means waiting or forking, not contributing. The project runs on paid licenses with no company behind it the way Insomnia has Kong, which is a real sustainability question. The plugin system exists but isn't documented well enough to build against confidently, and gRPC support needs local proto files — it won't discover services through reflection the way a more mature client eventually should.
Our full take →GitHub ↗
// questions people ask
Before you choose
Which of these doesn't require a cloud account?
Bruno and Yaak store collections as files on your disk, so neither requires signing up for anything. Hoppscotch can be fully self-hosted but needs four services running to get there. Insomnia now gates most real functionality behind an account.
Which one supports gRPC?
Insomnia and Yaak both handle gRPC, including proto file selection. Yaak's falls apart on APIs that only expose server reflection rather than local proto files. Bruno and Hoppscotch don't support gRPC at all.
Is Hoppscotch actually fully open source?
The core client is, and self-hosting genuinely works. But team features and SSO sit behind an enterprise tier that isn't in the MIT-licensed repo, so 'open source' doesn't cover everything a team actually needs.
Which is best for running collections in CI?
Bruno, by a decent margin — its CLI ships with Docker images built for pipelines, not added as an afterthought. That's a clearer edge than Hoppscotch's add-on CLI or Insomnia's inso, which exist but lag behind the GUI in both tools.
We send a weekly email with repos picked the same way these four were — one list, no noise, and never a repeat unless something changed enough to matter.