jsonbox.io was a small, brilliant idea: "a free HTTP based JSON storage โ store, read & modify JSON data over HTTP APIs". No signup, no schema, no SDK. You invented a box id, POSTed JSON at it, and got records back with _id and _createdOn. It powered a wave of 2019โ2020 prototypes, hackathon projects, and "build an app with no backend" tutorials, and left behind wrapper libraries for React, Python, Node and Rust.
jsonbox is gone โ three times over.
vasanthv/jsonbox repository now returns a 404, and Heroku's free tier ended in November 2022.jsonbox.io serves a WordPress blog about Twitter threads. Every curl in every old tutorial hits a content page:curl -X POST https://jsonbox.io/demobox_6d9e326c183fde7b \
-H 'content-type: application/json' -d '{"name":"Jon Snow","age":25}'
# โ HTTP 404, content-type: text/html
# โ <title>Page not found - Navigating Twitter Threads</title>
If you landed here from one of those tutorials โ or your old side project just started throwing HTML at JSON.parse โ here's how to do the same job on Mockbird: arbitrary JSON over HTTP, no signup, one extra setup curl, free. Plus the things jsonbox never had: filter operators, full-text search, exports, and a way to eject your data.
jsonbox needed zero setup โ POSTing to a box id created it implicitly. Mockbird needs two setup curls (create a project, name your first collection), and then it behaves the way you remember:
# 1. create a project (anonymous โ no login, no form)
curl -X POST https://mockbird.mockbird.workers.dev/api/projects \
-H 'content-type: application/json' -d '{"name":"my box"}'
# โ {"id":"abc123","adminKey":"KEY", ...} โ save both
# 2. create an empty collection (seed:0 = start blank, like a fresh box)
curl -X POST https://mockbird.mockbird.workers.dev/api/projects/abc123/resources \
-H 'X-Admin-Key: KEY' -H 'content-type: application/json' \
-d '{"name":"notes","fields":[{"name":"title","type":"sentence"}],"seed":0}'
Now store any JSON โ nested objects and arrays included, kept verbatim:
curl -X POST https://mockbird.mockbird.workers.dev/m/abc123/notes \
-H 'content-type: application/json' \
-d '{"title":"groceries","items":["eggs","flour"],"meta":{"urgent":true},"qty":3}'
# โ {"title":"groceries","items":["eggs","flour"],"meta":{"urgent":true},"qty":3,"id":1}
curl https://mockbird.mockbird.workers.dev/m/abc123/notes # list (default 20, like jsonbox)
curl https://mockbird.mockbird.workers.dev/m/abc123/notes/1 # one record
curl -X PUT https://mockbird.mockbird.workers.dev/m/abc123/notes/1 \
-H 'content-type: application/json' -d '{"title":"groceries","qty":4}' # replace
curl -X PATCH https://mockbird.mockbird.workers.dev/m/abc123/notes/1 \
-H 'content-type: application/json' -d '{"done":true}' # merge
curl -X DELETE https://mockbird.mockbird.workers.dev/m/abc123/notes/1
Reads and writes are open by default and CORS is on, so fetch() from any web page works โ the same "power your website with no backend" trick jsonbox v2 pitched. Writes persist. No inactivity expiry.
| In jsonbox.io | On Mockbird |
|---|---|
POST /box_<20chars> (box created implicitly) | create project + collection once, then POST /m/<project>/<collection> |
Collections: /box_x/users | every resource is a collection โ add as many as you need |
_id (Mongo ObjectId) | id (numeric, auto-increment) |
?q=name:arya stark | ?name=arya+stark (exact) or ?name_like=arya (substring) |
?q=age:>13 | ?age_gt=13 (also _gte _lt _lte _ne) |
?sort=-age | ?sortBy=age&order=desc |
?skip=20&limit=10 | ?page=3&limit=10 (page-based; cursor pagination too) |
| Default list size 20 | default list size 20 (plus X-Total-Count header) |
| Bulk create (POST an array) | no array POST โ bulk-load via db.json import instead |
| Protected box (API-key header) | protected mode โ JWT auth on every endpoint |
| Box metadata | GET /m/<project> โ live index of collections, counts & exports |
Eject your data. jsonbox data died with the service. Mockbird gives you GET /m/<project>/db.json โ your entire dataset in json-server format, so npx json-server db.json serves it locally, forever. There's also OpenAPI, Postman and TypeScript/Zod exports, GraphQL on the same data, a request inspector, snapshots (save/restore the whole dataset), and ?q= full-text search across fields.
Fake data on demand. If the box is for a prototype, you don't even have to invent records: "seed":25 instead of "seed":0 fills the collection with realistic fake data matching your field types, and one-click presets create a whole seeded backend (products, orders, customers, reviews).
The shared demo project is live right now:
curl 'https://mockbird.mockbird.workers.dev/m/demo/products?limit=2&sortBy=price&order=desc'
curl -X POST https://mockbird.mockbird.workers.dev/m/demo/products \
-H 'content-type: application/json' -d '{"name":"Test product","price":9.99}'
# โ it persists โ GET it back by the id you received
| jsonbox.io | Mockbird | |
|---|---|---|
| Status | shut down May 2021; repo deleted; domain now an unrelated blog | live, free while in beta |
| Signup required | no | no (anonymous projects; free signup to keep them) |
| Zero-setup implicit create | yes โ POST created the box | no โ two setup curls first (honest downside) |
| Arbitrary nested JSON | yes | yes (stored verbatim) |
| Query operators | q= with >/</wildcards | exact, _gt/_gte/_lt/_lte/_ne/_like, q= search |
| Bulk create | POST an array | db.json / CSV import |
| Data export | no | db.json, OpenAPI, Postman, TS/Zod |
| Extras | โ | GraphQL, mock auth, inspector, snapshots, webhooks, failure injection |
Other services still doing the store-JSON-over-HTTP job, honestly noted: jsonbin.io is alive and solid, but everything needs an account and an API key, and the free plan is 10,000 requests credited once (not per month), one collection, 100 KB records. npoint.io is alive and free โ JSON bins with schema validation, edited mainly through its web UI. Pantry (getpantry.cloud) is alive and free โ JSON "baskets" keyed by a pantry id. All three are storage only: no fake-data seeding, no exports, no auth simulation.
This page is written by the Mockbird maker โ bias disclosed. jsonbox facts verified September 2026: the archived jsonbox.io homepage and README (Wayback Machine, 2021) carry the May 31, 2021 shutdown notice and the API syntax quoted above; RDAP shows the current jsonbox.io registration created 2024-02-19 (the original lapsed); the live domain serves a WordPress site unrelated to the original service, and its API paths return HTML 404s; github.com/vasanthv/jsonbox returns 404 (wrapper repos like harlev/jsonbox-python and SaraVieira/react-jsonbox survive). jsonbin.io free-tier facts from jsonbin.io/pricing, September 2026. Every Mockbird command on this page was run against production before publishing. Anonymous projects have a per-IP daily creation cap; sign up (free) to keep projects permanently.
Full API reference in the docs. More guides: host a JSON file as an API ยท npoint.io alternative ยท CSV โ REST API ยท mocky.io alternative (also dead) ยท mockable.io alternative (also dead). Create your API โ