โค๏ธ Lightweight: Crafted with minimalistic UI design.
โก๏ธ Fast: Send requests and get/copy responses in real-time.
HTTP Methods
GET
- Requests retrieve resource informationPOST
- The server creates a new entry in a databasePUT
- Updates an existing resourcePATCH
- Very similar toPUT
but makes a partial update on a resourceDELETE
- Deletes resource or related componentHEAD
- Retrieve response headers identical to those of a GET request, but without the response body.CONNECT
- Establishes a tunnel to the server identified by the target resourceOPTIONS
- Describe the communication options for the target resourceTRACE
- Performs a message loop-back test along the path to the target resource<custom>
- Some APIs use custom request methods such asLIST
. Type in your custom methods.
๐ Make it yours: Customizable combinations for background, foreground, and accent colors โ customize now.
Theming
- Choose a theme: System (default), Light, Dark, and Black
- Choose accent color: Green (default), Teal, Blue, Indigo, Purple, Yellow, Orange, Red, and Pink
- Distraction-free Zen mode
Customized themes are synced with cloud / local session
๐ฅ PWA: Install as a PWA on your device.
- Instant loading with Service Workers
- Offline support
- Low RAM/memory and CPU usage
- Add to Home Screen
- Desktop PWA
๐ Request: Retrieve response from endpoint instantly.
- Choose
method
- Enter
URL
- Send
- Copy/share public "Share URL"
- Generate/copy request code snippets for 10+ languages and frameworks
- Import
cURL
- Label requests
๐ WebSocket: Establish full-duplex communication channels over a single TCP connection.
๐ก Server-Sent Events: Receive a stream of updates from a server over an HTTP connection without resorting to polling.
๐ฉ Socket.IO: Send and Receive data with SocketIO server.
๐ฆ MQTT: Subscribe and Publish to topics of an MQTT Broker.
๐ฎ GraphQL: GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data.
- Set endpoint and get schema
- Multi-column docs
- Set custom request headers
- Query schema
- Get query response
๐ Authorization: Allows to identify the end-user.
- None
- Basic
- Bearer Token
- OAuth 2.0
- OIDC Access Token/PKCE
๐ข Headers: Describes the format the body of your request is being sent as.
๐ซ Parameters: Use request parameters to set varying parts in simulated requests.
๐ Request Body: Used to send and receive data via the REST API.
- Set
Content Type
- FormData, JSON, and many more
- Toggle between key-value and RAW input parameter list
๐ Response: Contains the status line, headers, and the message/response body.
- Copy response to clipboard
- Download response as a file
- View response headers
- View raw and preview of HTML, image, JSON, XML responses
โฐ History: Request entries are synced with cloud / local session storage to restore with a single click.
๐ Collections: Keep your API requests organized with collections and folders. Reuse them with a single click.
- Unlimited collections, folders, and requests
- Nested folders
- Export and import as a file or GitHub gist
Collections are synced with cloud / local session storage
๐ Proxy: Enable Proxy Mode from Settings to access blocked APIs.
- Hide your IP address
- Fixes
CORS
(Cross-Origin Resource Sharing) issues - Access APIs served in non-HTTPS (
http:https://
) endpoints - Use your Proxy URL
Official proxy server is hosted by Hoppscotch - GitHub - Privacy Policy
๐ Pre-Request Scripts ฮฒ: Snippets of code associated with a request that is executed before the request is sent.
- Set environment variables
- Include timestamp in the request headers
- Send a random alphanumeric string in the URL parameters
- Any JavaScript functions
๐ API Documentation: Create and share dynamic API documentation easily, quickly.
- Add your requests to Collections and Folders
- Export Collections and easily share your APIs with the rest of your team
- Import Collections and Generate Documentation on-the-go
โจ๏ธ Keyboard Shortcuts: Optimized for efficiency.
๐ i18n: Experience the app in your language.
Help us to translate Hoppscotch. Please read TRANSLATIONS
for details on our CODE OF CONDUCT
, and the process for submitting pull requests to us.
๐ฆ Add-ons: Official add-ons for hoppscotch.
-
Proxy - A simple proxy server created for Hoppscotch
-
CLI ฮฒ - A CLI solution for Hoppscotch
-
Browser Extensions - Browser extensions that simplifies access to Hoppscotch
Extensions fixes
CORS
issues. -
Hopp-Doc-Gen - An API doc generator CLI for Hoppscotch
Add-ons are developed and maintained under Hoppscotch Organization.
โ๏ธ Auth + Sync: Sign in and sync your data in real-time.
Sign in with
- GitHub
- Microsoft
Synchronize your data
- History
- Collections
- Environments
- Settings
โ Post-Request Tests ฮฒ: Write tests associated with a request that is executed after the request's response.
-
Check the status code as an integer
-
Filter response headers
-
Parse the response data
-
Set environment variables
-
Write JavaScript code
-
By storing a value in a variable, you can reference it throughout your request section
-
If you need to update the value, you only have to change it in one place
-
Using variables increases your ability to work efficiently and minimizes the likelihood of error
๐จโ๐ฉโ๐งโ๐ฆ Teams ฮฒ: Helps you collaborate across your team to design, develop, and test APIs faster.
- Unlimited teams
- Unlimited shared collections
- Unlimited team members
- Role-based access control
- Cloud sync
- Multiple devices
๐ Bulk Edit: Edit key-value pairs in bulk.
- Entries are separated by newline
- Keys and values are separated by
:
- Prepend
#
to any row you want to add but keep disabled
For more features, please read our documentation.
- Provide your API endpoint in the URL field
- Click "Send" to simulate the request
- View the response
- Update
.env.example
file found inpackages/hoppscotch-app
with your own keys and rename it to.env
.
Sample keys only work with the production build.
- Clone this repo with git.
- Install pnpm using npm by running
npm install -g pnpm
. - Install dependencies by running
pnpm install
within the directory that you cloned (probablyhoppscotch
). - Start the development server with
pnpm run dev
. - Open the development site by going to
http:https://localhost:3000
in your browser.
- Clone this repo with git.
- Run
docker-compose up
within the directory that you cloned (probablyhoppscotch
). - Open the development site by going to
http:https://localhost:3000
in your browser.
docker run --rm --name hoppscotch -p 3000:3000 hoppscotch/hoppscotch:latest
- Clone this repo with git.
- Install pnpm using npm by running
npm install -g pnpm
. - Install dependencies by running
pnpm install
within the directory that you cloned (probablyhoppscotch
). - Update
.env.example
file found inpackages/hoppscotch-app
with your own keys and rename it to.env
. - Build the release files with
pnpm run generate
. - Find the built project in
packages/hoppscotch-app/dist
. Host these files on any static hosting servers.
Please contribute using GitHub Flow. Create a branch, add commits, and open a pull request.
Please read CONTRIBUTING
for details on our CODE OF CONDUCT
, and the process for submitting pull requests to us.
We use GitHub Actions for continuous integration. Check out our build workflows.