Skip to main content

Hoppscotch

A fast, open-source API development platform that runs entirely in the browser. Test REST, GraphQL, WebSocket, SSE, and real-time APIs — no desktop install required. Automate collection runs in CI/CD with the hopp CLI.

✓ Web-based, no install ✓ REST, GraphQL, WebSocket ✓ Environment variables ✓ CLI for CI/CD (hopp) ✓ Self-hostable via Docker ✓ Open source (MIT)

What is Hoppscotch?

Hoppscotch (formerly Postwoman) is an open-source API development ecosystem. What started as a browser-based alternative to Postman has grown into a comprehensive platform supporting REST, GraphQL, WebSocket, Server-Sent Events, Socket.IO, and MQTT — all from a single interface at hoppscotch.io.

Because it runs in the browser, there is nothing to install for basic use. Collections and workspaces are stored locally via IndexedDB or synced to an account. For teams requiring data sovereignty, a Docker Compose deployment puts all data in your own PostgreSQL instance. The @hoppscotch/cli package extends the platform into automated pipeline testing.

Key Features

CLI Installation and Usage

# Install the Hoppscotch CLI globally
npm install -g @hoppscotch/cli

# Verify installation
hopp --version

# Run a collection against a staging environment
hopp test collections/api-tests.json --env environments/staging.json

# Output JUnit XML for CI reporting
hopp test collections/api-tests.json --reporter-junit results/junit.xml

Environment Variables

Define variables in the web app or via a JSON file, then reference them using the <<VARIABLE_NAME>> syntax in any request field — URL, headers, body, or authorization.

// hoppscotch-env.json
{
  "name": "Staging",
  "variables": [
    { "key": "BASE_URL", "value": "https://api.staging.example.com", "secret": false },
    { "key": "API_KEY",  "value": "sk-staging-abc123",               "secret": true  },
    { "key": "USER_ID",  "value": "42",                              "secret": false }
  ]
}

// Reference variables using <> in any request field
// GET <>/users/<>
// Authorization: Bearer <>

Test Scripts

The pw scripting object is available in pre-request and post-response panels. Use pw.test(), pw.expect(), and pw.env.set() for dynamic behavior and assertions.

// Pre-request script — set a dynamic timestamp
pw.env.set("TIMESTAMP", new Date().toISOString());

// Post-response test script
pw.test("Status is 200", () => {
  pw.expect(pw.response.status).toBe(200);
});

pw.test("Response has user id", () => {
  const body = pw.response.body;
  pw.expect(body).toHaveProperty("id");
  pw.expect(body.id).toBeGreaterThan(0);
});

pw.test("Content-Type is JSON", () => {
  pw.expect(pw.response.headers["content-type"]).toContain("application/json");
});

GraphQL Support

The GraphQL tab auto-fetches your schema via introspection. Build queries with the schema explorer, provide variables in a JSON panel, and open live subscription connections over WebSocket — all in the browser.

# GraphQL query in Hoppscotch GraphQL tab
query GetUser($id: ID!) {
  user(id: $id) {
    id
    name
    email
    createdAt
  }
}

# Variables panel (JSON)
{
  "id": "42"
}

# Subscription example
subscription OnMessageAdded($roomId: ID!) {
  messageAdded(roomId: $roomId) {
    id
    content
    author { name }
  }
}

Hoppscotch vs Postman

Feature Hoppscotch Postman
LicenseOpen source (MIT)Proprietary
DeploymentWeb app + self-hostDesktop app + cloud
Desktop install requiredNoYes
Self-hostingYes (Docker)No
WebSocket / SSE nativeYesPartial
Ecosystem maturityGrowingMature

Pros and Cons

Pros

  • ✓ Zero install friction — open a browser tab and start testing
  • ✓ Fully open source with active community development
  • ✓ Self-hostable for data-sensitive teams
  • ✓ Native WebSocket, SSE, Socket.IO, and MQTT support
  • ✓ Free CLI for CI/CD pipeline integration

Cons

  • ✗ Smaller integration ecosystem than Postman
  • ✗ Team collaboration requires self-hosting or a paid cloud plan
  • ✗ Script API (pw.*) is less documented than Postman's pm.*
  • ✗ No built-in mock server feature
  • ✗ Browser extension may be needed for localhost requests in some setups

Frequently Asked Questions

What is Hoppscotch?▼

Hoppscotch is a free, open-source API development platform that runs in the browser. It supports REST, GraphQL, WebSocket, Server-Sent Events, Socket.IO, and MQTT from a single web interface. Unlike Postman, it requires no desktop installation and can be self-hosted. The @hoppscotch/cli package enables automated collection runs in CI/CD pipelines.

