A JSONPlaceholder alternative that keeps what you write

JSONPlaceholder is the free fake REST API almost every tutorial reaches for, and deservedly: six resources, no signup, no configuration, and a URL short enough to type from memory. It is close to perfect for the thing it was built for — giving a front-end something to render while the real API does not exist yet.

Where it stops

It accepts POST, PUT, PATCH and DELETE and pretends to honour them. The response looks right, complete with a new id, and nothing has changed: fetch the resource afterwards and your write is not there. That is a deliberate design decision for a shared public service, and it is also the point at which it stops being useful for testing rather than prototyping — you cannot verify a create, you cannot test a conflict, and you cannot chain one request into the next.

What is different here

Here, writes persist. Create a character and it is in the collection; delete it and the next GET returns 404. Callers are isolated from one another — by an X-Sandbox-ID header against the live API, and by running the whole engine locally in the browser — which is what makes persistence safe on a public service. Beyond that the surface is much wider: 39 domains rather than 6 resources, real Bearer and JWT auth with a role that gets a 403, ETag and If-Match concurrency, Idempotency-Key replay, rate limits that really limit, webhooks with verifiable HMAC signatures, and every HTTP status code in the catalog reachable on demand.

What JSONPlaceholder does better

What this playground does better

Which to use

Use JSONPlaceholder when you need a body to render and nothing else. Come here when the thing you are testing is the HTTP: the failures, the auth, the concurrency and the retries.

Checked against JSONPlaceholder as of 2026-09.

Other comparisons

All 39 mock REST APIs · Getting started guide · About this playground