PDF to JSON API
Turn a PDF into a structured Document Model — element types, text, page numbers and per-element bounding boxes — with one call.
When you need to program against a document rather than just read it, you want structured JSON: every element typed, positioned, and traceable. PDFjet's /extract/json returns a stable Document Model — headings, paragraphs, lists and tables, each with text, a 1-based page number, and a bounding box — so you can build citations, highlight source regions, or drive downstream automation.
It's deterministic and runs on-server, one call, no SDK. Tables include a structure-confidence score so you know which ones to trust, and you can drop the bounding boxes with ?provenance=false when you want a leaner payload.
Extract a PDF to structured JSON
curl -X POST https://pdfjet.dev/extract/json \
-H "Authorization: Bearer pj_live_..." \
-F [email protected]
Get your free API key →
100 pages/month free, no credit card.
A stable, documented Document Model
Each page returns its dimensions and an ordered list of blocks. Every block has a type (heading, paragraph, list, table), its text or items, a 1-based page number, and a bounding box in page points. Tables include rows, per-cell coordinates, and a 0-1 confidence score that flags grids worth a human glance.
Provenance you can switch off
Bounding boxes power citations and source-highlighting, but you don't always need them. Add ?provenance=false for a leaner text-plus-structure payload when you're just after the content.
Want specific fields instead? Use schema-guided extraction
If you know exactly which fields you want — invoice number, total, due date — send a JSON schema to /extract/fields and get each value back typed, with page and bounding-box provenance and a confidence score. Deterministic and fully on-server, no third-party model.
curl -X POST https://pdfjet.dev/extract/fields \
-H "Authorization: Bearer pj_live_..." \
-F [email protected] \
-F 'schema={"invoice_number":"string","total":"number","due_date":"date"}'
Why PDFjet
- Structured Document Model: typed elements, text, page numbers, bounding boxes.
- Table structure with rows, per-cell coordinates and a confidence score.
- Schema-guided field extraction via /extract/fields when you want specific values.
- ?provenance=false for a leaner payload; deterministic and on-server.
- Zero data retention; files are never stored or used to train models.
- Free tier: 100 pages/month, no credit card.
Comparing structured-extraction APIs? See how PDFjet compares:
FAQ
How do I convert a PDF to JSON?
POST the PDF to https://pdfjet.dev/extract/json with your Bearer API key. You get a structured Document Model back — typed elements with text, page numbers and per-element bounding boxes. Tables include a structure-confidence score.
Can I extract only specific fields?
Yes. Send a JSON schema of the fields you want to /extract/fields (up to 50 fields) and get each value typed, with page/bounding-box provenance and a confidence score. It's deterministic and runs on-server.
What are the bounding boxes for?
They give the position of each element on the page (in points), so you can build citations, highlight the source region, or verify extractions. Use ?provenance=false to omit them for a leaner payload.
Are my files stored?
No. Files are processed in memory and deleted immediately — never stored, never used to train models.
Turn your PDFs into clean data in minutes
100 pages/month free. Every feature. Zero data retention. No credit card.
Get your free API key →