JSONPlaceholder is rightly famous: a free fake REST API you can hit from any tutorial, no signup, no setup. But everyone who uses it hits the same three walls. The dataset is fixed โ 100 posts, 10 users, lorem-ipsum Latin text, and that's what you get. The resources are fixed too โ if your app has products or invoices, there's no endpoint for them. And writes are faked: POST /posts cheerfully returns {"id": 101}, but GET /posts/101 is a 404 โ nothing persists, so you can't demo a create-then-list flow or test optimistic UI against reality.
Mockbird keeps everything that made JSONPlaceholder great โ free, no signup, CORS on, same json-server-style conventions โ and removes the walls: your own resources, realistic seeded data (names that look like names, prices that look like prices), and full CRUD that actually persists.
The shared demo project is live right now:
curl "https://HOST/m/demo/products?limit=3"
Realistic product names, prices, image URLs, categories โ not "sunt aut facere repellat". (The demo is shared and resets daily; make your own project below.)
One request creates a whole seeded blog backend (the blog preset: 20 posts, 40 comments with postId foreign keys, 8 authors):
curl -X POST https://HOST/api/projects \
-H 'content-type: application/json' \
-d '{"name":"my-blog","preset":"blog"}'
# โ {"id":"abc123","adminKey":"KEY","baseUrl":"https://HOST/m/abc123", ...}
Now every convention JSONPlaceholder taught you works โ against your URL:
curl "https://HOST/m/abc123/posts" # list
curl "https://HOST/m/abc123/posts/1" # one record
curl "https://HOST/m/abc123/posts/1/comments" # nested route
curl "https://HOST/m/abc123/posts?_page=1&_limit=5" # pagination
curl "https://HOST/m/abc123/comments?postId=1" # filter by field
curl "https://HOST/m/abc123/comments/1?_expand=post" # join the parent
curl -X POST "https://HOST/m/abc123/posts" \
-H 'content-type: application/json' \
-d '{"title":"Hello","body":"this one sticks"}'
# โ 201 {"id":21, ...}
curl "https://HOST/m/abc123/posts/21"
# โ 200 โ it's really there. PUT/PATCH/DELETE work too.
So create-then-refetch flows, optimistic-update rollback tests, delete confirmations โ all testable for real. Broke your data experimenting? Save a snapshot first and restore it in one call, or reseed the resource.
Presets are a shortcut, not the ceiling. Define any resource with typed fields and it's seeded instantly:
curl -X POST https://HOST/api/projects/abc123/resources \
-H 'X-Admin-Key: KEY' -H 'content-type: application/json' \
-d '{"name":"invoices","fields":[
{"name":"number","type":"uuid"},
{"name":"customer","type":"fullName"},
{"name":"amount","type":"price"},
{"name":"status","type":"status"},
{"name":"dueDate","type":"futureDate"}
],"seed":25}'
Or skip schemas entirely: import an OpenAPI spec or upload a json-server db.json and your exact data is hosted.
?mock_delay=3000, ?mock_status=500 per request to test spinners and error states.| JSONPlaceholder | Mockbird | |
|---|---|---|
| Signup needed | no | no (optional, to keep projects) |
| Resources | 6, fixed (posts, comments, albums, photos, todos, users) | your own, any schema, or presets |
| Data | fixed lorem-ipsum set | realistic seeded, reseedable, or your imported records |
| Writes | faked โ response only, nothing stored | persist (snapshot/reseed to reset) |
| Conventions | json-server style | same: _page/_limit, nested routes, _expand/_embed, filters |
| GraphQL / auth / webhooks / exports | โ | included, free |
| Limits | informal fair use | 10,000 requests/day per project, generous free caps |
Where JSONPlaceholder still wins: it's been rock-solid for a decade, it's the URL every tutorial already uses, and if all you need is "any JSON list right now, forever-stable URL", it's unbeatable โ keep using it. Reach for Mockbird when you need your schema, writes that stick, or the extras above. Anonymous Mockbird projects have a per-IP daily creation cap; sign up (free) to keep projects permanently. Written by the Mockbird maker โ bias disclosed; JSONPlaceholder behavior re-verified July 2026.
Full API reference in the docs. More guides: json-server, hosted ยท DummyJSON alternative ยท React quickstart ยท 5 free mock-API tools compared. Create your API โ