Turn a photo of a passport, national ID card, or driving licence into structured JSON. Name, document number, date of birth, issue and expiry dates, nationality, and both MRZ lines come back typed. It reads the fields printed on the document - it does not perform identity verification, liveness, or fraud checks.
Send the image and a schema. Every field on the data page comes back typed, including both machine-readable zone lines, so you can run your own check-digit validation.
curl -X POST \
https://api-parse.conversiontools.io/v1/extract \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@passport.jpg" \
-F 'schema={
"document_type": "string",
"document_number": "string",
"surname": "string",
"given_names": "string",
"date_of_birth": "date",
"sex": "string",
"nationality": "string",
"issuing_country": "string",
"issue_date": "date",
"expiry_date": "date",
"mrz_line1": "string",
"mrz_line2": "string",
"address": "string"
}'{
"status": "completed",
"pages": 1,
"data": {
"document_type": "passport",
"document_number": "ZC4187206",
"surname": "OKONKWO",
"given_names": "AMARA JOY",
"date_of_birth": "1991-04-17",
"sex": "F",
"nationality": "NLD",
"issuing_country": "NLD",
"issue_date": "2022-08-30",
"expiry_date": "2032-08-29",
"mrz_line1": "P<NLDOKONKWO<<AMARA<JOY<<<<<<<<<<<<<<<<<<<<<",
"mrz_line2": "ZC41872061NLD9104172F3208294<<<<<<<<<<<<<<06",
"address": null
}
}Sign-up stalls the moment a person has to retype thirteen fields from a phone photo.
A new customer uploads a photo of their document and the fields land in your form pre-filled. The reviewer confirms instead of transcribing, which is where most of the drop-off and most of the typos come from.
issue_date and expiry_date come back as real dates, so re-verification reminders and expired-document reports fall out of a query instead of a spreadsheet.
OCR is applied automatically, so angled, cropped, and glare-affected photos are read the same way as a clean scan. No per-country template to maintain.
Passports, national ID cards, residence permits, and driving licences. The API is schema-driven rather than template-based, so a layout it has not seen before is handled by describing the fields you want.
Yes. Both MRZ lines are returned exactly as printed, as raw strings. You can run your own check-digit validation against them and compare the result with the visually printed fields.
No. Parse extracts the fields that appear on the document and nothing more. There is no identity verification, no liveness check, and no forgery or tamper detection. If you need those, run it alongside a dedicated verification provider.
They come back null. A passport has no address line and many ID cards carry no MRZ, so the missing keys stay empty instead of being filled with a guess.
Uploaded documents are deleted automatically within 24 hours. Extracted data is encrypted in transit and at rest and is never used to train models.
The same schema-driven API works across every document type. Define a schema once, extract from thousands of files.
Extract structured JSON from any document with custom schemas.
Parse any PDF into structured JSON, scanned or digital.
Vendor, line items, totals, tax, and dates from invoices.
Store, items, totals, and payment method from receipts.
PO number, vendor, buyer, and SKU-level line items.
Transactions, running balances, and dates for reconciliation.
Box-level data from W-2, 1099, and other tax forms.
Parties, dates, governing law, and key clauses.
Carrier, parties, ports, containers, and cargo.
Credit amounts matched back to the original invoice.
Payments split across invoices for cash application.
Meter readings, charges, and totals from any provider.
Line items and periods from balance sheets and reports.
Vendor quotes in one shape so you can compare them.
Earnings, deductions, taxes, and year-to-date totals.
Experience, education, and skills from any CV layout.
Rent, term, deposits, and renewal deadlines.
Claim and policy numbers, dates, and claimed amounts.
Packages and SKU-level lines for receiving.
Ordered versus delivered quantities and sign-off.
Free tier covers your first 100 pages a month. No credit card to start.