Mock API server · Free during beta

Ship the frontend before the backend even exists.

One click gives you a live HTTPS endpoint that answers exactly how you tell it to — a different response per query param or header, state that survives between requests, failures on demand. Nothing to install.

  • No signup to try
  • REST, GraphQL & SOAP
  • Stateful CRUD
  • Chaos & rate limits
  • OpenAPI in and out
  • Live request inspector
GET /users200 OK · 12 ms

$ curl https://mockbase.org/mock/ab12cd/users

{
"users": [
{ "id": 1, "name": "Ada Lovelace", "role": "admin" },
{ "id": 2, "name": "Alan Turing", "role": "member" }
],
"total": 2
}
Dynamic JSON

ready-made templates

status codes to return

languages for copy-paste code

requests/mo on Pro — free in beta

What it does

A mock that returns 200
only tests the happy path.

01

Behave like the real API

One endpoint. Different answers.

Real APIs don't return the same thing every time, so neither does a MockBase route.

Match on query params, headers, a dot-path into the JSON body, a GraphQL operation name, or an element inside a SOAP envelope — five operators, priority ordering.

Render responses with sandboxed Jinja2: echo the request back, mint a UUID, stamp a timestamp.

Turn on stateful CRUD and a POST is actually there when you GET it — no code, Redis-backed.

Return JSON, a raw XML/SOAP envelope, or a real binary file up to 300 KB with its own Content-Type.

02

Break it on purpose

The failure paths nobody tests.

Your retry logic, your timeout handling, your error states — none of it runs until something goes wrong.

Chaos injection fails a share of requests in shapes you choose: a gateway timeout that hangs first, a truncated JSON body, an empty 200, or a connection that resets before any body arrives. Weighted, so a route can model a realistic mix.

Rate limit simulation is deterministic — the Nth request in a window gets a 429 with Retry-After, every run. Testing backoff needs to know which request fails.

Callouts make the mock call you back after it responds, as late as you like, so an async webhook lands at an inconvenient moment on purpose.

Add up to ten seconds of delay to any route to see what a slow network does to your UI.

03

See what happened

Every request, as it arrives.

Guessing what your app sent is the slowest part of debugging an integration.

A WebSocket stream shows each call live: method, path, status, headers, the request body and the response body that went back, latency, and client IP.

Send a test call from the page itself, with custom headers, then copy the exact same request as cURL, fetch, axios, requests, Go, PHP, Ruby, Java, C#, or PowerShell.

Authorization headers, cookies, and mock tokens are redacted before anything is logged. The last 500 requests stay browsable for 7 days.

04

Start from what you have

Bring a spec, or a real API.

You rarely start from nothing — so you shouldn't have to retype anything either.

Import OpenAPI 3.x by pasting it, picking a file, or giving a URL. It's parsed as you type and tells you what it will create before it creates anything.

Point Record & Replay at a real API: unmatched requests are proxied, captured, and turned into permanent routes with one click.

Every save is snapshotted. Thirty versions per mock, each showing what a rollback would change, and restoring is itself undoable.

Export back to an OpenAPI document with schemas inferred from your examples and shared shapes declared once as $ref components.

A personal API key drives a dependency-free CLI: push a JSON config file to create or update a mock, pull one back to check into git, wire it into CI.

The same key drives an MCP server, so Claude (or any MCP client) can create, edit, and inspect a mock's live traffic directly — no dashboard required.

Choosing a tool

MockBase isn’t right for everything.

If everything happens on one machine and a shared URL was never the point, Mockoon or json-server are free and run offline. If you need connection-level faults, WireMock does things a hosted endpoint can’t. We compared MockBase against six alternatives and wrote down where each of them wins — checked against their own documentation, not guessed.

FAQ

Questions worth
asking first.

Everything else is in the .

Do I need an account?

No. You can create up to three mocks with up to ten routes each anonymously and call them 2,000 times a month. Signing in with GitHub or Google lifts that to unlimited mocks and routes — and during the beta every signed-in account gets Pro, including a 20,000 request monthly quota, for free.

How is this different from Mockoon or json-server?

Those run on your machine. That is genuinely better if everything happens on one laptop and you never need a shared URL — Mockoon is free and offline forever. MockBase is hosted, so the endpoint is reachable by a teammate, a phone, or a CI job the moment you make it, and it adds conditional matching, templating, stateful CRUD, chaos scenarios, and a live inspector on top. We wrote an honest comparison for Mockoon, Beeceptor, WireMock, Postman, json-server, and Apidog, including where each of them wins.

Can it mock GraphQL and SOAP, not just REST?

Yes. GraphQL requests all share one path and method, so MockBase routes on the operation name — read from operationName, or parsed out of the query text when the client doesn't send one. SOAP works the same way: match on an element inside the XML envelope by name, ignoring namespace prefixes, and return a raw XML envelope. There is no WSDL parsing and no gRPC.

Can I simulate a flaky or overloaded backend?

Yes, and in more than one shape. Chaos injection fails a percentage of requests using weighted scenarios you define — a slow gateway timeout, a truncated body, an empty response, or a genuine connection reset (the client sees the connection die before a body arrives, the same as a crashed backend). Rate limit simulation is separate and deterministic: after N requests in a window, every further one gets a 429 with a Retry-After header. Both can run on the same route.

What happens to my mock if I break it?

Every save snapshots the previous state automatically. The version history keeps 30 versions per mock for 90 days, shows what restoring one would add, remove, or change before you click, and restoring is itself undoable. You can also take a named snapshot on purpose before a risky set of edits.

Can I manage mocks from a script, CI, or an AI agent instead of the dashboard?

Yes. Generate a personal API key from Account → API keys, then either use it with mockbase-cli (a dependency-free script that pushes a JSON config file to create or update a mock, and pulls one back into a file) or point an MCP server at it so Claude Desktop or Claude Code can create, edit, and inspect a mock's traffic directly. Both are documented at /docs/mock-as-code and /docs/mcp-server.

What does Pro include?

Custom subdomains (acme.mockbase.org), token-protected endpoints, chaos injection, callouts, Record & Replay, and a 20,000 request monthly quota. During the public beta every signed-in account has all of it at no cost and without a credit card.

Get started

Your mock API is
one click away.

No signup. No credit card. Every Pro feature free during the beta.