An API client that starts in the browser
Hoppscotch's quickest demonstration is its public web app. Enter a method and URL, add headers or a body, send the request, and inspect the response. That removes installation from the first evaluation and makes it useful for teaching, quick endpoint checks, and developers moving between machines. A progressive web app and native desktop clients cover users who want an installed interface.
The feature set reaches well beyond basic REST calls. Hoppscotch supports GraphQL schema exploration, WebSockets, Server-Sent Events, Socket.IO, and MQTT. Requests can use basic authentication, bearer tokens, OAuth 2.0, or OIDC with PKCE. Responses can be viewed as raw data, JSON, XML, images, or previewed HTML. Code snippets help transfer a working request into an application.
Collections, folders, workspaces, environments, history, pre-request scripts, and post-request tests turn those isolated calls into repeatable API work. Teams can share collections and assign roles. The CLI brings saved collection runs into scripts and CI. This is the point where Hoppscotch becomes a Postman or Insomnia replacement rather than a polished curl form.
What happened when we ran it
We cloned commit 1acb8a3 into a fresh Debian container with 3 CPUs and 8 GB of RAM. pnpm installed 2,588 packages in 88 seconds, and the installed tree occupied 1,364 MB. The repository contained 2,366 files and about 310,672 lines of source. That footprint is much larger than the lightweight browser experience suggests, which matters to contributors and CI image maintainers.
Our harness found no build script or target at the workspace root, so it skipped the build step. That is a neutral result, not a successful build and not a failure. The tests completed successfully in 612 seconds. The measured checkout used monorepo workspaces and had four CI workflow files. It had no top-level tests directory.
The signal checker also reported no Dockerfile, meaning no file with that exact name. The repository does contain prod.Dockerfile, and the supplied Compose definitions build several targets from it. It also contains a deployment Compose file. Naming details matter here because saying the project has no container build would be false, while repeating only the automated signal would hide the actual deployment path.
Browser convenience has a CORS boundary
A browser cannot freely call every API. Cross-origin rules can block a request even when the endpoint works from a terminal. Hoppscotch offers a proxy mode and official browser extensions to work around that constraint. Its default proxy is hosted by Hoppscotch, and users can supply another proxy URL.
That choice affects privacy and network design. A proxy receives the request path and whatever headers or body you send through it. Sensitive internal APIs should use a proxy operated by the same organization, a desktop client that can connect directly, or another approved path. The browser app should not teach developers to paste production credentials into a third-party relay because it is convenient.
Environments reduce repeated secret entry, and variables can be initialized through scripts. Sync can move environments and collections between devices. Teams should still decide which values may enter sync, which belong in a local runtime, and how exports or GitHub gists are reviewed. An API client often holds credentials with more power than its friendly interface implies.
Self-hosting is a small application stack
The repository's default Compose profile runs an all-in-one Hoppscotch service, PostgreSQL, and an automatic migration job. Other profiles split the backend, app, admin dashboard, and database or connect to an external database. The sample configuration defines frontend, admin, GraphQL, WebSocket, and REST URLs, plus an allowlist of browser origins. A 32-character encryption key protects sensitive data stored in the database.
The defaults are development examples, not production policy. The Compose file publishes several ports and sets PostgreSQL's sample password to testpass, immediately followed by a comment instructing operators to change it. A public deployment needs TLS, stable URLs, database backups, a secret store, restricted port exposure, and a tested migration procedure. The admin interface should not be treated as a harmless extra port.
Single sign-on is marked as an Enterprise Edition feature in the README. Teams evaluating the MIT repository for internal use should separate the open client and server capabilities from paid identity or governance requirements. Unlimited claims in the feature list do not answer whether the community edition meets an organization's authentication policy.
Collections are valuable data
Release 2026.7.0, published on July 30, 2026, fixed possible data loss in personal workspaces and request loss while importing large team collections. It also added fallback from an empty environment value to its initial value, configurable desktop connection timeouts, and dependency security patches. Those fixes are reasons to run a current version and to back up before upgrades.
Recent open reports include a Linux desktop freeze after a successful REST request, environment switching that does not update the current value, Google authentication returning 401 for a community deployment, and created documents disappearing on a later request save. They are user reports under investigation, but each maps to a concrete evaluation case. Test the exact desktop platform, authentication method, and collection workflow your team uses.
The repository was pushed on August 24, 2026. GitHub listed 803 open issues and pull requests, with both bugs and feature work receiving August updates. Development is active, and the MIT license makes the core attractive for self-hosting and contribution. Activity does not remove the need for version pinning when collections hold shared operational knowledge.
Hoppscotch is the best fit when a team wants a modern visual API client, several protocols, and a choice between cloud, desktop, and its own server. Bruno is stronger when collections must live as plain repository files. HTTPie is simpler when every useful interaction already belongs in a terminal command.

