Let's be clear first: SwaggerHub β recently rebranded Swagger Studio by SmartBear β is the canonical place to design an OpenAPI spec. The editor, the rendered docs, the code generators, the org-wide style validation: genuinely excellent, and if your team lives design-first there, keep living there.
This page is about the moment you point actual software at its built-in mock. SwaggerHub's API Auto Mocking hosts your spec at virtserver.swaggerhub.com/<owner>/<api>/<version>, and per SmartBear's own docs (September 2026) it is:
429 Too Many Requests. A Playwright suite, a React app in dev with a few components fetching, or one npm test run trips this in seconds. The documented fix is buying On-Premise.POST /users answers with the example β but creates nothing. You can't test createβreadβupdateβdelete, pagination over real rows, or "what does the empty list look like".And on the free personal plan, your API definition is public β visible to anyone and indexed in the public catalog. Private APIs require a paid Organization plan.
Here's how to keep designing in SwaggerHub and get a mock that behaves like a backend β free, no signup.
SwaggerHub serves every public spec raw through its registry API, so you can pipe it straight into Mockbird's importer without downloading anything:
curl -sL https://api.swaggerhub.com/apis/OWNER/API_NAME/VERSION \
| curl -X POST https://mockbird.mockbird.workers.dev/api/projects/import --data-binary @-
# β {"id":"j5wzfngdag","adminKey":"β¦","baseUrl":"https://mockbird.mockbird.workers.dev/m/j5wzfngdag", β¦}
(For a private spec, export it from the SwaggerHub editor β Export β Download API β and --data-binary @spec.yaml the file; JSON or YAML both work, Swagger 2.0 and OpenAPI 3.x both work.) We tested this with SmartBear's own Petstore spec: resources come out seeded with your schema's shapes, and enums are kept verbatim β the imported pets really answer "status": "available".
Your mock is live immediately, with data you can actually push against:
curl "https://mockbird.mockbird.workers.dev/m/YOUR_ID/products?limit=2&select=name,price"
# β [{"id":1,"name":"Business Eye Gardenβ¦","price":11.52}, {"id":2, β¦}]
# writes PERSIST β this is the part virtserver can't do
curl -X POST https://mockbird.mockbird.workers.dev/m/YOUR_ID/products \
-H 'content-type: application/json' -d '{"name":"Test Widget","price":9.99}'
# β {"name":"Test Widget","price":9.99,"id":21}
curl https://mockbird.mockbird.workers.dev/m/YOUR_ID/products/21
# β {"name":"Test Widget","price":9.99,"id":21} β it's really there
And no per-minute limit β we fired 15 requests in about a second while writing this and got fifteen 200s. The cap is 10,000 requests per project per day, which is a day of CI, not six seconds of it.
| SwaggerHub Auto Mocking | Mockbird |
|---|---|
virtserver.swaggerhub.com/owner/api/version | β¦/m/<project> β your own base URL |
| Responses = first example in the spec, always | seeded records generated from your schemas β filter, sort, paginate real rows |
POST/PUT/DELETE return examples, change nothing | writes persist (full CRUD, visible in later GETs and GraphQL) |
| 10 req/min per API version β 429 | 10k req/project/day, burst-friendly |
| "No business logic" (their docs) | ?mock_status=503, ?mock_delay=2000, chaos & jitter, templated custom routes |
| Mock updates when you save the spec | re-import anytime (new project) or edit resources/records live via API/dashboard |
| Spec public on the free plan | projects are unlisted; protected mode puts the whole mock behind auth |
| Get the spec back out | openapi.json, Postman, TypeScript/Zod, db.json exports β no lock-in |
The shared demo project exports its own OpenAPI spec β so you can watch a spec become a stateful mock with two commands and zero setup:
curl -s https://mockbird.mockbird.workers.dev/m/demo/openapi.json \
| curl -X POST https://mockbird.mockbird.workers.dev/api/projects/import --data-binary @-
Save the returned id and adminKey, and everything above works on your copy. Failure injection needs no setup at all:
curl -i "https://mockbird.mockbird.workers.dev/m/demo/products?mock_status=503" # β HTTP 503
curl "https://mockbird.mockbird.workers.dev/m/demo/products/1?mock_delay=2000" # β ~2s later
| SwaggerHub / Swagger Studio | Mockbird | |
|---|---|---|
| API design platform | the industry standard β editor, docs, codegen, style rules, versioning, huge public catalog | not one β we host mocks, not spec workflows |
| Mock statefulness | semi-static, first example only | real persistence (CRUD, relations, nested routes) |
| Mock rate limit (free) | 10 req/min per API version | 10k req/project/day |
| XML / YAML mock responses | yes, from spec content types | JSON resources; XML only via custom routes |
| Response headers from spec | yes | not from the spec (custom routes can set headers) |
| Spec privacy (free) | public, in the searchable catalog | unlisted URLs; optional auth-protected mode |
| Mock auth / login simulation | no | real signed JWTs, protected mode |
| GraphQL over the same data | no | yes, generated automatically |
| Price | free personal (public only); paid Organization plans for private APIs & teams | free while in beta |
Written by the Mockbird maker β bias disclosed. SwaggerHub facts checked September 2026 against SmartBear's official Swagger Studio documentation (API Auto Mocking page: 10 requests/minute per API version with 429 after, semi-static responses, first example returned, "does not support business logic", higher limits only via On-Premise; Plans page: personal plans free, private APIs on paid Organization plans). Where SwaggerHub genuinely wins: it's the canonical OpenAPI design environment, its mock speaks XML/YAML and echoes spec-defined response headers, and the mock re-syncs on every spec save β ours doesn't track your spec after import. If you mainly want spec-faithful validation of requests, Prism does that well locally: see the Prism comparison. 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 an OpenAPI spec Β· Prism alternative Β· Stoplight alternative Β· Apiary alternative Β· Postman mock server alternative Β· testing loading & error states. Create your API β