โ† All guides

Host a JSON file as an API in one curl (free, no signup)

You have a JSON file โ€” a list of todos, products, quiz questions, a config blob โ€” and you want a URL for it so a frontend, a mobile app, or a workshop room can fetch it. This used to be myjson.com's whole job, and myjson.com is gone (it went dark in 2020 and took a lot of Roku feeds and tutorial code with it). The services that filled the gap all put something between you and the URL:

Here's the shorter path. One curl, no account, no key:

curl -X POST 'https://HOST/api/projects/import?resource=todos' \
  --data-binary @todos.json
# todos.json = [{"id":1,"title":"buy milk","done":false},
#               {"id":7,"title":"ship the feature","done":true}, ...]
# โ†’ {
#     "id": "g6bhxt4ezf",
#     "baseUrl": "https://HOST/m/g6bhxt4ezf",
#     "resources": [{ "name": "todos", "records": 3,
#                     "url": "https://HOST/m/g6bhxt4ezf/todos" }]
#   }

Your records are hosted verbatim โ€” integer ids preserved, missing ones filled in โ€” behind a real REST endpoint:

curl https://HOST/m/g6bhxt4ezf/todos      # the whole list
curl https://HOST/m/g6bhxt4ezf/todos/7    # one record by id

Not a hosted blob โ€” a queryable API

This is the part the JSON-bin services can't do. They store your file as one opaque blob: you GET the whole thing, you PUT the whole thing back. Here every item is a record, so the whole query toolkit works on your data immediately:

curl 'https://HOST/m/g6bhxt4ezf/todos?done=true'          # filter by any field
curl 'https://HOST/m/g6bhxt4ezf/todos?title_like=milk'    # substring match
curl 'https://HOST/m/g6bhxt4ezf/todos?_page=2&_limit=10'  # pagination
curl 'https://HOST/m/g6bhxt4ezf/todos?select=id,title'    # field projection

And writes are per-record CRUD, not blob-replacement:

curl -X POST https://HOST/m/g6bhxt4ezf/todos \
  -H 'content-type: application/json' -d '{"title":"new item","done":false}'
curl -X PATCH https://HOST/m/g6bhxt4ezf/todos/7 \
  -H 'content-type: application/json' -d '{"done":false}'
curl -X DELETE https://HOST/m/g6bhxt4ezf/todos/1

You also get GraphQL, sort (_sort/_order), full-text q= search, range operators (_gte/_lte/_ne), an inspector showing who's hitting the URL, named snapshots, and typed exports (openapi.json, types.ts, postman.json).

Config blobs and plain objects

Not an array? A plain JSON object works too. An object of arrays is treated like a json-server db.json โ€” each key becomes its own collection. Singular object values become 1-record collections, which is exactly what you want for config:

curl -X POST https://HOST/api/projects/import \
  --data-binary '{"config":{"theme":"dark","retries":3},"profile":{"name":"Ada"}}'
# โ†’ collections "config" and "profile", one record each

curl https://HOST/m/<id>/config/1
# โ†’ {"theme":"dark","retries":3,"id":1}

No lock-in โ€” eject any time

One URL returns your entire live dataset back, in json-server's native format:

curl -o db.json https://HOST/m/g6bhxt4ezf/db.json
npx json-server db.json   # the same API, running on your laptop

Honest comparison

Verified July 2026 against each service's public pages:

jsonbin.ionpoint.ioExtendsClassPantryMockbird
Signup / API keyOAuth signup + key headersaccount for editing; no new API keysaccount + keyfree keynone
Free requests10,000 total, onceunlimited readsfreefree10,000 / day per project
Query/filter your datano (whole blob)path drill-down reads onlyJSON Patch partial updatesno (whole basket)filters, sort, search, pagination, GraphQL
Per-record writesblob PUT (versioned)UI editingblob + patchblob mergefull CRUD per record
Size limitsgenerousโ€”100 KB/binsmall baskets512 KB import, 1,000 records/collection
Data lifetimepersistentpersistentpersistentdeleted when inactivepersistent (sign up to keep projects tied to an account)
Where it winsversioned blob history, private binsschema validation + lovely editorJSON Patch supportdead-simple key-value basketsyour JSON becomes a real queryable API

Fair is fair: if what you need is one private blob with version history, jsonbin.io is built for exactly that. If you want a human-friendly editing UI with JSON-Schema validation, npoint.io is lovely. Mockbird's angle is different โ€” your file stops being a blob and becomes a working backend.

What this is (and isn't): Mockbird is a mock-API/prototyping service, not a production database โ€” perfect for prototypes, demos, workshops, tutorials and frontend builds; don't put secrets or production data in it. Projects are unlisted (anyone with the URL can read them) unless you turn on protected mode, which puts real JWT auth in front of every endpoint. Records must be JSON objects; anonymous project creation has a per-IP daily cap โ€” sign up (free) to keep projects permanently.

This page is written by the Mockbird maker โ€” bias disclosed. jsonbin.io / npoint.io / ExtendsClass / Pantry facts checked July 2026 against their public pricing and docs pages, plus live requests.

Prefer a UI? Open the dashboard import panel and paste your JSON โ€” no terminal needed. Full reference in the docs. More guides: CSV โ†’ REST API ยท json-server, hosted ยท free GraphQL mock API. Create your API โ†’