Open source Postman alternatives: where Bruno, Insomnia and Hoppscotch keep your collections
Postman's Free plan is now one user. The open source clients that replace it differ most in where your collections are stored, so we compared Bruno, Insomnia and Hoppscotch by storage model, free-tier limits and what breaks when you migrate.
Nihar Rout · · Updated · 9 min read · 9 views
The open source Postman alternatives worth your time differ less in features than in one decision: where your API collections are stored. Bruno keeps them as files in a folder you commit to git, Insomnia lets each project pick its own storage, and Hoppscotch can run on a server you control. Choose that model first, because it decides who can read your requests and what a free plan is worth to you.
The reason the question is live: Postman's own documentation says its plan offerings changed in March 2026, and that the Free plan "is limited to one user and can't create a team". Before that, a free team could invite up to three people to collaborate. Shared work now starts at the Team plan, listed at $19 per user per month billed annually, with Solo at $9 a month for one person.
Open source Postman alternatives, by where they keep your collections
Everything below was read on the vendors' own pricing and documentation pages on October 23, 2026. Prices and plan limits change, so check them again before you buy.
| Tool | Where collections are stored | Free tier | Paid from |
|---|---|---|---|
| Bruno | Plain files in a folder you keep in git | Open Source edition: public git providers only, 2 workspaces | $6/user/mo, annual |
| Insomnia | Per project: Scratch Pad, Local Vault, Git Sync or Cloud Sync | Essentials: Git Sync for up to 3 users per org | $12/user/mo |
| Hoppscotch | Hoppscotch's cloud, or an instance you host | Free: personal workspace, collections, environments, collection runner | $6/user/mo, annual |
| Postman | Postman's cloud, or on the device when signed out | 1 user, can't create a team | $9/mo (Solo) |
All four are listed in APIs & Integrations, where we list 194 products as of October 2026. One caveat on the phrase "open source": we checked each project's pricing and documentation pages, not its license file. If the exact terms matter for your use - redistribution, or embedding a client in something you sell - read the license in the repository first.
Bruno treats a collection as code, and git as the sync
Bruno's model is, in our view, the easiest to reason about. A collection is a folder of plain files on your filesystem, so your existing review process applies to API changes: branch, pull request, diff, merge. Bruno's import documentation reflects that directly - alongside file imports, it can clone a git repository that contains a Bruno collection.
The free tier has edges worth knowing. Bruno's pricing page lists the Open Source edition at $0 with the core client for HTTP, REST, GraphQL and gRPC, and limits it to public git providers, two workspaces and five OpenAPI syncs a month. Private repositories - which is to say most work - need the Pro plan at $6 per user per month billed annually. Ultimate is $11.
The migration catch is specific. Bruno imports a Postman collection exported as JSON, but the Postman Data Export - the archive that carries collections, environments and globals together - requires Bruno's Ultimate Edition. If you have twenty environments full of variables, budget time to rebuild them by hand or pay for the top tier. Bruno's documentation also recommends reviewing imported requests and testing a few afterward, which is sound advice whichever tool you land on.
Skip Bruno if your team is not comfortable with git as the collaboration layer. There is no shared cloud workspace to fall back on, and in our view that is the product working as designed rather than a gap in it.
Insomnia is the one that lets each project choose
Kong's Insomnia offers four storage options and lets you set them per project, which no other client on this list does. Its storage documentation describes Scratch Pad as storing "all project data ... locally on your device", usable from the login screen without logging in; Local Vault as local storage, optionally through git; Git Sync as using "a third-party Git repository for storing project data"; and Cloud Sync as storing and synchronizing project data in the cloud with version control.
That flexibility is, in our view, the reason to shortlist it, and the free plan is where it gets awkward. Insomnia's pricing page puts Essentials at $0 with unlimited users on cloud and local projects, but Git Sync on that plan is capped at three users per organization - switch Git Sync off and user numbers are unlimited again. Pro is $12 per user per month, Enterprise $45, and on Enterprise an admin can require one storage option across the organization.
That last control reads to us as the clearest signal of who Insomnia is built for: companies that have to demonstrate requests never left their own systems. If you are two developers who simply want git-based collections, we'd argue Bruno's $6 does the same job for half of Insomnia's $12.
Hoppscotch is the one you can put on your own server
Hoppscotch answers "can I self host an API client?" with yes. Its pricing page says Hoppscotch "is free to use for everyone" and links a self-hosting guide, with cloud plans at $0 for Free, $6 per user per month for Business and $11 for Enterprise, billed annually. The free cloud tier covers REST, GraphQL and realtime API testing, a personal workspace, collections and environments, pre-request scripts and tests, the collection runner and code snippets, with community support rather than email support.
Self-hosting is a different commitment from installing a desktop app. The Community Edition is something you host and maintain, so somebody on your team owns its upgrades and backups. In our view that is worth doing when a policy says API traffic and saved requests stay inside your own network, and it is overhead with no payoff when the only reason is that self-hosting sounds safer.
Skip the self-hosted edition if nobody on the team wants to be on call for it. The hosted free tier gives you the client without the operational tail.
Can you use Postman without an account?
Partly, and the limit is the interesting part. Postman's documentation describes a lightweight API Client in the desktop app for working when you are not connected to Postman's servers. Signed out you can create HTTP, WebSocket, Socket.IO, GraphQL, gRPC and MQTT requests, send them, see a history of what you sent, and write post-response scripts. All of it "is stored locally and isn't synced online with Postman".
What you do not get signed out is the workspace, and the workspace is where collections and environments live. Postman's page says plainly that switching to a workspace requires signing up or signing in. So the honest answer to "does Postman store my collections in the cloud" is that saved collections are an account feature; one-off requests are not.
That design follows from building the product around shared workspaces, and it is also why a one-user Free plan sends people looking elsewhere. Postman keeps advantages a local-first client does not match: per its pricing page, even the Free plan includes 10,000 Postman API calls a month, up to five integrations and one-day collection recovery, and the paid tiers raise all three. If your pipeline depends on those, moving to a file-based client is a downgrade rather than a migration. If you also publish API reference documentation, our guide to where to move API docs after Apiary covers that half of the job.
Secrets are what break a git-based collection
The moment collections become files in a repository, every token in an environment variable is one careless commit away from being public. This part of the switch is easy to underestimate, and the API client alone does not solve it.
The pattern we would use is to keep credentials in a secrets manager and have the collection reference them, so the repository never holds a live key. Upfynd lists Infisical among 211 products in Open Source as of October 2026. The discipline is the same in any of these clients: reference a variable, and keep its value out of the repository.
It is also the reason the migration below ends with rotating tokens rather than importing them.
Moving a Postman collection across, in five steps
We would do it in this order. Environments and keys are the two steps easiest to postpone, and in our view the ones most likely to cost you time later.
- Export from Postman while you still have access. Take both a collection export and, if your plan allows it, a full data export. The data export is the one that carries environments and globals, and it is also the one Bruno gates behind Ultimate.
- Import into the client you chose, then test three requests. Pick a GET that needs no auth, one that needs a token, and one with a response body your scripts parse. If those three pass, the rest usually follow.
- Rebuild environments deliberately. Treat this as the chance to delete the stale variables nobody can explain, rather than carrying them over wholesale.
- Commit the collection, not the credentials. Put the collection folder in your repository, add the environment files to gitignore, and have one teammate clone it fresh to prove the collection works on a machine that never had Postman.
- Rotate the tokens. Any key that lived in a Postman environment should be considered exposed to every export and every device that synced it.
How we would choose
Three questions, in this order.
- Must the requests stay on your own machines? Then Bruno, Insomnia with Local Vault or Git Sync, or a self-hosted Hoppscotch. Postman's workspace is a cloud workspace.
- Is git your collaboration layer, or do you want a workspace UI? Git favors Bruno. A shared workspace a non-developer can open favors Hoppscotch's cloud or Postman.
- How many people need write access? Free plans decide it here: Insomnia's Essentials caps Git Sync at three users per organization, Bruno's free edition only talks to public git providers, and Postman's Free plan is one user.
For a small team that already lives in pull requests, we would start with Bruno and expect to pay the $6 for private repositories. For a mixed team where a product manager occasionally needs to call an endpoint, Hoppscotch's free cloud workspace is the lower-friction answer. For a company with a storage policy to enforce, we'd say Insomnia's per-project options and Enterprise controls are the only one of the three built for that job.
Compare the wider set in Testing & Monitoring, where we list 144 products as of October 2026, and if you maintain an API client we have not covered here, submit it so the next person comparing has one more option.
Frequently asked questions
What is the best open source alternative to Postman?
It depends on your storage model. Bruno suits teams that treat collections as files in a git repository. Insomnia suits organizations that need different storage per project, including local-only. Hoppscotch suits teams that want a browser workspace or an instance on their own server. All three were checked in October 2026.
Does Postman store my collections in the cloud?
Saved collections live in a Postman workspace, which is a cloud account feature. Postman's documentation says switching to a workspace requires signing up or signing in. Requests you build in the signed-out lightweight API Client are stored locally and are not synced online with Postman, but they are not saved collections.
Is Bruno really free?
Bruno's pricing page lists an Open Source edition at zero dollars with the core client for HTTP, REST, GraphQL and gRPC. That edition is limited to public git providers, two workspaces and five OpenAPI syncs a month. Private repositories need the Pro plan at six dollars per user per month, billed annually.
Can I self host an API client?
Yes. Hoppscotch's pricing page says the product is free to use for everyone and links a self-hosting guide for its Community Edition, which you run as a server with a database behind it. Insomnia and Bruno take a different route: they keep project data on your own device or in your own git repository.
How do teams share API collections without a cloud account?
They commit the collection to a git repository and let the repository handle access and review. Bruno is built around this, and Insomnia offers Git Sync, capped at three users per organization on its free Essentials plan as of October 2026. Keep credentials in a secrets manager, not in the repository.
Products in this article
BrunoA local API client that keeps collections in Git and works offline
HoppscotchOpen source API client for REST, GraphQL, WebSocket and more
InfisicalSecrets sync and certificate management, open source and end-to-end encrypted
InsomniaAPI client for building, debugging and mocking REST, GraphQL and gRPC calls
PostmanAPI client and workspace for designing, testing and documenting APIs together
About the author
Nihar Rout
CEO & Co-founder