Read for 0 credits · extract with your schema

Paste a link.
Get JSON.

getJSON reads any content a user or an agent points at, a web page or a file, and returns JSON in your schema, validated. Try and use it without an account.

schema0 credits, no key, no account
Try:
● 200recorded 2026-10-270 creditssource: x-fxtwitterOpen as URL
{
  "source": {
    "url": "https://x.com/i/status/20",
    "finalUrl": "https://x.com/jack/status/20",
    "kind": "post",
    "platform": "x",
    "provider": "x-fxtwitter",
    "fetchedAt": "2026-10-27T21:23:55.884Z",
    "cached": false
  },
  "content": {
    "title": null,
    "text": "just setting up my twttr",
    "author": {
      "name": "jack",
      "handle": "@jack",
      "url": "https://x.com/jack"
    },
    "publishedDate": "2006-03-21T20:50:14.000Z",
    "language": "en",
    "wordCount": 5,
    "engagement": {
      "likes": 311267,
      "replies": 18122
    },
    "hashtags": [],
    "mentions": [],
    "linkedContent": [],
    "truncated": false
  },
  "meta": null,
  "wall": null,
  "result": null
}
0
credits to read a link
< 0.5 s
median to the first JSON with no account
3
schema calls a day without a key
01

One call, wherever you sit

One GET, no key, no account. Send Accept: text/markdown if your agent wants the text as Markdown.

curl https://getjson.de/https://x.com/jack/status/20

All three get the same envelope back: source, content, meta, wall and result.

02

Sources we read

X

0 credits to read

Bluesky

0 credits to read

Mastodon

0 credits to read

Hacker News

0 credits to read

GitHub

0 credits to read

Google Docs and Sheets

0 credits to read

Any web article

0 credits to read

A file from your disk

0 credits to read: curl -F "file=@report.pdf" https://getjson.de/

When a link blocks the read, the answer says why in wall: login, bot_protection, no_text. You don't get a guess. What we can't read

03

Your schema in, validated JSON out

Add a JSON Schema to the same call. The answer has the same fields as a read, and result is filled, in your shape.

curl -G https://getjson.de/https://x.com/jack/status/20 --data-urlencode 'schema={"type":"object","properties":{"author":{"type":"string"},"text":{"type":"string"},"likes":{"type":"integer"}},"required":["author","text","likes"]}'
{
  "source": { … },
  "content": { … },
  "meta": null,
  "wall": null,
  "result": {
    "text": "just setting up my twttr",
    "likes": 311267,
    "author": "jack (@jack)"
  }
}

If the result breaks your schema, getJSON tries once more. If the retry breaks it too, the GET answers 422 with the code schema_mismatch and the fields that failed. A job on /v1/extract fails with the same code, and its credits are refunded.

04

Price

Reading a link or a file costs 0 credits. An extraction costs 1 to 3 credits: a fixed mode has one fixed price, and auto picks the model by the document and costs at most 3. Every account with credits can send an inline schema with a call. Saved schemas, used by schema_id, need the Pro plan. A new account starts with 5 free credits.

05

The agent path

1

It reads without a key

Your agent reads links for 0 credits, 20 a minute. Three schema calls a day per network are free too.

2

It gets a trial key, no human

When it needs more, it solves a small proof-of-work and gets a trial key. No email.

3

You claim it later

The agent hands you a claim link. You sign in, the key moves into your account and stops expiring.

Start with
one link

5 free credits for an account. No card. // reads stay at 0 credits

Get started free