Invoice Extraction avatar

Invoice Extraction

Pricing

$10.00 / 1,000 document parseds

Go to Apify Store
Invoice Extraction

Invoice Extraction

Pricing

$10.00 / 1,000 document parseds

Rating

0.0

(0)

Developer

BRAINIALL Team

BRAINIALL Team

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Invoice & Receipt Data Extraction — by Brainiall

Turn page images of invoices, receipts and other business documents into structured JSON candidates for accounting workflows, expense operations, document review and data pipelines.

Give the Actor one or more public PNG, JPG/JPEG or WebP image URLs, choose the document type, and receive one dataset item per image. The structured extraction endpoint accepts an image of a page; it does not accept PDF files.

For a PDF, first render the page you want to extract as PNG, JPG or WebP. If you want the PDF's text rather than structured fields, use the pdf-to-markdown Actor instead.

Extracted values are candidates, not audited facts. Review important financial, legal and operational data before using it in a system of record or making a decision.

What it does

  • Batch page-image parsing — process multiple public HTTP or HTTPS PNG, JPG/JPEG or WebP URLs in one run.
  • Multiple document types — identify an image as invoice, receipt, contract, bank_statement or another type supported by the API.
  • Useful structured output — access extracted candidates directly in top-level fields, with OCR/source text in top-level text; the complete API response remains in extracted_data for compatibility.
  • Confidence visibility — promote an overall confidence value to the top level when the engine supplies one; confidence_available makes absence explicit.
  • Resilient runs — briefly retry rate limits and temporary service failures. Invalid inputs and final failures become uncharged dataset error items instead of ending the whole batch.

Powered by the Brainiall Document engine (api.brainiall.com) — a production document-intelligence service for operational workloads.

Who it's for

  • Finance and accounts-payable teams — create review queues from incoming invoice candidates.
  • Expense operations — turn receipt files into structured candidates for reconciliation.
  • Developers and automation builders — feed document results into databases, webhooks and internal tools without maintaining a parsing stack.
  • Document operations teams — normalize batches of page images for human review.

Why this Actor

The Actor accepts multiple image URLs, limits concurrency, retries short-lived service failures, preserves the full API response and reports bad inputs beside successful ones. A PDF or unsupported file becomes an uncharged dataset error item with next-step guidance; it does not crash the batch. You are charged only for delivered structured results.

Input

{
"documentUrls": [
{ "url": "https://example.com/invoices/invoice-1042-page-1.png" },
{ "url": "https://example.com/invoices/invoice-1043.jpg" }
],
"documentType": "invoice"
}
FieldDescription
documentUrlsPublic HTTP or HTTPS URLs pointing directly to PNG, JPG/JPEG or WebP page images. Each URL produces one dataset item. PDF is not accepted.
documentTypeOne supported type applied to the batch. Common examples are invoice, receipt, contract and bank_statement.

Use separate runs when documents in a batch have different types.

Output

One dataset item is written per input URL. The candidate field values below come from a real invoice extraction; the opaque request ID and raw text are abbreviated. The contents of fields vary by document type and image:

{
"success": true,
"input_index": 0,
"file_url": "https://example.com/invoices/invoice-1042-page-1.png",
"document_type": "invoice",
"image_format": "png",
"request_id": "...",
"fields": {
"invoice_number": "2026-1042",
"vendor_name": "Acme Industrial Ltda",
"issue_date": "2026-08-09",
"currency": "USD",
"total": 1250.0,
"line_items": []
},
"text": "...",
"fields_are_candidates": true,
"confidence": null,
"confidence_available": false,
"extracted_data": {
"request_id": "...",
"doc_type": "invoice",
"fields": {
"invoice_number": "2026-1042",
"vendor_name": "Acme Industrial Ltda",
"issue_date": "2026-08-09",
"currency": "USD",
"total": 1250.0,
"line_items": []
},
"text": "..."
}
}

fields_are_candidates is always true: extracted values are machine-produced candidates, not audited data. The raw extracted text remains available in text. If the engine reports an overall confidence value, it is also promoted to confidence; otherwise confidence is null and confidence_available is false.

Invalid inputs and documents that still fail after retries are returned as uncharged error items:

{
"success": false,
"input_index": 1,
"file_url": "not-a-url",
"document_type": "invoice",
"error": {
"reason": "Document URL must be a valid public HTTP or HTTPS URL."
}
}

A PDF receives a specific, actionable error item:

{
"success": false,
"input_index": 0,
"file_url": "https://example.com/invoice.pdf",
"document_type": "invoice",
"error": {
"reason": "The structured document extractor accepts one page image (PNG, JPG/JPEG, or WebP), not a PDF. Convert the PDF page you want to extract to an image and submit that image URL. If you need the PDF text instead, use the pdf-to-markdown Actor."
}
}

Export the dataset as JSON, CSV or Excel, or consume it through the Apify API.

Pricing

You pay per successfully parsed document through the document-parsed event. Invalid inputs, final failures and documents with no structured candidates are not charged. There is no minimum batch size; cost scales with delivered results.

Tips

  • Use direct public image URLs that can be downloaded without an interactive login.
  • Render each relevant PDF page as PNG, JPG or WebP before structured extraction; one page image is one input item.
  • Group documents by type and use one run per type for clearer, more consistent output.
  • Keep the original files available during the run; short-lived signed URLs must not expire before processing finishes.
  • Treat every extracted value as a candidate and add human review for high-impact fields such as totals, account details and contract terms.

Built and maintained by Brainiall — production AI APIs for speech, documents, vision and the web.