OpenAPI mock server
Instant mock servers from any OpenAPI spec
Drop in an OpenAPI or Swagger file and every endpoint is live in seconds, returning fresh, constraint-aware data on every call. No signup. No install. No hand-written stubs.
Supports OpenAPI 3.0, 3.1 and Swagger 2.0 · JSON or YAML · MIT-licensed
How it works
Add your spec
Upload, paste or load the demo spec. MirageAPI validates it and lists every path and method.
Start the mock server
One click and every endpoint in the spec is live — GET, POST, PUT, PATCH and DELETE.
Call your endpoints
Use the built-in request tester, curl or Postman. Each call returns newly generated data that matches your schema.
Data that follows your schema
MirageAPI reads every field's type, format and constraints. A uuid is a real UUID, an email is a valid address, an enum picks one of its values, and numbers stay inside minimum/maximum.
Arrays, nested objects, allOf, oneOf and anyOf are all handled, so your frontend sees the shapes it will see in production.
$ curl http://localhost:3000/orders/ba7c859d-8a94-4044-abfa-2d6986a14936
{
"id": "ba7c859d-8a94-4044-abfa-2d6986a14936",
"customerId": "4ad89051-d769-4100-8ae3-606b16840af8",
"totalAmount": 7444.42,
"currency": "EUR",
"status": "shipped",
"items": [
{ "id": "5425723c-…", "quantity": 3, "unitPrice": 45.06 }
],
"createdAt": "2025-10-21T10:01:39.085Z"
}
Built for teams who can't reach the real API
Frontend first
Build UI against the contract before the backend exists. See how.
Locked-down upstreams
Integrate with systems you can't access from dev because of security or compliance rules.
Demos and prototypes
Show a working flow with believable data without standing up any infrastructure.
Share a live mock
One click gives you a public URL your team, frontend or CI can call — no install, no account.
Test the unhappy paths
Force any status code, add latency, and get a 400 when a request breaks the contract.
Spec quality checks
A validation report flags errors and gaps in your spec before anyone builds against it.
Frequently asked questions
Is MirageAPI free?
Yes. The web app is free to use with no signup, and the source code is MIT-licensed on GitHub.
Which spec formats are supported?
OpenAPI 3.0 and 3.1 and Swagger/OpenAPI 2.0, in JSON or YAML. The spec is validated before any endpoints go live.
Does the generated data respect my schema?
Yes. Types, formats (email, uuid, date, date-time, uri and more), enums, minimum/maximum, minLength/maxLength, array sizes and nested objects are all respected. Every request returns freshly generated data.
Is my spec stored anywhere?
In the web app your spec is kept in server memory for your browser session only (up to 24 hours). It is never written to a database. For fully private specs, run the open-source CLI on your own machine.
Can I share a mock with my team?
Yes. Click Share to get a public URL such as mirageapi.com/m/Ab3dE7xY that anyone, a frontend app or a CI job can call. Links last 7 days.
Can I run it locally or in CI?
Yes. Clone the repository and run node src/index.js --spec ./openapi.yaml --port 3000 to get a local mock server with every endpoint live.
Does MirageAPI validate incoming requests?
Yes. Path parameters, query parameters and JSON bodies are checked against the spec, and invalid requests get a 400 listing each problem. Validation is on by default and can be turned off per request, in the app or with --no-validate.
Mock your API in the next 30 seconds
No account, no credit card, nothing to install.