DocTable

PDF to JSON — structured data from scanned or digital PDFs

Updated October 2026

DocTable converts a PDF — scanned, photographed or digital — into structured JSON: every table as rows and columns, every labelled value as a field, plus an audit of the arithmetic, so code can use the document without parsing loose text. In the web app pick JSON for a single document; through the REST API or the MCP server every result is JSON. Your first 3 pages are free — scan and download, no card needed. After that, $3 buys 20 pages (one-time, no subscription).

Start — upload a PDF
{ "document_type": "invoice",
  "structured": { "...": "..." },
  "audit": { "status": "balanced", "flags": [] },
  "human_review_required": false }
Shape of a result (abridged)

How it works

  1. Upload a PDF or image, or call the API.
  2. The AI reads tables and labelled values.
  3. Review the result — 3 free pages, download included.
  4. Download JSON, or use the API response directly.

What the JSON contains

An API result is a job object with id, status, document_type, format, text, structured (the extracted tables and fields), export_url for file formats, audit and human_review_required. The audit reports balanced, mismatch or not_checked, and covers arithmetic consistency only, not accuracy against the original.

From the web app

Upload the PDF and, for a single document, choose JSON; the same document can also be exported as Excel, Word, CSV or text. A merged batch is exported as Excel, Word or CSV.

From code: POST /v1/scan

Send the file as a multipart upload with your key as a Bearer token:

curl -X POST https://doctable.online/v1/scan \
  -H "Authorization: Bearer dt_YOUR_KEY" \
  -F "[email protected]" \
  -F "format=json"

Full field list, errors and limits are on the developers page.

Long PDFs

PDFs can have up to 500 pages, each page using 1 credit. A PDF over 6 pages, or any request with async=true, runs as a background job: you poll GET /v1/jobs/{id} and can pass a callback_url to be notified when it ends.

Scans without a text layer

The AI reads the page as an image, so scans and phone photos work the same way as digital PDFs. Blurry or low-resolution input lowers accuracy; check human_review_required.

Frequently asked questions

How do I convert a PDF to JSON?

Upload the PDF to DocTable and choose JSON for a single document, or call POST /v1/scan, whose result is JSON. Tables come back as rows and columns, labelled values as fields.

Is there a free PDF to JSON converter?

Your first 3 pages are free — scan and download, no card needed. After that, $3 buys 20 pages (one-time, no subscription).

Can AI convert a PDF to JSON?

Yes. DocTable uses an AI model that reads each page as an image, so it also works on scans and photos, and then checks the arithmetic.

How do I convert a PDF to JSON in Python?

Send the file to POST /v1/scan with any HTTP client that can do a multipart upload and your Bearer key, with format=json. There is no SDK to install.

Can it convert a scanned PDF to JSON?

Yes. A scanned PDF has no text layer, and DocTable reads the page image directly.

Is there a PDF to JSON API?

Yes. POST https://doctable.online/v1/scan returns JSON, with background jobs for long PDFs; each page uses 1 credit. See the developers page.

Related pages

Temporary processing — files are not archived. Always verify OCR output before financial or legal use.