Does moving from Thunder Client to Bruno or Hoppscotch cost less?
The answer depends on three things: how many seats you need, which edition each seat requires, and what one-time migration and server work you take on. Bruno's free Open Source edition carries no per-seat fee, while its Pro and Ultimate editions list at $6 and $11 per user per month, billed annually. Hoppscotch Community Edition is free to license, but it is not free to run: you host it, provide PostgreSQL through DATABASE_URL, configure SMTP for email, and appoint an administrator who installs, updates and maintains it. Before you compare, confirm current Thunder Client seat prices and free-tier limits directly with the vendor, because the numbers that matter for your renewal are the ones in your quote, not the ones on a page that may have changed.
Start by counting the seats that need features the free tiers do not cover. For Bruno, the Open Source edition limits you to 2 workspaces and 5 OpenAPI syncs per month, and Git push, branch operations, remote connections and merge conflict resolution inside the app sit behind the paid editions. Git itself still works outside the app on any edition, so a team can keep collections in a repository and use the command line for those operations. For Hoppscotch, the Community Edition has no per-seat fee, but SSO beyond the built-in providers, SCIM provisioning and audit logs belong to the Enterprise Edition, which is priced per user on the Hoppscotch pricing page. Ask your vendor for a written quote that lists each seat type and the edition each seat needs.
The recurring costs are the seat fees, if any, plus the hosting, database, mail and staff time you carry for a self-hosted server. The one-time costs are the migration itself: exporting Thunder Client collections, importing them, and rewriting scripts and variables. Bruno imports Postman Collection v2 and v2.1 JSON, and Hoppscotch imports Postman collections and environments, so a clean export reduces rework. Bulk import of a full Postman data dump is limited to Bruno Ultimate, which matters only if you are also moving from Postman. Ask any implementation partner to price the migration from a sample of your real collections, and confirm the hosting size with Hoppscotch's prerequisites page before you budget for infrastructure.
Which cost components change when a team leaves Thunder Client
This table lists each cost component that changes when a team moves API collections from Thunder Client to Bruno or a self-hosted Hoppscotch server. Read each row as who is paid for the work and whether the cost is one-time or recurring. The main takeaway is that the license line is only one part of the comparison, since Hoppscotch self-hosting adds recurring hosting, sign-in and administration work.
| Cost component | Thunder Client | Bruno or self-hosted Hoppscotch | One-time or recurring |
|---|---|---|---|
| Subscription or license | Per-seat plans; confirm current seat prices and plan limits with Thunder Client | Bruno Open Source is $0; Pro and Ultimate are $6 and $11 per user per month, billed annually. Hoppscotch Community Edition is free | Recurring for paid seats; none for Community Edition |
| Infrastructure | None; the client runs inside the editor | Bruno runs on each device. Hoppscotch needs container hosts, PostgreSQL and SMTP | Recurring |
| Implementation | Install the extension and sign in | Bruno: install from a package manager. Hoppscotch: deploy containers, set DATABASE_URL and configure OAuth and SMTP | One-time |
| Migration of collections and environments | Export collections; confirm export format and options with the vendor | Import Postman v2 or v2.1 JSON into Bruno or Hoppscotch. Review scripts and variables by hand | One-time |
| Support | Support tier included in your plan; confirm terms with the vendor | Bruno: paid editions include support through their license portal. Hoppscotch: forum support on Community, priority support on Enterprise | Recurring |
| Upgrades | Delivered by the vendor within the extension | Bruno: update desktop builds. Hoppscotch Community: your team applies quarterly releases | Recurring |
| Internal skills | Little new training; team already works in VS Code | Bruno: Git workflow for collection files. Hoppscotch: Docker, PostgreSQL and SMTP administration | One-time to learn; recurring for Hoppscotch administration |
What each edition charges per user, and what it leaves out
Bruno's desktop client is MIT-licensed, and its Open Source edition costs $0. The paid editions are priced per user and billed annually, so the recurring cost depends on how many people need the features they unlock. The Bruno pricing page is the place to confirm current tiers and limits.
- Open Source ($0): Includes clone, initialize, diffs, pull and commit in the Git UI, with a limit of 2 workspaces and 5 OpenAPI syncs per month.
- Pro ($6 per user per month): Adds the paid Git UI operations, including push, branch operations, remote connections and merge conflict resolution.
- Bruno's highest-priced edition ($11 per user per month): Adds bulk import of a Postman data dump containing all collections and environments.
- SSO and provisioning: SAML single sign-on and SCIM provisioning are tied to the paid editions, with license keys managed in a license portal.
- Git outside the app: Git still works from the terminal or any other tool on every edition, so teams can keep using their existing version control workflow.
Confirm on the pricing page which edition each feature belongs to, and ask how seats are counted for people who only read collections or run them in CI.
The Community Edition of Hoppscotch is MIT-licensed and free to license for personal and commercial use. The cost is the infrastructure you run it on and the staff time to install, administer and upgrade it. Hosted Cloud plans are priced per user per month and billed annually, and the Enterprise Edition requires a license key.
- Community Edition ($0 license): Runs as Docker containers with PostgreSQL set through DATABASE_URL, and you handle updates, with quarterly releases and community forum support.
- Build and host compute: The prerequisites list 4 CPU cores and 4 GB of RAM to generate the build image, and as little as 1 CPU core and 2 GB of RAM to host the output.
- Cloud Business ($6) and Enterprise ($11): These are hosted plans, billed per user per month and annually, which moves hosting and upgrades to Hoppscotch.
- Enterprise Edition (license key): Adds SAML SSO, OpenID Connect, priority support, guaranteed quarterly updates, SCIM provisioning, activity and audit logs, user groups, OpenTelemetry observability and an experimental AI assistant.
- Email and sign-in setup: Community Edition needs SMTP settings for email and OAuth providers configured by your administrator, which adds setup and maintenance time.
Ask for a written estimate of the server, database, backup and administrator time in your own environment, and confirm which Enterprise features you need before comparing a license with a self-run deployment.
Thunder Client is a commercial extension for Visual Studio Code with a free tier and paid plans. Plan names, seat prices and feature limits change over time, so the buyer needs to check the current plan list directly with the vendor before comparing costs. The main question for most teams is which features the free tier allows and which require a paid plan.
- Free tier limits: Check how many collections and environments the free plan allows for the number of people on your team.
- Paid-only features: Check whether imports, exports, command-line test runs and shared team workspaces sit behind a paid plan, since these are often the features that matter in CI.
- Seat model: Confirm whether paid plans price per user or per organization, and whether read-only colleagues need a paid seat.
- Storage location: Confirm where collections are synced and whether they can stay on your devices or on a server you control.
- Renewal terms: Ask for the billing period, notice of price changes, and what happens to shared collections if a seat lapses.
Get the current plan table in writing and map each paid feature to a requirement your teams actually use, such as imports or CI runs, before setting a budget for the comparison.
What moves the total: seats, sign-in, CI runs and data volume
Six drivers decide whether a move from Thunder Client to Bruno or Hoppscotch lowers total cost. Each one changes a per-seat fee, a platform workload or the migration effort, so price them together before comparing list prices. Check each driver against your own team size, pipelines and collection files, and ask for written terms for any tier you may need.
Editor users who share collections
Per-user pricing is the largest recurring line when many people share collections. Bruno's Pro edition lists $6 per user per month and its top paid edition $11, both billed annually, while its Open Source edition is limited to 2 workspaces. Hoppscotch Business lists $6 and Enterprise $11 per user per month on its pricing page, and Community Edition has no seat fee. Count people who edit shared collections, not only those who run them, and ask Thunder Client how its plans count seats.
Single sign-on and user provisioning
Sign-in requirements decide whether a free tier is enough. Bruno's paid editions add SAML single sign-on and SCIM provisioning through a license portal, while the Open Source edition needs no license management. Hoppscotch Community Edition signs users in with Email, GitHub, Google or Microsoft OAuth and needs SMTP settings for email. SAML SSO, OpenID Connect and SCIM user and group provisioning come with Hoppscotch Enterprise, which requires a license key. If your identity provider must enforce SSO and remove leavers automatically, price that tier before comparing seat totals.
Collections that run in CI
Every collection run in a pipeline adds CI minutes and a command line tool your team must maintain. Bruno's bru run command produces test reports. The Hoppscotch CLI runs hopp test and writes JUnit XML reports, but it is described as alpha and needs Node.js 22 or later. Count the pipelines and the collections each one calls, then confirm that your CI system reads the report format you choose. Thunder Client places its CLI behind paid plans, so compare CI terms on the same list of requirements.
Size of imported collections
Large Postman or OpenAPI imports set how much migration work lands on your team. Hoppscotch's importer accepts Postman and Insomnia collections and environments and OpenAPI collections, with a size limit that is lower on Hoppscotch Cloud than on self-hosted editions. Bruno imports Postman Collection v2 and v2.1 JSON, and bulk import of a full Postman data dump is included in Bruno's highest paid edition. Measure your export files before choosing a path, split oversized collections, and budget time to review scripts that import with warnings.
Data residency and stored credentials
Where collections live decides who can read the credentials embedded in requests. Offline Bruno keeps collections as files in a folder you choose, and self-hosted Hoppscotch keeps team workspaces in a PostgreSQL database on infrastructure you run. Postman's EU Data Residency instance is limited to Enterprise customers. Control of stored credentials moves cost onto your side, including storage, backups and access reviews. Ask each option to document where secrets are stored, who can export them and how they are protected at rest.
In-house platform skills
Self-hosting Hoppscotch adds a platform workload to your team. Community Edition runs as Docker containers or through a Helm chart on Kubernetes, stores data in PostgreSQL set through DATABASE_URL, and needs SMTP settings. The prerequisites list 4 CPU cores and 4 GB of RAM to build the image and 1 CPU core and 2 GB of RAM to host it. Staff time for upgrades, backups and quarterly releases recurs, while the Bruno desktop app needs installation and basic Git knowledge. Confirm who owns the server before you choose Hoppscotch.
What running a self-hosted Hoppscotch server actually costs
A self-hosted Hoppscotch server replaces a per-seat subscription with infrastructure and staff time, and the cost sits in the components you run. The Community Edition ships as Docker containers, either as separate frontend, backend and admin images or as one all-in-one container. Data lives in a PostgreSQL database that you point to with DATABASE_URL, so you need a database to back up, patch and monitor. Email sign-in and invitations need SMTP settings, and you choose the sign-in methods (Email, GitHub, Google or Microsoft OAuth), each of which you register and maintain with the provider. Ask your platform team which of these already has an owner and an operating standard.
The stated sizing is 4 CPU cores and 4 GB of RAM to generate the build image, and as little as 1 CPU core and 2 GB of RAM to host the output. Build capacity is needed for installation and upgrades, not for steady use, so a short-lived build host or CI runner may be enough, but you should confirm that with the install documentation for the version you deploy. Hosting cost is the part that recurs. Multiply the host and database resources by your cloud or data center rate, and add backup storage and monitoring. Use the buyer's own environment to set the hourly or monthly rate, and do not rely on a figure from this page.
Staff time is the largest and least predictable line. Hoppscotch's Community Edition is installed, administered and updated by you, with quarterly releases, and support comes from the community forum. Someone must plan each upgrade, test collections against the new build, and roll back if needed. Estimate those hours from your own change process, and include on-call coverage for sign-in or database failures that block the whole team. The Enterprise Edition moves SAML-based SSO, OpenID Connect, SCIM provisioning and audit logs into a licensed tier with a license key, and guaranteed quarterly updates and priority support are part of that tier. Ask Hoppscotch for the current Enterprise price in writing, and compare it with the hours your team would otherwise spend on identity integration and audit evidence.
How to build the Thunder Client cost model with your own numbers
This sequence turns the published plan prices into a cost model for your own team, covering seats, features, migration effort and recurring running costs. The result is a comparison over a horizon you choose, backed by measured migration time and written quotes.
Count active editor users and seats
Start by listing everyone who opens Thunder Client in Visual Studio Code in a normal month, not only the people on the current invoice. Separate the people who only send requests from those who maintain shared collections, because they drive different plan needs. Confirm the seat count with the team leads and with whoever administers your Thunder Client account. The step is done when you have one agreed headcount per group and a short note of who maintains shared collections.
List Thunder Client features in use
Write down which Thunder Client capabilities your team relies on, such as the number of collections, imports, exports, environments, scripts, team sharing and the CLI for CI runs. For each feature, check the current Thunder Client plan page to see which tier includes it, and confirm the free plan limits in the vendor's documentation. The output is a feature-to-plan map that shows which seats must be paid and which work could stay on a free tier.
Price Bruno and Hoppscotch per user
Use the published rates to price each option per user. Bruno's pricing page lists the Open Source edition at $0, Pro at $6 per user per month and Ultimate at $11 per user per month, both billed annually, with Open Source limited to 2 workspaces and 5 OpenAPI syncs per month. Hoppscotch's pricing page lists Business at $6 and Enterprise at $11 per user per month, billed annually. Check which Git, SSO, SCIM and bulk import features each edition includes against the features your team needs. Note that Community Edition of Hoppscotch is free but is run by your own staff.
Estimate one-time migration and server setup
Add the one-time work for each collection set. For Bruno, this covers exporting Thunder Client collections in a Postman-compatible format, importing them, and fixing scripts and variables. For a self-hosted Hoppscotch server, it covers the build, the PostgreSQL database, OAuth and SMTP configuration, and the first user onboarding. Ask your staff or a partner for effort estimates in writing for each item, and record them separately from licence costs. The output is a one-time cost table, one row per collection group.
Add recurring hosting, upgrades and staff time
Model the costs that repeat each year. For Bruno Open Source and Community Edition Hoppscotch there is no licence fee, so the recurring costs are hosting for Hoppscotch, time to apply quarterly releases, backups, and support time from your own staff or a retainer. Bruno paid editions and Hoppscotch Business or Enterprise add per-user licences on top. Ask for quotes that show the licence, implementation and support lines separately, so you can compare the recurring parts fairly. The output is an annual running cost per option.
Run a pilot on one collection group
Choose one representative collection group, such as a service with scripts, environments and a CI run, and migrate it to Bruno and to a test Hoppscotch instance. Record the actual minutes spent on export, import, script fixes and verification, and note every feature that did not translate. Confirm that Bruno's Postman script translation and Hoppscotch's importer handle your scripts, and check any packages flagged as unsupported. The pilot is complete when you have measured migration time for one group and a list of manual fixes you can extrapolate from.
Compare totals over your chosen horizon
Set the comparison horizon yourself, for example three or five years, and apply the same seat count, growth assumption and discount terms to every option. Add the one-time costs from the pilot to the recurring costs, then show the total for each option side by side. Test the result against the sensitivity of seat count and migration time, because those drive most of the difference. Request written quotes that separate license, implementation and support before you decide, and treat any figure without a written source as an assumption to be confirmed.
How long migrating collections takes and what it depends on
The supplied facts do not give a migration duration for moving from Thunder Client to Bruno or Hoppscotch, so the buyer has to measure it on their own collections before planning the cutover. The work has a fixed shape: export each collection and its environments in Postman Collection v2 or v2.1 JSON, import them into Bruno or Hoppscotch, then check each request by hand. Bruno imports Postman collections in either format, and Hoppscotch's importer accepts Postman collections and environments, so the export step is common to both targets. Ask the migration partner to confirm which export path Thunder Client supports in your installed version, because the exact menu steps are not covered by the facts here.
Most of the effort after import goes into verification rather than file conversion. Check authentication settings such as bearer tokens, API keys and OAuth configuration, because these often carry credentials that must be moved to a secure store instead of a shared file. Check variables in each environment, since a request that resolves a variable differently after import will fail silently in a test run. Review every test and pre-request script: Bruno translates common Postman script APIs such as pm.test and pm.environment but flags packages such as postman-collection and newman as unsupported, so scripts that use them need rewriting. Confirm that OpenAPI-based requests generated by Bruno's bru import command or Hoppscotch's importer match the endpoints you expect.
The main drivers of duration are the number of collections, the number of requests in each, and how much script logic sits inside them. A small set of simple collections is a matter of hours for one person in a test environment, while a large team library with custom scripts and many environments takes longer, and that estimate is illustrative only. Bulk import of a full Postman data dump of all collections and environments is a paid feature in Bruno Ultimate, so decide early whether you need it or whether per-collection import is enough. Request a written estimate from the vendor and from a migration partner based on a sample export of your largest collection, and require the estimate to list the scripts, auth methods and environments it assumed.
What buyers ask before they cost out a move from Thunder Client
How much effort does a move from Thunder Client take?
Effort depends mostly on how many collections, environments and scripts the team has, and on how many scripts use client-specific APIs. Exporting and importing is usually the smaller step. Bruno imports Postman Collection v2 and v2.1 JSON and translates common calls such as pm.test, pm.environment, pm.globals, pm.collectionVariables and pm.response. It flags postman-collection and newman as unsupported, so those scripts need hand rework. Start by inventorying a sample of collections, count the scripts that rely on unsupported packages, and confirm the export options in Thunder Client's current documentation before you plan the work.
Can our team migrate collections without outside help?
A small team can move Bruno collections alone, because Bruno is a desktop application and its collections are plain files in a folder. The team still needs one person who can review translated scripts and variables. A self-hosted Hoppscotch server needs more: someone must deploy Docker containers or the Helm chart, set the PostgreSQL connection through DATABASE_URL, configure SMTP and sign-in providers, and run upgrades. DeployOpen can plan, implement, harden, back up and document that setup in your own infrastructure under a written, fixed scope if your team lacks capacity.
How long do migration and cutover take for a team?
No supplied source gives a migration duration, so treat any figure you see as a claim to verify. The drivers are the number of collections and environments, how many scripts need rewriting, how many CI pipelines call the old runner, and how many people must be retrained. Cutover is quicker when both clients run side by side for a short period and when someone owns a list of collections still pending. Ask any implementation partner for a written timeline tied to a defined scope, and ask Thunder Client's vendor for current export and support terms.
Does Bruno's free edition include SSO and user provisioning?
No. According to Bruno's documentation, SAML single sign-on and SCIM provisioning belong to the paid editions, which use license keys managed in a license portal. The Open Source edition is listed at $0, is limited to 2 workspaces and 5 OpenAPI syncs per month, and covers clone, initialize, diffs, pull and commit in the Git UI. Push, branch operations, remote connections and merge conflict resolution are paid features in the app, although Git still works outside it. The Pro edition is listed at $6 per user per month, billed annually. Confirm current terms on Bruno's pricing page before you budget.
What does a self-hosted Hoppscotch server need from our team?
The Community Edition is free and MIT-licensed, but your team installs, administers and updates it, with quarterly releases and community forum support. The build step needs 4 CPU cores and 4 GB of RAM, and hosting the output needs as little as 1 CPU core and 2 GB of RAM. Plan for a PostgreSQL database, SMTP settings for email, and OAuth providers for Email, GitHub, Google or Microsoft sign-in. The Enterprise Edition adds SAML SSO, OpenID Connect, SCIM, audit logs and priority support, and it requires a license key. Ask for those terms in writing, since Hoppscotch's pricing page lists per-user rates that you should verify.
Can our CI runs move from the Thunder Client CLI?
Yes, but the replacement depends on what your pipelines do. Bruno provides bru run, which runs collections from the command line and produces test reports. The Hoppscotch CLI, installed from npm as @hoppscotch/cli, runs hopp test against a file or a self-hosted instance and can write JUnit XML reports. The Hoppscotch CLI is described as alpha and needs Node.js 22 or later. Before cutover, confirm how your current CLI usage is licensed in Thunder Client, port one pipeline first, compare its results with the old run, and then change the rest of the pipelines.
Which Thunder Client costs should we confirm before comparing?
Confirm Thunder Client's current free limits, paid plan prices, billing period and which features sit behind paid plans, including imports and the CLI. Ask whether seat counts include read-only users and how team workspaces are billed. Those are the Thunder Client terms that determine your baseline, and they are not in the sources used for this comparison, so request them from the vendor in writing. On the other side of the comparison, the cost components are Bruno seats if you choose a paid edition, Hoppscotch server hosting and database, your team's migration hours, and any outside implementation under a written scope.
How DeployOpen scopes a fixed-price migration and what it hands over
DeployOpen plans and implements self-hosted open-source platforms inside your own infrastructure, and most engagements are fixed-scope with the scope, deliverables and timelines agreed in writing before work starts. For Thunder Client cost vs Bruno and Hoppscotch, that means a written scope that separates the Bruno desktop move from any self-hosted Hoppscotch server work.
How we scope
- Inventory every Thunder Client collection, environment and CI run so the written scope reflects what your team actually uses.
- Record which collections hold embedded credentials and where your devices or servers should keep them.
- Agree in writing whether the work covers Bruno on laptops, a self-hosted Hoppscotch instance, or both before any work starts.
How we build
- Convert exported collections and environments, then review and fix scripts and variables that do not carry over cleanly.
- Set up the Bruno folder layout for Git collaboration, or install and configure a Hoppscotch Community Edition instance in your environment.
- Move CI runs from the Thunder Client CLI to the bru run or hopp test commands and check the test reports they produce.
How we hand over
- Provide a written migration record listing each collection moved, what was changed by hand and what was left out.
- Document the install, upgrade and backup steps for any self-hosted Hoppscotch instance in your own environment.
- Deliver a short guide for developers covering where collections live, how to share them through Git and how to run tests in CI.
How we support
- Ongoing support, upgrades and continuous testing are available as a retainer after the fixed-scope work ends.
- Ask any provider to confirm which editions, features and licenses your team needs before the quote is finalized.
- Confirm with your own security and compliance teams how collection data and credentials will be governed after handover.

