2019-08-21 13:18:20 +00:00
< div align = "center" >
2021-06-30 14:56:11 +00:00
< a href = "https://hoppscotch.io" >
< img
2021-09-17 12:00:55 +00:00
src="https://avatars.githubusercontent.com/u/56705483"
2021-06-30 14:56:11 +00:00
alt="Hoppscotch Logo"
height="64"
/>
< / a >
< br / >
2019-11-09 01:48:34 +00:00
< p >
2021-06-30 14:56:11 +00:00
< h3 >
< b >
Hoppscotch
< / b >
< / h3 >
2019-11-02 21:56:08 +00:00
< / p >
2019-09-27 17:29:21 +00:00
< p >
2021-06-30 14:56:11 +00:00
< b >
Open source API development ecosystem
< / b >
2019-11-02 21:56:08 +00:00
< / p >
2020-06-17 02:20:01 +00:00
< p >
2019-11-02 21:59:31 +00:00
2021-06-30 14:56:11 +00:00
[](CODE_OF_CONDUCT.md) [](https://hoppscotch.io) [](https://github.com/hoppscotch/hoppscotch/actions) [](https://twitter.com/share?text=%F0%9F%91%BD%20Hoppscotch%20%E2%80%A2%20Open%20source%20API%20development%20ecosystem%20-%20Helps%20you%20create%20requests%20faster,%20saving%20precious%20time%20on%20development.& url=https://hoppscotch.io& hashtags=hoppscotch& via=hoppscotch_io)
2019-11-02 21:59:31 +00:00
2019-11-02 21:56:08 +00:00
< / p >
< p >
2021-06-30 14:56:11 +00:00
< sub >
Built with ❤︎ by
< a href = "https://github.com/hoppscotch/hoppscotch/graphs/contributors" >
contributors
< / a >
2019-11-02 21:56:08 +00:00
< / sub >
2019-09-27 17:29:21 +00:00
< / p >
2021-06-30 14:56:11 +00:00
< br / >
< p >
2022-02-15 08:46:34 +00:00
< a href = "https://hoppscotch.io/#gh-light-mode-only" target = "_blank" >
2021-06-30 14:56:11 +00:00
< img
2022-02-15 08:46:34 +00:00
src="./packages/hoppscotch-app/static/images/banner-light.png"
alt="Hoppscotch"
width="100%"
/>
< / a >
< a href = "https://hoppscotch.io/#gh-dark-mode-only" target = "_blank" >
< img
src="./packages/hoppscotch-app/static/images/banner-dark.png"
alt="Hoppscotch"
2021-06-30 14:56:11 +00:00
width="100%"
/>
< / a >
< / p >
2019-08-21 13:18:20 +00:00
< / div >
2021-08-20 14:51:22 +00:00
#### **Support**
2020-09-23 08:04:02 +00:00
2021-11-20 17:13:19 +00:00
[](https://hoppscotch.io/discord) [](https://hoppscotch.io/telegram) [](https://github.com/hoppscotch/hoppscotch/discussions)
2020-09-23 08:04:02 +00:00
### **Features**
2019-08-21 13:18:20 +00:00
2020-09-23 08:04:02 +00:00
❤️ **Lightweight:** Crafted with minimalistic UI design.
2019-08-21 13:18:20 +00:00
2020-09-23 08:04:02 +00:00
⚡️ **Fast:** Send requests and get/copy responses in real-time.
2019-08-21 13:18:20 +00:00
2021-08-20 14:51:22 +00:00
**HTTP Methods**
2020-12-21 18:26:35 +00:00
2021-08-24 08:15:11 +00:00
- `GET` - Requests retrieve resource information
- `POST` - The server creates a new entry in a database
- `PUT` - Updates an existing resource
- `PATCH` - Very similar to `PUT` but makes a partial update on a resource
- `DELETE` - Deletes resource or related component
- `HEAD` - 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 resource
- `OPTIONS` - Describe the communication options for the target resource
- `TRACE` - Performs a message loop-back test along the path to the target resource
- `<custom>` - Some APIs use custom request methods such as `LIST` . Type in your custom methods.
2020-06-12 07:39:58 +00:00
2022-01-05 04:07:13 +00:00
🌈 **Make it yours:** Customizable combinations for background, foreground, and accent colors — [customize now ](https://hoppscotch.io/settings ).
2019-08-27 07:32:44 +00:00
2021-08-20 14:51:22 +00:00
**Theming**
2020-12-21 18:26:35 +00:00
2022-01-05 04:07:13 +00:00
- 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
2020-06-12 07:39:58 +00:00
2021-08-20 14:51:22 +00:00
_Customized themes are synced with cloud / local session_
2019-08-27 07:32:44 +00:00
2020-09-23 08:04:02 +00:00
🔥 **PWA:** Install as a [PWA ](https://developers.google.com/web/progressive-web-apps ) on your device.
2019-08-27 07:32:44 +00:00
2021-08-24 08:15:11 +00:00
- Instant loading with Service Workers
- Offline support
- Low RAM/memory and CPU usage
- Add to Home Screen
- Desktop PWA
2020-12-21 18:26:35 +00:00
2020-09-23 08:04:02 +00:00
🚀 **Request:** Retrieve response from endpoint instantly.
2019-09-04 02:05:47 +00:00
2021-08-20 14:51:22 +00:00
1. Choose `method`
2. Enter `URL`
3. Send
2019-08-27 07:32:44 +00:00
2021-08-24 08:15:11 +00:00
- Copy/share public "Share URL"
- Generate/copy request code snippets for 10+ languages and frameworks
- Import `cURL`
- Label requests
2020-12-21 18:26:35 +00:00
🔌 **WebSocket:** Establish full-duplex communication channels over a single TCP connection.
2019-11-20 14:59:23 +00:00
2022-01-05 04:07:13 +00:00
📡 **Server-Sent Events:** Receive a stream of updates from a server over an HTTP connection without resorting to polling.
2019-11-24 23:43:35 +00:00
2020-09-23 08:04:02 +00:00
🌩 **Socket.IO:** Send and Receive data with SocketIO server.
2020-03-04 06:50:47 +00:00
2022-01-05 04:07:13 +00:00
🦟 **MQTT:** Subscribe and Publish to topics of an MQTT Broker.
2020-03-11 12:29:24 +00:00
2020-09-23 08:04:02 +00:00
🔮 **GraphQL:** GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data.
2019-11-20 14:59:23 +00:00
2021-08-24 08:15:11 +00:00
- Set endpoint and get schema
- Multi-column docs
- Set custom request headers
- Query schema
- Get query response
2020-12-21 18:26:35 +00:00
2022-01-05 04:07:13 +00:00
🔐 **Authorization:** Allows to identify the end-user.
2019-08-27 07:32:44 +00:00
2021-08-24 08:15:11 +00:00
- None
- Basic
- Bearer Token
- OAuth 2.0
- OIDC Access Token/PKCE
2020-12-21 18:26:35 +00:00
2020-09-23 08:04:02 +00:00
📢 **Headers:** Describes the format the body of your request is being sent as.
2019-08-27 07:32:44 +00:00
2020-09-23 08:04:02 +00:00
📫 **Parameters:** Use request parameters to set varying parts in simulated requests.
2019-08-27 07:32:44 +00:00
2020-09-23 08:04:02 +00:00
📃 **Request Body:** Used to send and receive data via the REST API.
2019-08-27 07:32:44 +00:00
2021-08-24 08:15:11 +00:00
- Set `Content Type`
2022-01-05 04:07:13 +00:00
- FormData, JSON, and many more
2021-08-24 08:15:11 +00:00
- Toggle between key-value and RAW input parameter list
2020-12-21 18:26:35 +00:00
2022-01-05 04:07:13 +00:00
👋 **Response:** Contains the status line, headers, and the message/response body.
2020-12-21 18:26:35 +00:00
2021-08-24 08:15:11 +00:00
- Copy response to clipboard
- Download response as a file
- View response headers
- View raw and preview of HTML, image, JSON, XML responses
2019-08-28 08:57:42 +00:00
2020-09-23 08:04:02 +00:00
⏰ **History:** Request entries are synced with cloud / local session storage to restore with a single click.
2019-08-28 08:57:42 +00:00
2020-09-23 08:04:02 +00:00
📁 **Collections:** Keep your API requests organized with collections and folders. Reuse them with a single click.
2019-10-26 08:41:57 +00:00
2022-01-05 04:07:13 +00:00
- Unlimited collections, folders, and requests
2021-08-24 08:15:11 +00:00
- Nested folders
2022-01-05 04:07:13 +00:00
- Export and import as a file or GitHub gist
2020-12-21 18:26:35 +00:00
2020-06-23 01:41:51 +00:00
_Collections are synced with cloud / local session storage_
2019-10-26 08:41:57 +00:00
2020-09-23 08:04:02 +00:00
🌐 **Proxy:** Enable Proxy Mode from Settings to access blocked APIs.
2019-10-26 08:41:57 +00:00
2021-08-24 08:15:11 +00:00
- Hide your IP address
2022-01-05 04:07:13 +00:00
- Fixes [`CORS` ](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS ) (Cross-Origin Resource Sharing) issues
2021-09-17 08:27:56 +00:00
- Access APIs served in non-HTTPS (`http://`) endpoints
2022-01-05 04:07:13 +00:00
- Use your Proxy URL
2020-12-21 18:26:35 +00:00
2021-08-19 17:08:50 +00:00
_Official proxy server is hosted by Hoppscotch - ** [GitHub ](https://github.com/hoppscotch/proxyscotch )** - ** [Privacy Policy ](https://docs.hoppscotch.io/privacy )**_
2019-10-26 08:41:57 +00:00
2022-01-05 04:07:13 +00:00
📜 **Pre-Request Scripts β:** Snippets of code associated with a request that is executed before the request is sent.
2019-10-30 03:16:44 +00:00
2021-08-24 08:15:11 +00:00
- Set environment variables
- Include timestamp in the request headers
- Send a random alphanumeric string in the URL parameters
- Any JavaScript functions
2020-12-21 18:26:35 +00:00
2020-09-23 08:04:02 +00:00
📄 **API Documentation:** Create and share dynamic API documentation easily, quickly.
2019-12-23 02:46:45 +00:00
2020-06-12 07:39:58 +00:00
1. Add your requests to Collections and Folders
2. Export Collections and easily share your APIs with the rest of your team
3. Import Collections and Generate Documentation on-the-go
2019-12-23 02:46:45 +00:00
2020-09-23 08:04:02 +00:00
⌨️ **Keyboard Shortcuts:** Optimized for efficiency.
2019-11-14 18:35:51 +00:00
2021-08-24 08:15:11 +00:00
> **[Read our documentation on Keyboard Shortcuts](https://docs.hoppscotch.io/features/shortcuts)**
2019-11-14 18:35:51 +00:00
2022-01-05 04:07:13 +00:00
🌎 **i18n:** Experience the app in your language.
2019-12-20 03:38:39 +00:00
2021-08-29 07:55:01 +00:00
Help us to translate Hoppscotch. Please read [`TRANSLATIONS` ](TRANSLATIONS.md ) for details on our [`CODE OF CONDUCT` ](CODE_OF_CONDUCT.md ), and the process for submitting pull requests to us.
2020-09-23 08:04:02 +00:00
📦 **Add-ons:** Official add-ons for hoppscotch.
2019-12-20 03:38:39 +00:00
2021-01-12 07:51:48 +00:00
- **[Proxy](https://github.com/hoppscotch/proxyscotch)** - A simple proxy server created for Hoppscotch
2020-08-27 18:42:27 +00:00
- **[CLI β](https://github.com/hoppscotch/hopp-cli)** - A CLI solution for Hoppscotch
2020-08-25 02:41:58 +00:00
- **[Browser Extensions](https://github.com/hoppscotch/hoppscotch-extension)** - Browser extensions that simplifies access to Hoppscotch
2020-01-16 19:25:31 +00:00
2020-08-13 11:20:02 +00:00
[ **Firefox** ](https://addons.mozilla.org/en-US/firefox/addon/hoppscotch) | [ **Chrome** ](https://chrome.google.com/webstore/detail/hoppscotch-extension-for-c/amknoiejhlmhancpahfcfcfhllgkpbld)
2019-12-20 03:38:39 +00:00
2020-06-12 07:39:58 +00:00
> **Extensions fixes `CORS` issues.**
2020-01-23 03:45:59 +00:00
2021-03-11 09:55:18 +00:00
- **[Hopp-Doc-Gen](https://github.com/hoppscotch/hopp-doc-gen)** - An API doc generator CLI for Hoppscotch
2021-08-20 14:51:22 +00:00
_Add-ons are developed and maintained under ** [Hoppscotch Organization ](https://github.com/hoppscotch )**._
2019-12-20 03:38:39 +00:00
2021-08-20 14:51:22 +00:00
☁️ **Auth + Sync:** Sign in and sync your data in real-time.
2020-01-25 11:07:00 +00:00
2020-09-23 08:04:02 +00:00
**Sign in with**
2020-06-12 07:39:58 +00:00
2021-08-24 08:15:11 +00:00
- GitHub
- Google
- Email
2020-01-25 11:07:00 +00:00
2021-08-20 14:51:22 +00:00
**Synchronize your data**
2020-06-12 07:39:58 +00:00
2021-08-24 08:15:11 +00:00
- History
- Collections
- Environments
- Settings
2020-01-25 11:07:00 +00:00
2022-01-05 04:07:13 +00:00
✅ **Post-Request Tests β:** Write tests associated with a request that is executed after the request's response.
2020-01-28 01:49:08 +00:00
2021-08-24 08:15:11 +00:00
- Check the status code as an integer
- Filter response headers
- Parse the response data
- Any JavaScript functions
2020-12-21 18:26:35 +00:00
2020-03-04 10:38:12 +00:00
🌱 **Environments** : Environment variables allow you to store and reuse values in your requests and scripts.
2021-08-24 08:15:11 +00:00
- Unlimited environments and variables
2022-01-05 04:07:13 +00:00
- Initialize through the pre-request script
2021-08-24 08:15:11 +00:00
- Export as / import from GitHub gist
2020-12-21 18:26:35 +00:00
< details >
2021-01-23 14:13:11 +00:00
< summary > < i > Use-cases< / i > < / summary >
2020-12-21 18:26:35 +00:00
---
2020-06-12 07:39:58 +00:00
- 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
2020-03-04 10:38:12 +00:00
2020-12-21 18:26:35 +00:00
---
< / details >
2021-05-15 22:38:56 +00:00
👨👩👧👦 **Teams β:** Helps you collaborate across your team to design, develop, and test APIs faster.
2021-11-02 01:11:18 +00:00
- Unlimited teams
- Unlimited shared collections
2021-08-24 08:15:11 +00:00
- Unlimited team members
2021-11-02 01:11:18 +00:00
- Role-based access control
- Cloud sync
- Multiple devices
2021-05-15 22:38:56 +00:00
2021-09-02 03:34:02 +00:00
🚚 **Bulk Edit:** Edit key-value pairs in bulk.
- Entries are separated by newline
2021-09-02 15:03:34 +00:00
- Keys and values are separated by `:`
- Prepend `//` to any row you want to add but keep disabled
2021-09-02 03:34:02 +00:00
2021-08-20 14:51:22 +00:00
**For more features, please read our [documentation ](https://docs.hoppscotch.io ).**
2019-10-31 10:03:43 +00:00
2020-09-23 08:04:02 +00:00
## **Demo**
2019-08-21 13:18:20 +00:00
2020-08-13 11:20:02 +00:00
[hoppscotch.io ](https://hoppscotch.io )
2019-12-20 03:38:39 +00:00
2020-09-23 08:04:02 +00:00
## **Usage**
2019-09-06 01:34:14 +00:00
2022-01-05 04:07:13 +00:00
1. Provide your API endpoint in the URL field
2. CLick "Send" to simulate the request
3. View the response
2019-08-21 13:18:20 +00:00
2020-09-23 08:04:02 +00:00
## **Built with**
2019-08-21 13:18:20 +00:00
2020-09-23 08:04:02 +00:00
- [HTML ](https://developer.mozilla.org/en-US/docs/Web/HTML )
2021-06-25 23:44:27 +00:00
- [CSS ](https://developer.mozilla.org/en-US/docs/Web/CSS ), [SCSS ](https://sass-lang.com ), [Windi CSS ](https://windicss.org )
2020-09-23 08:04:02 +00:00
- [JavaScript ](https://developer.mozilla.org/en-US/docs/Web/JavaScript )
2021-04-22 01:01:39 +00:00
- [TypeScript ](https://www.typescriptlang.org )
2020-09-23 08:04:02 +00:00
- [Vue ](https://vuejs.org )
- [Nuxt ](https://nuxtjs.org )
2019-08-21 13:18:20 +00:00
2020-09-23 08:04:02 +00:00
## **Developing**
2019-08-22 20:13:12 +00:00
2021-10-03 18:59:45 +00:00
0. Update [`.env.example` ](https://github.com/hoppscotch/hoppscotch/blob/main/packages/hoppscotch-app/.env.example ) file found in `packages/hoppscotch-app` with your own keys and rename it to `.env` .
2020-05-12 12:21:39 +00:00
2022-01-05 04:07:13 +00:00
_Sample keys only work with the [production build ](https://hoppscotch.io )._
2020-05-12 12:21:39 +00:00
2022-01-05 04:07:13 +00:00
### Browser-based development environment
2019-12-31 03:05:27 +00:00
2021-08-24 08:15:11 +00:00
- [GitHub codespace ](https://docs.github.com/en/codespaces/developing-in-codespaces/creating-a-codespace )
- [Gitpod ](https://gitpod.io/#https://github.com/hoppscotch/hoppscotch )
2019-12-31 03:05:27 +00:00
2021-06-28 11:57:03 +00:00
### Local development environment
2019-12-31 03:05:27 +00:00
2019-08-22 20:13:12 +00:00
1. [Clone this repo ](https://help.github.com/en/articles/cloning-a-repository ) with git.
2021-09-25 06:51:19 +00:00
2. Install pnpm using npm by running `npm install -g pnpm` .
3. Install dependencies by running `pnpm install` within the directory that you cloned (probably `hoppscotch` ).
4. Start the development server with `pnpm run dev` .
2022-01-05 04:07:13 +00:00
5. Open the development site by going to [`http://localhost:3000` ](http://localhost:3000 ) in your browser.
2019-08-24 16:39:29 +00:00
2021-06-28 11:57:03 +00:00
### Docker compose
2019-09-27 12:24:03 +00:00
1. [Clone this repo ](https://help.github.com/en/articles/cloning-a-repository ) with git.
2022-01-05 04:07:13 +00:00
2. Run `docker-compose up` within the directory that you cloned (probably `hoppscotch` ).
3. Open the development site by going to [`http://localhost:3000` ](http://localhost:3000 ) in your browser.
2019-09-27 12:24:03 +00:00
2020-09-23 08:04:02 +00:00
## **Docker**
2019-09-25 00:52:25 +00:00
2021-04-02 06:46:50 +00:00
**Official container** [](https://hub.docker.com/r/hoppscotch/hoppscotch)
2020-12-06 06:34:55 +00:00
```bash
2021-06-19 16:09:03 +00:00
docker run --rm --name hoppscotch -p 3000:3000 hoppscotch/hoppscotch:latest
2020-12-06 06:34:55 +00:00
```
2020-09-23 08:04:02 +00:00
## **Releasing**
2019-09-25 00:52:25 +00:00
2019-08-24 16:39:29 +00:00
1. [Clone this repo ](https://help.github.com/en/articles/cloning-a-repository ) with git.
2021-09-25 06:51:19 +00:00
2. Install pnpm using npm by running `npm install -g pnpm` .
3. Install dependencies by running `pnpm install` within the directory that you cloned (probably `hoppscotch` ).
4. Build the release files with `pnpm run generate` .
5. Find the built project in `packages/hoppscotch-app/dist` .
2019-08-22 20:13:12 +00:00
2020-09-23 08:04:02 +00:00
## **Contributing**
2019-08-21 13:18:20 +00:00
2020-09-06 08:56:54 +00:00
Please contribute using [GitHub Flow ](https://guides.github.com/introduction/flow ). Create a branch, add commits, and [open a pull request ](https://github.com/hoppscotch/hoppscotch/compare ).
2020-06-25 02:20:23 +00:00
Please read [`CONTRIBUTING` ](CONTRIBUTING.md ) for details on our [`CODE OF CONDUCT` ](CODE_OF_CONDUCT.md ), and the process for submitting pull requests to us.
2019-08-21 13:18:20 +00:00
2020-09-23 08:04:02 +00:00
## **Continuous Integration**
2019-08-21 13:18:20 +00:00
2021-08-20 14:51:22 +00:00
We use [GitHub Actions ](https://github.com/features/actions ) for continuous integration. Check out our [build workflows ](https://github.com/hoppscotch/hoppscotch/actions ).
2019-08-21 13:18:20 +00:00
2020-09-23 08:04:02 +00:00
## **Changelog**
2019-08-21 13:18:20 +00:00
2020-06-25 02:20:23 +00:00
See the [`CHANGELOG` ](CHANGELOG.md ) file for details.
2019-08-21 13:18:20 +00:00
2020-09-23 08:04:02 +00:00
## **Authors**
2019-09-26 06:35:51 +00:00
2022-01-05 04:07:13 +00:00
This project exists thanks to all the people who contribute — [contribute ](CONTRIBUTING.md ).
2020-03-03 01:32:27 +00:00
2021-06-30 14:56:11 +00:00
< div align = "center" >
< a href = "https://github.com/hoppscotch/hoppscotch/graphs/contributors" >
< img src = "https://opencollective.com/hoppscotch/contributors.svg?width=840&button=false"
alt="Contributors"
width="100%" />
< / a >
< / div >
2020-03-03 01:32:27 +00:00
2020-09-23 08:04:02 +00:00
## **License**
2019-08-21 13:18:20 +00:00
2020-06-25 02:20:23 +00:00
This project is licensed under the [MIT License ](https://opensource.org/licenses/MIT ) - see the [`LICENSE` ](LICENSE ) file for details.