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.
See every request the moment it arrives — headers, body, query params, IP, and timing all in one view.
Re-fire any captured request to your real backend or another endpoint without touching your webhook source.
Match by path, method, or headers and automatically forward, reject, or transform requests.
Validate Stripe, GitHub, Shopify, and other HMAC signatures right from the inspector panel.
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.
Every collection exposes GET list, GET by ID, POST, PUT, PATCH, and DELETE — ready to consume from any client.
Fields like name, email, price, date, UUID are auto-generated with Faker-quality data that looks production-real.
Paste your spec URL or upload a file and MockLab generates a fully populated collection in one step.
Free plan resets data daily. Pro keeps your records forever — no surprises during demos or long-running tests.
# 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.
Both protocols supported out of the box. Switch between them per project with a single toggle.
Create named events with custom payloads. Broadcast to all connected clients or push to a specific client ID.
Set events to fire every 1 second, 5 minutes, or any interval. Perfect for simulating price ticks, live feeds, or periodic updates.
See every connected client in real time — client ID, IP, protocol, and last event received.
// 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.
Three modes per project: Success (normal), Error (wraps every payload in an error envelope), Slow (adds 1.5–3s random delay).
Toggle chaos from the MockLab dashboard. Your frontend code stays untouched — just reconnect and watch.
Enable connection auth to simulate endpoints that require a bearer token, testing your auth error handling paths.
Fire error events to specific clients to test partial-failure recovery without affecting other connections.
// 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.
Match by HTTP method, URL path (exact or wildcard), headers, or request body fields.
Proxy matched requests to your real backend, staging server, or any HTTPS endpoint.
Return a fixed JSON response and status code — perfect for simulating 429 rate limits or 503 errors.
Rules are evaluated top-down. Drag-and-drop to reorder and control exactly which rule wins.
# 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.
No external tools needed. Connect to any ws:// or Socket.io endpoint directly from the MockLab dashboard.
Save frequently used event payloads as templates and re-send them with one click.
See incoming and outgoing messages with timestamps, direction arrows, and full payload inspection.
Not just MockLab endpoints — connect to your real staging or production WebSocket server for live debugging.
// 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.