โ† All guides

๐Ÿ“ก Is apiary-mock.com still dead? We check it (and 36 other classic public mock/placeholder APIs) with a plain GET every 30 minutes โ€” see the live status page.

Apiary is gone โ€” here's a free replacement for apiary-mock.com

Apiary was the original design-first API tool: write an API Blueprint (the Markdown-ish .apib format), and you got rendered docs plus a hosted mock server at private-<hash>-<api>.apiary-mock.com that replayed your example responses. It powered a decade of "design the API before you build it" tutorials, and after Oracle bought it in 2017 it kept running quietly โ€” free plans and all.

Oracle retired Apiary on September 9, 2025. As of August 2026 the shutdown is total โ€” but confusingly half-visible, because the marketing homepage is still up:

# the homepage still says "Sign up free with GitHub" (August 2026):
curl -s https://apiary.io/ | grep -o "Sign up free[^<]*"
# โ†’ Sign up free with GitHub

# ...but the app itself just bounces you back to that marketing page:
curl -sI https://app.apiary.io/
# โ†’ HTTP/2 302   location: https://apiary.io/home

# every mock URL is dead:
curl https://private-anon-8f3c1d-polls.apiary-mock.com/questions
# โ†’ 404  "No API found"

# (docs subdomains have flickered back as read-only archives โ€” the docs
# pages load again as of late Aug 2026, but the mocks stay dead)

If your frontend, Postman environment, CI job, or tutorial points at an apiary-mock.com URL, it is broken and it is not coming back. Here's how to get a hosted mock for the same API back in about two minutes โ€” free, no signup โ€” starting from the .apib file you already have.

API Blueprint โ†’ hosted mock, two commands

Mockbird imports OpenAPI 3.x and Swagger 2.0 directly. API Blueprint isn't OpenAPI, but the community apib2swagger converter (npm, MIT) turns a .apib into Swagger 2.0 โ€” which we accept as-is:

# 1. convert your blueprint (the classic Polls tutorial API, say)
npx apib2swagger -i polls.apib -o polls-swagger.json

# 2. import it โ€” this answers with a live base URL
curl -X POST "https://mockbird.mockbird.workers.dev/api/projects/import?name=polls" \
  -H 'content-type: application/json' --data-binary @polls-swagger.json

The response contains your baseUrl, an adminKey, and a dashboard link. For the Polls blueprint (the one from Apiary's own tutorial), you get a questions resource with fields inferred from the example bodies (question as text, published_at as an ISO date) and 20 seeded records:

curl "https://mockbird.mockbird.workers.dev/m/YOUR_ID/questions?limit=2"
# โ†’ [{"id":1,"question":"โ€ฆ","published_at":"2026-04-17T21:14:33.603Z"}, โ€ฆ]

curl "https://mockbird.mockbird.workers.dev/m/YOUR_ID/questions/1"     # single record
curl -X POST "https://mockbird.mockbird.workers.dev/m/YOUR_ID/questions" \
  -H 'content-type: application/json' -d '{"question":"Tabs or spaces?"}'
# โ†’ created with a real id โ€” and unlike Apiary's replay mock, a GET actually returns it

Honest caveat: nested arrays inside example bodies (the Polls choices array) are skipped by the schema import with a warning โ€” field inference keeps flat fields. If you need the nested example payload byte-for-byte, use a verbatim route (next section). And apib2swagger is a community tool: complex MSON data structures may need a quick manual touch-up after conversion.

Replaying exact example bodies, Apiary-style

Apiary's mock did one thing: replay the example response from your blueprint, verbatim. If that's the behavior you want (nested payloads and all), a custom route reproduces it exactly:

curl -X POST "https://mockbird.mockbird.workers.dev/api/projects/YOUR_ID/routes" \
  -H "x-admin-key: YOUR_ADMIN_KEY" -H 'content-type: application/json' \
  -d '{"method":"GET","path":"/questions","status":200,
       "contentType":"application/json",
       "body":"[{\"question\":\"Favourite programming language?\",\"published_at\":\"2015-08-05T08:40:51.620Z\",\"choices\":[{\"choice\":\"Swift\",\"votes\":2048}]}]"}'

Custom routes win over generated resource endpoints, so you can mix modes per path: verbatim replay where the exact example matters, live stateful CRUD everywhere else. Routes support :params, wildcards, response templating ({{query.x}}, {{now}}, {{uuid}}โ€ฆ), custom headers, any status, and per-route delay.

What you get that Apiary's mock never had

What Mockbird does not replace

Apiary was three products in one, and we only replace one of them:

The uncomfortable truth for blueprint fans: the API Blueprint ecosystem largely wound down with Apiary. Converting to OpenAPI once โ€” with apib2swagger, while your .apib files are still in git โ€” is the durable move, whatever mock server you pick.

Comparison

Apiary mock serverMockbird
Statusshut down Sep 9, 2025 โ€” all URLs 404live, free while in beta
Input formatAPI Blueprint, Swagger 2.0OpenAPI 3.x / Swagger 2.0, db.json, CSV, Postman collection, HAR (blueprint via apib2swagger)
Mock behaviorreplays example responsesstateful CRUD + seeded fake data + verbatim routes
Writes persistnoyes
Latency / error / chaos simulationnoyes (mock_delay, mock_status, mock_chaos)
Auth simulationnosigned JWTs + protected mode
Signup requiredyes (GitHub/email)no (anonymous projects; free signup to keep them)
Free limitsโ€”10,000 req/project/day

This page is written by the Mockbird maker โ€” bias disclosed. Apiary's shutdown was announced by Oracle for September 9, 2025, and every claim above (zombie homepage, 302 app redirect, 404 mock URLs, the apib2swagger โ†’ import round-trip, the verbatim route) was verified by hand in August 2026. Other places a blueprint can go: convert to OpenAPI and self-host Prism (our Prism comparison), or WireMock Cloud (paid tiers). Anonymous Mockbird projects have a per-IP daily creation cap; sign up (free) to keep projects permanently.

Full API reference in the docs. More guides: mock server from OpenAPI ยท Mocky is gone too ยท mock any endpoint. Create your API โ†’

โšก Skip the terminal: this link opens the dashboard import panel โ€” paste your converted swagger JSON (or an OpenAPI spec, db.json, CSV, Postman collection, or HAR) and get a live mock without touching curl. Or create a seeded e-commerce backend in one click.