Table of contents
- Features
- Demo
- Usage
- Built with
- Developing
- Docker
- Releasing
- Contributing
- Continuous Integration
- Changelog
- Authors
- License
โค๏ธ 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 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 a HTTP connection without resorting to polling.
๐ฉ Socket.IO: Send and Receive data with SocketIO server.
๐ฆ MQTT: Subscribe and Publish to topics of a 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 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
[https://]
endpoints - Use your own Proxy URL
Official proxy server is hosted by Hoppscotch - GitHub - Privacy Policy
๐ Pre-Request Scripts ฮฒ: Snippets of code associated with a request that are 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 own 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
Synchronize your data
- History
- Collections
- Environments
- Settings
โ Post-Request Tests ฮฒ: Write tests associated with a request that are executed after the request response.
- Check the status code as an integer
- Filter response headers
- Parse the response data
- Any JavaScript functions
๐ฑ Environments : Environment variables allow you to store and reuse values in your requests and scripts.
- Unlimited environments and variables
- Initialize through pre-request script
- Export as / import from GitHub gist
Use-cases
- 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 team collections and shared requests
- Unlimited team members
- User roles
๐ 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.
- Choose
method
- Enter
URL
- Send request
- Get response
- Update
.env.example
file found in repository's root directory with your own keys and rename it to.env
.
Sample keys only works with the production build.
- Clone this repo with git.
- Install dependencies by running
npm install
within the directory that you cloned (probablyhoppscotch
). - Start the development server with
npm run dev
. - Open development site by going to
https://localhost:3000
in your browser.
- Clone this repo with git.
- Run
docker-compose up
- Open development site by going to
https://localhost:3000
in your browser.