Automate invoice data capture with a single API call. Extract vendor names, invoice numbers, line items, totals, tax amounts, and due dates from any invoice format. No templates, no training data, no manual entry.
Send an invoice to the extraction endpoint with a schema defining the fields you need. Get structured JSON back with vendor details, line items, totals, and dates.
curl -X POST \
https://api-parse.conversiontools.io/v1/extract \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@invoice.pdf" \
-F 'schema={
"vendor": "string",
"invoice_number": "string",
"date": "string",
"due_date": "string",
"subtotal": "number",
"tax": "number",
"total": "number",
"line_items": [{
"description": "string",
"quantity": "number",
"unit_price": "number",
"amount": "number"
}]
}'{
"status": "completed",
"data": {
"vendor": "Acme Corp",
"invoice_number": "INV-2026-0342",
"date": "2026-03-01",
"due_date": "2026-03-31",
"subtotal": 2750.00,
"tax": 522.50,
"total": 3272.50,
"line_items": [
{
"description": "Web development services",
"quantity": 40,
"unit_price": 62.50,
"amount": 2500.00
},
{
"description": "Hosting (March 2026)",
"quantity": 1,
"unit_price": 250.00,
"amount": 250.00
}
]
}
}Three steps to go from a raw invoice to structured data. No templates, no training - the API adapts to any invoice format automatically.
Upload any invoice as a PDF or image to the API endpoint. Works with digital invoices, scanned copies, and photos - any vendor, any layout.
The API understands the invoice layout, identifies vendor details, line items, totals, tax amounts, and dates - matching them to your schema fields.
Receive clean, typed JSON with all invoice fields, or download the same result as a CSV or Excel spreadsheet. Ready for your ERP, accounting system, or accounts payable workflow.
Built for developers who need reliable invoice data extraction without the complexity of traditional OCR pipelines or template-based systems.
No templates or fixed rules. The API adapts to any invoice format - different vendors, languages, and layouts are handled automatically without configuration.
Extracts amounts in any currency - USD, EUR, GBP, JPY, and more. Correctly identifies currency symbols, codes, and decimal formatting across locales.
Accurately extracts individual line items from invoice tables - descriptions, quantities, unit prices, and amounts - regardless of table formatting.
Extracts subtotals, tax amounts, tax rates, discounts, and grand totals. Handles multiple tax lines, VAT, GST, and sales tax across different regions.
Extracts and normalizes invoice dates, due dates, and payment terms. Handles various date formats - MM/DD/YYYY, DD.MM.YYYY, written months, and more.
Process hundreds of invoices programmatically. Use the asynchronous endpoint for large volumes, with webhooks or polling to track extraction progress.
You define the shape once and the API guarantees it on every call. No post-processing, no guessing what the model returned this time.
Define the fields once and every response matches that shape. No null checks for "did the model return a string or an object this time" - the structure is fixed by your schema, not by the document.
Drop one sample invoice in the dashboard and get a full schema built from your own document. Edit it, save it, and reuse it from the API. No hand-writing JSON Schema.
Totals come back as numbers, dates as ISO strings, line items as an array of objects. Values are ready to write straight to your database or ERP, with no parsing layer in between.
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.
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.
Common questions about the invoice extraction API.
Yes. Parse uses AI to understand document context rather than relying on fixed templates. It adapts to different invoice formats, whether they come from a small business, a large enterprise, or an international supplier. No configuration or training is needed for new layouts.
Yes. Parse extracts currency symbols, codes, and amounts from invoices in any currency. Whether the invoice uses USD, EUR, GBP, JPY, or any other currency, the API identifies and returns the correct values along with the currency information.
Define a line_items array in your schema with the fields you need - description, quantity, unit price, amount, tax rate, etc. The API identifies the table structure in the invoice and extracts each row as a separate object in the array, regardless of table formatting or layout.
Yes. Parse is designed for integration into AP workflows. Extract vendor names, invoice numbers, dates, due dates, totals, and line items via the API, then feed the structured JSON directly into your ERP, accounting software, or payment system. You can also download any extraction as a CSV or Excel spreadsheet. The free tier includes 100 pages per month to get started.
Parse uses large language models that understand document context, not just OCR pattern matching. This means it correctly identifies fields even when invoice layouts vary significantly. Accuracy depends on document quality, but structured invoices - both digital and scanned - typically achieve high extraction rates for key fields like totals, dates, and vendor information.
Get your API key and extract data from your first invoice in minutes. 100 pages per month free - no credit card required.
How I prepare my VAT report from a pile of supplier invoices
A founder walkthrough: define the fields once, then turn every supplier PDF invoice into the same structured JSON for a VAT return - no manual re-typing.
Read moreYou Got the Data Out. Why Is It Still a Mess?
Parsing a document is the easy part now. The real work is turning that output into the same clean fields every time - here is the gap that breaks pipelines, and how to close it.
Read more