First, an honest split. WireMock OSS β the Java library you embed in JUnit tests, with its request-matching DSL, scenarios, and record-and-replay β is excellent and completely free. If you're writing Java integration tests, keep using it; this page is not trying to talk you out of that.
WireMock Cloud, the hosted product, is a different story. The free tier (verified from the official pricing page, July 2026) is 1,000 mock API calls per month β about 33 requests a day β with a 10 requests/second rate limit, 3 running mock APIs, and a single user. And the features you'd actually want from a hosted mock are on the Enterprise column: stateful mocking β, chaos testing (faults/delays/errors) β, mock API security β, versioning β, Git sync β β and even "Export WireMock OSS JSON" is β on free, so you can't take your stubs down to the free OSS engine without paying.
Mockbird is a hosted mock REST API that ships those as the default, free: every project is stateful CRUD out of the box (a POST actually persists), failure and latency injection are query params on any URL, mock JWT auth is built in, exports (OpenAPI, Postman, db.json, TypeScript) are open on every project, and the cap is 10,000 requests per project per day β ten times WireMock Cloud's entire monthly free quota, every day.
# one curl, no signup β a whole seeded e-commerce backend
curl -X POST https://HOST/api/projects \
-H 'content-type: application/json' -d '{"name":"shop","preset":"ecommerce"}'
# β {"id":"abc123","adminKey":"KEY", ...} β save both
curl https://HOST/m/abc123/products?limit=3
# β 3 seeded products, realistic fields, CORS on, stateful writes enabled
Prefer clicking? This link creates the same project in your browser β no account. Already have an OpenAPI spec (the same one you'd import into WireMock Cloud)? POST it to /api/projects/import or paste it at /app#import and get a live seeded mock.
| WireMock | Mockbird | Notes |
|---|---|---|
Stub mapping for GET /products | a products resource | full CRUD generated: list, get, create, update, delete, relations, filtering, pagination |
| Stateful mocking (Cloud: Enterprise-only) | the default | writes persist; read them back over REST or GraphQL |
| Fault injection / chaos testing (Cloud: Enterprise-only) | ?mock_status=503, ?mock_delay=3000, ?mock_chaos=0.3 | forced errors, delays, random-fraction failures (mock_chaos) + latency jitter (mock_jitter) β guide |
| Scenario states | named snapshots + X-Mockbird-Snapshot | save/restore whole data states; pin a scenario per request β parallel test workers don't race |
Response templating {{request.query.x}} | custom routes with {{query.x}} {{params.x}} {{body.x}} {{uuid}} {{now}} | own paths, any method, any content-type, per-route delay |
| Request verification DSL | request inspector | last 50 requests with method, path, query, headers, body β read it from your test via GET /api/projects/:id/requests |
| Mock API security (Cloud: Enterprise-only) | mock JWT auth + protected mode | real signed tokens, /auth/loginΒ·registerΒ·me, optional 401-everything mode β free |
| Export stubs to OSS JSON (Cloud: Enterprise-only) | open exports on every project | OpenAPI, Postman, db.json (runs verbatim in json-server), TypeScript/Zod β no lock-in, no tier |
# seeded data, field projection
curl 'https://HOST/m/demo/products?limit=3&select=name,price'
# chaos testing, free: force a 503, a 2s delay, or random 30% failures + jitter
curl -i 'https://HOST/m/demo/products?mock_status=503'
curl 'https://HOST/m/demo/products/1?mock_delay=2000'
curl -i 'https://HOST/m/demo/products?mock_chaos=0.3&mock_jitter=100-1500'
# a custom route (WireMock-style stub with a templated body)
curl https://HOST/m/demo/health
# stateful: the write persists
curl -X POST https://HOST/m/demo/products \
-H 'content-type: application/json' -d '{"name":"proof","price":9.99}'
# β {"name":"proof","price":9.99,"id":31} β now GET /m/demo/products/31 returns it
All of these run against the shared demo project (resets daily). Rate limit context: these five requests are already 15% of WireMock Cloud's free daily average.
| WireMock Cloud free | Mockbird | |
|---|---|---|
| Requests | 1,000/month, 10 req/s | 10,000/project/day |
| Mock APIs | 3 | 20 projects per account (anonymous: per-IP daily cap) |
| Signup required | yes | no (anonymous projects, claimable later) |
| Stateful mocking | Enterprise-only | default |
| Fault/delay injection | Enterprise-only (chaos testing) | ?mock_status / ?mock_delay / ?mock_chaos / ?mock_jitter, free |
| Mock API auth | Enterprise-only | mock JWT + protected mode, free |
| Export your mock | OSS JSON export Enterprise-only | OpenAPI, Postman, db.json, TS/Zod β free |
| OpenAPI import | yes | yes (+ db.json, CSV, Postman collections) |
| Request matching | excellent β regex, JSONPath, headers, scenarios | path + method + exact/range/substring query filters; no body matchers |
| Record & playback proxy | yes (CLI limited to 3 APIs on free) | no equivalent |
| gRPC | yes | no β REST + GraphQL only |
| Paid tier | Enterprise (custom quote) | free while in beta |
Written by the Mockbird maker β bias disclosed. Where WireMock genuinely wins: WireMock OSS embedded in Java tests is the industry standard for a reason β its request-matching DSL (URL regex, JSONPath body matchers, header matching, scenario state machines), verification assertions, and record-and-playback proxying have no Mockbird equivalent, and none of that needs the Cloud product at all. WireMock Cloud also speaks gRPC and mocks arbitrary GraphQL schemas; Mockbird's GraphQL is generated from your resources. If you need request-verification assertions or live proxy recording, use WireMock (though for the common case β replaying JSON traffic you captured in DevTools β our HAR import covers it, free). If you need a hosted, stateful, seeded REST API your frontend or CI can hammer for free, that's us. Free-tier figures (1,000 calls/month, 10 req/s, 3 APIs, Enterprise-only features) verified July 2026 from wiremock.io's published pricing table.
Full API reference in the docs. More guides: free mock API tools compared Β· Postman mock server alternative Β· mock server from an OpenAPI spec Β· deterministic test data. Create your API β