How does Hoppscotch differ from Postman?▼

Hoppscotch is fully open source (MIT) and web-based, while Postman is proprietary and requires a desktop install. Hoppscotch loads instantly in a browser tab with no account requirement for basic use and can be self-hosted for full data control. Postman has a more mature ecosystem and broader marketplace integrations. For teams needing self-hosted solutions or lightweight tooling, Hoppscotch is often preferred.

Can Hoppscotch be used in CI/CD pipelines?▼

Yes. Install @hoppscotch/cli globally with npm install -g @hoppscotch/cli and use the hopp command to run collection JSON files from the terminal. Pass environment files with --env and output JUnit XML with --reporter-junit. This integrates with GitHub Actions, GitLab CI, Jenkins, and other pipeline systems.

How do I set up environment variables in Hoppscotch?▼

In the web app, open the Environments panel in the left sidebar, create an environment, and add key-value pairs. Reference them in any request field using the <<VARIABLE_NAME>> syntax. Mark variables as secret to mask their values in the UI. For CLI usage, export environments as JSON and pass them with the --env flag.

Does Hoppscotch support GraphQL subscriptions?▼

Yes. The dedicated GraphQL tab supports queries, mutations, and subscriptions over WebSocket. Hoppscotch auto-fetches the API schema via introspection. You write queries in the editor, provide variables in a JSON panel, and open live subscription connections — all in the browser.

How do I self-host Hoppscotch?▼

Clone the hoppscotch/hoppscotch repository, copy .env.example to .env, and fill in your PostgreSQL database URL, SMTP server, and OAuth credentials. Run docker compose up to start the app, admin dashboard, and backend services. All data is stored in your own PostgreSQL instance.

Share this tool: X / Twitter LinkedIn
✓ 60,000+ developers use DevPlaybook ★★★★★ 4.8 / 5 on Gumroad ✓ MIT licensed · Instant download ✓ No login required

Related Products

on Gumroad

You Might Also Need

More Free Tools

GraphQL Query Builder OpenAPI Validator GraphQL Fragment Generator GraphQL Schema Validator v2 GraphQL Query Formatter API Request Builder API Response Mock Generator API Response Time Tester CSS Clip-Path Generator OpenAPI Schema Validator OpenAPI Mock Generator GraphQL Client Configurator API Test Case Generator HTTP API Tester API Mock Server Config Generator Jest Testing Framework Guide API Rate Limit Calculator API Response Formatter & Analyzer LLM Cost Calculator WebSocket Test Client AI Prompt Cost Calculator REST API Request Builder Vitest Guide — Vite-native Testing Cypress Frontend Testing Guide Mock Service Worker (MSW) API Mocking Guide LLM Prompt Cost Calculator API Response Mocker AI Rate Limit Calculator Turso Edge DB Explorer API Key Generator AI Doc Generator — Pro Tool AI Unit Test Generator — Pro Tool Git Command Builder HTTP Methods Reference HTTP Code Snippet Generator HTTP Status Code Reference HTTP Status Code Reference JSON Diff Viewer JSON Diff WebSocket Tester JSON Path Finder Rate Limiter Tester API Changelog Generator HTTP Mock Response Builder Rate Limit Calculator CORS Policy Builder Redis Command Tester HTTP Status Code Lookup Docker Run Command Builder HTTP Status Code Lookup Vue Component Generator HTTP Status Code Reference LLM Context Window Calculator LLM Token Counter k6 Load Test Script Generator NATS Connection String Builder Playwright E2E Test Generator OAuth2 Flow Visualizer mTLS Certificate Chain Builder Prompt Token Estimator Playwright E2E Testing Guide Pulumi Modern IaC Guide AES Encryptor / Decryptor ArgoCD Application Generator Highlight.io HTML5 Canvas API Playground Prompt Injection Tester Token Context Calculator OpenAI Function Calling Generator Token Counter & Cost Estimator AI API Rate Limit Calculator

Enjoying this tool? Get more like it.

Weekly developer tool guides, productivity playbooks & AI tricks. Free. No spam.

DevPlaybook Pro 7 days free

Unlock AI-Powered Dev Tools

  • ⚡ AI Code Review, Doc Generator & SQL Builder
  • ⚡ All premium templates & early access
  • ⚡ Member discounts on Gumroad products
Start Free Trial →

$9/mo after trial · Cancel anytime

Want the full toolkit?

Get DevPlaybook Pro

Every template, guide, boilerplate, and automation script in one bundle. 13 premium products — grab them all at once and save big.

$79
$241 separately Save $162 (67% off)
Get DevPlaybook Pro — $79 →

MIT licensed · Instant download · No subscription

See what's included → Browse all deals →