PDF to JSON

PDFs in. JSON out.

Upload a PDF, born-digital or scanned, forward it by e-mail or send it to the API. Parsevix reads every page and returns the data as JSON, in your own fields or named with the document's own labels. Try it with the real documents in the demo.

  • Text PDFs and scanned PDFs alike
  • Up to 30 pages per file
  • Your own fields, or no schema at all

No credit card · 20 free pages every month

Invoice · PDF, 2016
POST /api/v1/extract-auto200
{
"company_name": "Wolters Kluwer",
"division": "Lippincott",
"document_type": "INVOICE",
"company_details": {
"address": "351 West Camden Street, Baltimore MD 21201",
"fax": "(301) 223-2410",
"billing_inquiries": "(800) 341-2258",
"fein": "132932696",
"gst": "895524239"
},
"invoice_no": "000277511",
"invoice_date": "8/12/2016",
"customer_id": "UCSFD00005",
"start_date": "8/31/2016",
"end_date": "8/31/2016",
"advertiser": "UCSF Department of Psychiatry",
"product": "UCSF Department of Psychiatry",
"bill_to": {
"organization": "UCSF Department of Psychiatry",
"address": "401 Parnassus Ave\nBox 0984-Mse\nSan Francisco, CA 94143-0984\nUnited States",
"attention": "█████"
},
"line_items": [
{
"qty": "1",
"item": "OPEN ACCESS",
"u_of_m": "Each",
"description": "AcadMed-D-15-01487R2_Why\nARTICLE\nmedical schools should embrace\nWikipedia: Analysis of final-year\nmedical st",
"media_description": "Academic Medicine",
"amount": "3,900.00"
}
],
"item_charges": "3,900.00",
"adv_discount": "0.00",
"trade_discount": "0.00",
"agency_discount": "0.00",
"production_charges": "0.00",
"subtotal": "3,900.00",
"sales_tax": "0.00",
"amount_due_usd": "3,900.00",
"terms": "NET 30",
"payment_information": {
"electronic_payment_info_only": {
"bank_of": "Bank of America",
"ach_eft_edi_aba_routing": "071000039",
"account": "5800956913",
"domestic_wire_transfers_aba_routing": "026009593",
"international_wire_transfers_swift_code": "BOFAUS3NXXX",
"tax_id": "13-2932696"
},
"check_payable_to": {
"name": "Wolters Kluwer Health, Inc",
"address": "16705 Collection Center Drive\nWolters Kluwer Health\nChicago, IL 60693\n135 S. LaSalle Street\nChicago, IL 60603"
}
},
"remittance_section": {
"customer_id_name": "UCSFD00005 / UCSF Department of Psychiatry",
"invoice_due_date": "11 Sep 2016"
}
}
Without a schemaPages: 1Language: ENPDF with a text layer

We blacked out the names of private persons. Nothing is uploaded: the demo replays the stored result.

Two ways to shape the JSON

Your schema, or none at all.

The same document can come back in the fields you defined, or in the fields it has. Pick per upload, per e-mail address or per API call.

With a category

Name the fields you need once, or start from a built-in category such as Invoice or Contract. Every document of that kind comes back in the same shape, with ISO dates and plain numbers.

  • invoice_number
  • invoice_date
  • seller_info
  • line_items
  • total_due
  • currency

Built-in categories for invoices, receipts, contracts, IDs and more; your own for everything else.

Without a schema

Send the document without a category and get every field Parsevix finds, named with the document's own labels and in its language, values as printed. The demo above works this way.

{
"company_name": "SHIEKH SHOES LLC",
"street_address": "2039 Westminster mall",
"city_postal_code": "Westminster, CA 92683",
"phone_number": "714-899-4822",
"receipt_number": "A18385",
…
}

The start of the shoe-shop receipt's result, as it came back.

How a PDF is read

Every page, every line.

PDFs come from accounting systems, scanners and e-mail attachments, with and without a text layer. Parsevix treats them all the same way.

01

Every page read as an image

Parsevix renders each page and reads it with OCR, even when the PDF has a text layer, so text in stamps, scanned pages and embedded images is read too. The language is detected on every page, and the lines go to the extraction in reading order.

  • 02

    Tables become lists

    Rows of a table come back as a list, one item per row, also when the table continues on the next page.

  • 03

    Long documents in one go

    A PDF of up to 30 pages is read and extracted as one document, so totals and line items from different pages end up in one result.

  • 04

    Many languages and scripts

    Latin, Cyrillic, Greek, Arabic, Chinese, Japanese and Korean script among others; the language is detected on every page.

  • 05

    Personal data masked

    Names, addresses and numbers are masked automatically before any text goes to the AI model and put back in your result. Detection catches most personal data, not necessarily every item.

  • 06

    Every value linked to its page

    Each value is linked to the spot on the page it came from. Click it in the dashboard to see where it was printed.

  • 07

    PDFs from your inbox

    Forward e-mails with PDF attachments to your project's address, and each attachment becomes a document.

How PDFs get in

Upload them, forward them or send them from your system.

Dashboard

Drop PDFs into the dashboard, one at a time or many at once. Check each result next to its pages and approve it.

E-mail address

Paid plans

Every project gets its own address. Forward PDFs to it, and each attachment becomes a document.

API

Send PDFs from your own system and get the JSON in the same response, or receive results by signed webhook or through Zapier.

Request

curl https://parsevix.com/api/v1/extract-auto \
  -H "X-API-Key: $PARSEVIX_API_KEY" \
  -F file=@invoice.pdf

The request stays open until the document is read and answers with the JSON.

  • POST /documentsUpload without waiting; the result arrives by webhook or callback.
  • POST /extract-autoNo category: every field Parsevix finds, named as in the document.
  • POST /classifyOnly the document's category, for 1 credit.
Full API reference

Response · trimmed

{
"status": "Completed",
"processingMode": "auto-entity",
"pageCount": 1,
"language": "en",
"extracted": {
"company_name": "Wolters Kluwer",
"division": "Lippincott",
"document_type": "INVOICE",
"company_details": {
"address": "351 West Camden Street, Baltimore MD 21201",
"fax": "(301) 223-2410",
"billing_inquiries": "(800) 341-2258",
"fein": "132932696",
"gst": "895524239"
},
…
},
…
}

Security & compliance

  • PII maskedautomatically, before the AI step
  • Encryptedin transit and at rest
  • No AI trainingon your documents
  • API files deletedafter processing

Priced per page, not per feature.

Every plan reads, sorts and masks documents the same way. Picking the category is included, and a document that fails costs nothing.

See pricing
credit per page
1
free pages every month
20
a month for 500 pages
$39

PDF to JSON FAQ

PDF to JSON,
answered.

What people ask before they convert their first PDFs.

Still have a question?

Write to us. A person reads every message.

Up to 10 MB and 30 pages per file. A longer PDF has to be split into files, and each part comes back as a result of its own.

Yes. Every page is read as an image, so a scan without a text layer is read the same way as a PDF straight from an accounting system.

A PDF that needs a password to open can't be read and fails with a clear error. Remove the password, then upload it again.

Yes. A Word file (DOCX) is turned into a PDF first and then read like any other PDF.

One credit per page: a ten-page PDF uses ten. Choosing the category is included, and if a document fails, its credits are given back.

PDFs uploaded in the dashboard or sent by e-mail stay in your project until you delete them. Files sent through the API are deleted after processing unless you turn on keeping them for the project. Your documents are never used to train AI.