โ† All guides

jsonbox.io is gone โ€” here's a free replacement for HTTP JSON storage

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.

  1. The cloud instance shut down on May 31, 2021 ("due to a lack of maintenance time"). The shutdown notice pointed at two lifelines: the open-source repo on GitHub, and free self-hosting on Heroku + MongoDB Cloud.
  2. Both lifelines are gone too: the official vasanthv/jsonbox repository now returns a 404, and Heroku's free tier ended in November 2022.
  3. The domain itself lapsed and was re-registered by an unrelated party in February 2024. Today 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.

The 60-second replacement

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.

jsonbox โ†’ Mockbird translation

In jsonbox.ioOn Mockbird
POST /box_<20chars> (box created implicitly)create project + collection once, then POST /m/<project>/<collection>
Collections: /box_x/usersevery 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 20default 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 metadataGET /m/<project> โ€” live index of collections, counts & exports

What jsonbox never did

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).

Try it with zero setup

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

Honest comparison โ€” and the other survivors

jsonbox.ioMockbird
Statusshut down May 2021; repo deleted; domain now an unrelated bloglive, free while in beta
Signup requirednono (anonymous projects; free signup to keep them)
Zero-setup implicit createyes โ€” POST created the boxno โ€” two setup curls first (honest downside)
Arbitrary nested JSONyesyes (stored verbatim)
Query operatorsq= with >/</wildcardsexact, _gt/_gte/_lt/_lte/_ne/_like, q= search
Bulk createPOST an arraydb.json / CSV import
Data exportnodb.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 โ†’

โšก Skip the terminal: this link creates a live, seeded e-commerce backend in the dashboard โ€” real URL, data browser already open, no signup. Or import your own db.json, CSV, OpenAPI spec, Postman collection, or HAR and host your exact data.