Guide · Open source
How to use Hoppscotch: send API requests, collections and tests
Updated · written with AI from the project's own documentation and checked against our catalogue data
Hoppscotch is an open-source tool for making and testing requests to web APIs. You enter a URL, pick an HTTP method such as GET or POST, send the request and inspect the response. This guide covers the basic workflow, then the features the README describes: collections, environments, scripts, tests, and sharing with a team.
Quick start
- 1Open the web app. Hoppscotch is offered as a web app, so open it in your browser. The README lists no prerequisites for this method.
- 2Choose a method and enter a URL. Select an HTTP method such as GET or POST, then type the endpoint URL into the request bar.
- 3Add headers, parameters or a body. Set headers, parameters, authorization and a request body as the API requires.
- 4Send and inspect the response. Click send, then review the status line, headers and body in the response panel.
- 5Save requests into a collection. Organize related requests into collections and folders so you can reuse them with a single click.
- 6Add environment variables and tests. Store reusable values in an environment and write post-request tests to check the response.
What Hoppscotch is and who it suits
Hoppscotch is an open-source API development ecosystem, licensed under MIT and written in TypeScript. The project positions it as an open-source alternative to Postman and Insomnia.
It is offered as a web app, an installable desktop or PWA app, and a command-line interface. The README lists developers who want to test REST, GraphQL, WebSocket or other APIs without a heavy desktop client, teams that share collections and environments, and people who prefer an open-source tool they can self-host or run offline.
Open Hoppscotch and send your first request
The install method listed for this project is the web app, and the README lists no prerequisites. The main workflow follows three steps: choose a method, enter a URL, then send.
Once the response arrives, you can view its status line, headers and body.
- Choose a method, such as GET, POST, PUT, PATCH or DELETE
- Enter the URL of the endpoint
- Click send and read the response
- Copy the response to the clipboard or download it as a file
- View raw and preview HTML, image, JSON, and XML responses
Build requests with headers, parameters and bodies
Headers describe the format of the request body. Parameters let you set varying parts of a simulated request. The request body is used to send and receive data through a REST API, and you can set the Content Type, use FormData or JSON, and toggle between key-value and raw input.
Authorization supports None, Basic, Bearer Token, OAuth 2.0 and OIDC Access Token/PKCE. Bulk Edit lets you edit key-value pairs in one text block: entries are separated by newlines, keys and values by a colon, and a row prefixed with # is kept but disabled.
- Import a cURL command to create a request
- Generate request code snippets for 10+ languages and frameworks
- Label requests and share a public Share URL
Organize work with collections, environments and workspaces
Collections keep requests organized, with nested folders and unlimited collections, folders and requests. Export and import them as a file or a GitHub gist. Environments store values such as variables you reuse across requests and scripts, so you change a value in one place instead of many.
Workspaces group personal and team collections and environments so you can switch between projects.
- Nested folders inside collections
- Environment variables referenced throughout a request
- Switch between personal and team workspaces
Script requests and add tests
Pre-request scripts run JavaScript before a request is sent. Examples in the README include setting environment variables, adding a timestamp to headers, and sending a random alphanumeric string in URL parameters.
Post-request tests run after the response. They can check the status code as an integer, filter response headers, parse response data, set environment variables, and run JavaScript code.
Use WebSocket, GraphQL, SSE, Socket.IO and MQTT
Beyond HTTP, the README describes support for WebSocket, Server-Sent Events, Socket.IO and MQTT. For GraphQL you set the endpoint and fetch its schema, then query the schema and read the query response.
To run API tests outside the browser, the README points to the Hoppscotch CLI, a command-line interface in the packages/hoppscotch-cli folder of the repository.
- WebSocket: full-duplex communication over a single TCP connection
- Server-Sent Events: a stream of updates without polling
- MQTT: subscribe and publish to topics of an MQTT broker
- GraphQL: set endpoint, get schema, query schema, multi-column docs
git clone https://github.com/hoppscotch/hoppscotchUse Proxy Mode and self-hosting options
Proxy Mode is enabled from Settings. The README says it can fix CORS issues, reach APIs served over plain http://, and hide your IP address. The official proxy is hosted by Hoppscotch, and the proxy server is open source in a separate project.
The README mentions self-hosting and offline use. For the source code, clone the repository. The README does not give further self-hosting steps, so check the official documentation for those.
- Enable Proxy Mode from Settings
- Use your own Proxy URL if you prefer
What people use it for
- Testing a REST endpoint by changing the method and body and checking the response
- Sharing collections and environments with a team across workspaces
- Running saved API tests from the command line with the Hoppscotch CLI
- Exploring a GraphQL endpoint by loading its schema and running queries
- Debugging a WebSocket, SSE, Socket.IO or MQTT connection
Frequently asked questions
Is Hoppscotch free?
The project is licensed under MIT, and the README describes it as open source. The README does not list pricing for the hosted service, so check the official site for current plan details.
What are the requirements to use Hoppscotch?
For the web app, the README lists no prerequisites. The install method listed for this project is the web app.
How do I install Hoppscotch?
The README gives one install command: git clone https://github.com/hoppscotch/hoppscotch. It does not describe a full installation procedure, so consult the documentation at docs.hoppscotch.io for setup steps.
Is Hoppscotch an alternative to Postman?
The README positions Hoppscotch as an open-source alternative to Postman and Insomnia. Bruno is also listed as a comparable project. The README does not provide a feature-by-feature comparison.
Can I use Hoppscotch offline?
The README says the tool can be run offline and includes offline support in its PWA feature list. You can also install it as a Progressive Web App on your device.
Why are my requests blocked or failing with CORS errors?
The README says Proxy Mode, enabled from Settings, fixes CORS issues and lets you access APIs served over http://. You can also use your own Proxy URL.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Hoppscotch suits developers and teams who want an open-source API client that runs in the browser, on desktop or from the command line, and that can be self-hosted or used offline. If you need features the README does not describe, or you want a fully managed closed service with no sync or self-hosting, look at the other tools it is compared with, such as Postman, Insomnia or Bruno.
Install options & downloads