A REST invoice OCR API that turns PDF and scanned invoices into structured JSON your code can use. Send a file, get back vendor, invoice number, dates, tax, totals, and full line items. Built for US developers and finance engineering teams automating accounts payable.
Upload your receipts and invoices
Drop files here or click to upload
Up to 50 files
Free to try, no account needed to start
Uploading...
Every vendor sends a different layout, scanned bills break regex and template parsers, and maintaining one rule per supplier turns into a permanent engineering tax. An invoice OCR API moves that work off your roadmap.
Template and regex parsers shatter the moment a supplier moves a field or changes its invoice design, so your team is forever patching extraction rules.
Native PDF text parsing fails on scans and phone photos, which is most of what real US vendors actually send.
Capturing a clean header is easy. Pulling complete, correctly aligned line-item tables across hundreds of layouts is where home-grown parsers fall down.
An in-house OCR pipeline needs models, infrastructure, and constant tuning. An API gives you the result without owning the stack.
The InvoicesOCR API exposes a few REST endpoints: upload a document, run extraction, and fetch structured results as JSON. AI layout detection reads any invoice format, so you integrate once instead of writing a parser per vendor.
POST a file to upload, trigger extraction, then GET structured results. Standard HTTP, standard status codes, predictable JSON.
Every response returns typed fields (vendor, number, dates, tax, totals) plus a line-item array your code can map straight to your schema.
The same endpoint handles PDFs, scans, and photos from any vendor without per-supplier configuration.
Authenticate each call with a bearer token created in your dashboard. Rotate or revoke tokens whenever you need to.
Call the API per document in a loop or queue to process dozens or thousands of invoices through your own pipeline.
Uploads are encrypted in transit and at rest, processed per account, and deleted automatically after extraction.
From an API token to structured invoice JSON in a single request flow.
Generate a personal API token in your dashboard and send it as an Authorization: Bearer header on every request.
Tip: API access is available on Pro plans.
POST the invoice file to the upload endpoint, then call the extract endpoint to run OCR and AI field detection on it.
GET the extraction by its hash to receive clean JSON with header fields and line items, ready to store or export to CSV.
Tip: Query the document types endpoint to see supported formats.
Engineering and finance teams use the API to remove manual invoice keying from the products and workflows they already run.
Add invoice capture to your own accounting, spend, or expense product.
Read and code invoices the moment they arrive, straight into your AP pipeline.
Replace fragile screen-scraping steps with a single structured API call.
Feed clean invoice records into a warehouse, ledger, or ERP without manual entry.
The InvoicesOCR API keeps the surface area small on purpose. You POST a file to /api/documents/upload, call /api/documents/extract to run extraction, and then GET /api/documents/extraction/{hash} to retrieve the structured result. A /api/documents/types endpoint tells you which document and file types are supported. Every call carries your token in an Authorization: Bearer header, so authentication is the same across the whole API.
The result payload is JSON. Header fields come back as named keys (vendor, invoice number, invoice date, due date, purchase order, subtotal, tax, total), and line items come back as an array of objects with description, quantity, unit price, and amount. Because it is structured rather than raw text, you can write it straight into your database or transform it into a CSV that imports into QuickBooks Online, Xero, NetSuite, or Sage. For the exact invoice to JSON schema, including the line_items array shape, see the converter page.
Teams reach for an invoice OCR API once they realize per-vendor parsing never finishes. A new supplier, a redesigned template, or a batch of scanned bills sends you back into the parser. Because this API pairs OCR with AI layout detection, one integration handles the long tail of formats US businesses actually receive, and accuracy on clear invoices lands in the high-90s for header fields. You own the workflow; you do not own the OCR stack.
Want to see the output before you write a line of code? Upload an invoice with the converter at the top of this page. The structured fields you get back are the same data the API returns as JSON.
An invoice OCR API is a web service that reads PDF or scanned invoices and returns their data as structured JSON. Instead of building your own parser, you send a file to an endpoint and get back vendor, invoice number, dates, tax, totals, and line items that your application can store or export.
You upload an invoice file to the API, it runs OCR to read the text and AI to detect which value is the vendor, total, tax, or a line item, and then it returns structured JSON. With InvoicesOCR you POST the file to the upload endpoint, call extract, and GET the result by its hash, authenticating each call with a bearer token.
Modern invoice OCR APIs reach about 98 to 99% accuracy on clear header fields like vendor, invoice number, and total, and roughly 95 to 97% on complex line-item tables. Accuracy depends on scan quality and layout, so good APIs validate totals and let you review fields before you commit the data downstream.
The API extracts header fields including vendor name, invoice number, invoice date, due date, purchase order number, subtotal, tax, and total, plus a full line-item array with description, quantity, unit price, and amount. Each field comes back as a typed value in JSON so you can map it directly to your schema.
The API accepts PDF invoices (both native and scanned) and image formats such as JPG and PNG, including multi-page files and phone photos. You can call the document types endpoint to confirm the supported formats programmatically before you upload.
Create a personal API token in your InvoicesOCR dashboard and include it on every request as an Authorization: Bearer header. Tokens can be rotated or revoked at any time, so you can scope access per environment or per integration without sharing account credentials.
Yes. Every extraction response is JSON, with named keys for header fields and an array for line items. Because the output is structured rather than raw OCR text, you can write it straight into a database or transform it into CSV for QuickBooks, Xero, or NetSuite imports.
Yes. The API is per-document, so you process batches by calling it in a loop or from a queue, which lets you run dozens or thousands of invoices through your own pipeline with your own concurrency and retry logic. This is how teams fold invoice capture into automated accounts payable.
API access is included with InvoicesOCR Pro plans, which gives you token creation and the extraction endpoints. You can test the underlying extraction for free using the converter on the site before upgrading, so you confirm the output quality on your own invoices first.
Yes. Files are encrypted in transit and at rest, processed in isolation per account, and deleted automatically after extraction. Access is controlled by bearer tokens you can revoke, so sensitive vendor and financial data is never shared and does not linger on the service.