Every tool you need
to ship without blockers

Six integrated features that replace a whole stack of separate tools.

Try all features free →

Catch every payload. Debug in seconds.

Get a permanent HTTPS endpoint that captures every incoming request in real time. No server setup, no infrastructure — just sign up and start receiving webhooks.

Real-time inspection

See every request the moment it arrives — headers, body, query params, IP, and timing all in one view.

One-click request replay

Re-fire any captured request to your real backend or another endpoint without touching your webhook source.

Rules engine

Match by path, method, or headers and automatically forward, reject, or transform requests.

Signature verification

Validate Stripe, GitHub, Shopify, and other HMAC signatures right from the inspector panel.

Try Webhook Inspector free →
Webhook Inspector
curl -X POST https://wh.mocklab.dev/my-endpoint \
  -H "Content-Type: application/json" \
  -H "X-Stripe-Signature: sha256=..." \
  -d '{"event":"payment.completed","amount":4999}'

# → Captured instantly at app.mocklab.dev

Public REST endpoints with auto-generated data.

Create a mock collection and get a fully functional REST API in seconds. Auto-generated realistic data, configurable schema, and full CRUD support — import your OpenAPI spec and start coding.

Full CRUD support

Every collection exposes GET list, GET by ID, POST, PUT, PATCH, and DELETE — ready to consume from any client.

Realistic auto-generated data

Fields like name, email, price, date, UUID are auto-generated with Faker-quality data that looks production-real.

OpenAPI / Swagger import

Paste your spec URL or upload a file and MockLab generates a fully populated collection in one step.

Persistent data on Pro

Free plan resets data daily. Pro keeps your records forever — no surprises during demos or long-running tests.

Try Mock REST API free →
Mock REST API
# Your mock API is live immediately
GET  /m/user123/products        → list
GET  /m/user123/products/:id    → single item
POST /m/user123/products        → create
PUT  /m/user123/products/:id    → replace
PATCH /m/user123/products/:id   → update
DELETE /m/user123/products/:id  → remove

Real-time WebSocket testing without a server.

Spin up a WebSocket or Socket.io server in one click. Define events to broadcast, schedule automatic triggers, and watch live client connections from the dashboard.

WebSocket & Socket.io

Both protocols supported out of the box. Switch between them per project with a single toggle.

Define broadcast events

Create named events with custom payloads. Broadcast to all connected clients or push to a specific client ID.

Automated schedules

Set events to fire every 1 second, 5 minutes, or any interval. Perfect for simulating price ticks, live feeds, or periodic updates.

Live connections dashboard

See every connected client in real time — client ID, IP, protocol, and last event received.

Try WS / Socket Mock free →
WS / Socket Mock
// Connect from your frontend
const socket = io('https://ws.mocklab.dev/v1/my-app');

socket.on('order:updated', (data) => {
  console.log('Order update:', data);
});

// MockLab fires this every 5s automatically

Simulate failures before they hit production.

Switch any WebSocket project into Error or Slow mode and instantly test how your frontend handles backend failures — without touching a single line of real server code.

Scenario modes

Three modes per project: Success (normal), Error (wraps every payload in an error envelope), Slow (adds 1.5–3s random delay).

No backend changes

Toggle chaos from the MockLab dashboard. Your frontend code stays untouched — just reconnect and watch.

API key auth simulation

Enable connection auth to simulate endpoints that require a bearer token, testing your auth error handling paths.

Targeted error injection

Fire error events to specific clients to test partial-failure recovery without affecting other connections.

Try Chaos Testing free →
Chaos Testing
// MockLab Error mode wraps every event payload:
{
  "error": true,
  "code": "INTERNAL_SERVER_ERROR",
  "message": "Simulated failure",
  "original": { /* your real payload */ }
}

// Slow mode adds 1.5–3s delay to every event

Route and transform requests automatically.

Define rules that match incoming webhook requests and decide what to do with them — forward to another URL, reject with a custom status, or transform the payload on the fly.

Flexible matching

Match by HTTP method, URL path (exact or wildcard), headers, or request body fields.

Forward rules

Proxy matched requests to your real backend, staging server, or any HTTPS endpoint.

Custom responses

Return a fixed JSON response and status code — perfect for simulating 429 rate limits or 503 errors.

Order-based evaluation

Rules are evaluated top-down. Drag-and-drop to reorder and control exactly which rule wins.

Try Rules Engine free →
Rules Engine
# Rule examples
MATCH   POST /webhook/stripe
IF      body.event == "payment.failed"
THEN    Forward → https://staging.myapp.com/hooks

MATCH   GET  /webhook/*
THEN    Respond 200 { "ok": true }

MATCH   *
IF      headers["X-Secret"] != "my-secret"
THEN    Respond 401 { "error": "Unauthorized" }

Test WebSocket connections right from the browser.

A built-in WebSocket and Socket.io test client. Connect to any endpoint, send events, inspect incoming messages, and use pre-built templates — all without leaving MockLab.

In-browser test client

No external tools needed. Connect to any ws:// or Socket.io endpoint directly from the MockLab dashboard.

Event templates

Save frequently used event payloads as templates and re-send them with one click.

Real-time message log

See incoming and outgoing messages with timestamps, direction arrows, and full payload inspection.

Works with any WS server

Not just MockLab endpoints — connect to your real staging or production WebSocket server for live debugging.

Try Realtime Tester free →
Realtime Tester
// Connect in Realtime Tester
URL: wss://ws.mocklab.dev/v1/my-project

// Send a test event
{
  "event": "join:room",
  "data": { "roomId": "room_42" }
}

// Incoming log:
← order:updated { "id": "ord_9xKq", "status": "shipped" }

All six features. One platform.
Free to start.

Sign up in seconds — no credit card, no setup.