JSON Bins

Save JSON.
Get a URL.

Public JSON at a URL you can fetch from anywhere. No signup for a trial bin. Sign in with GitHub or Google to keep it.

Terminal
curl -d '{"hello":"world"}' https://api.jstash.app/v1/bins

{
  "url": "https://j.jstash.app/LmP6w8kC2fY7Qv4rZx1aNg",
  "edit_token": "js_edit_…",
  "expires_at": "2026-10-20T10:30:00.000Z"
}
Read it from anywhere
const data = await fetch('https://j.jstash.app/LmP6w8kC2fY7Qv4rZx1aNg').then((r) => r.json());
// → { hello: 'world' }

Try it

POST/v1/bins
Trial bin · public · 7 days
Response
// Press Save JSON to make a trial bin
Save JSON from scheduled jobs: Publish a JSON report from cron or GitHub Actions, then read it from a static site using a stable URL.

Keep it: claim the bin

Every trial bin comes with an edit token. Sign in with GitHub or Google and claim it before it expires. The URL stays the same and it stops expiring.

POST /v1/bins/:id/claim {"edit_token":"js_edit_…"}

Trial limits

Lasts
7 days unless claimed
Size
100 KB per bin
New bins
20 a day per IP
Updates
1,000 a day per IP

Public bins are public: anyone with the URL can read them. Don’t put secrets or personal data in one.

Saving data for signed-in users? Use jstash Apps: each person gets private documents, with no API key in the page.

See jstash Apps →