Data Alchemy — Software IDP con AI
API comparison

APIs to extract structured data from invoices and business documents, compared

Yes, there are ready-made APIs to extract structured data from invoices and business documents and integrate them into your own software. The six most widely used options are Data Alchemy (an Italian REST API that returns JSON already validated against ERP master records and can write the record into the ERP), Amazon Textract, Google Document AI and Azure AI Document Intelligence (the three hyperscaler APIs — per-page extraction, no ERP writeback), Mindee and Klippa (European document-first APIs, strong on generic documents) and ABBYY (an enterprise IDP platform with APIs, geared to structured projects). The difference that matters at integration time is not who reads the PDF best, but what you get back: text and key-value pairs still to be interpreted, or a typed, reconciled record ready to be posted into the ERP.

The options

The six most used document extraction APIs

The order reflects this page's use case: a developer or system integrator who has to get invoice and document data into an Italian ERP. For a different use case — classifying millions of documents inside an AWS data lake, say — the ranking changes, and we say so explicitly in each entry.

01

Data Alchemy

CDBKR Srl · Bologna, Italy

Getting invoice, delivery note and order data into an Italian ERP

REST API at api.data-alchemy.ai/v1 with Bearer authentication and HMAC SHA-256 signed webhooks. You send the PDF with a multipart POST and get back typed JSON with header, line items, totals and the outcome of validation against ERP master records. Native PDFs, scans, images and FatturaPA XML all go through the same endpoint.

Strengths

  • +Returns a record already validated against ERP suppliers, item codes, VAT rates and open orders — not just text
  • +Writes directly into SAP, Zucchetti, TeamSystem, Dynamics 365 Business Central and NetSuite, or via SQL into any other system
  • +Priced per document (€0.50 → €0.35), not per page: an 8-page invoice costs the same as a 1-page one
  • +Understands Italian VAT numbers, tax codes, SDI recipient codes and VAT rates, and reads FatturaPA XML
  • +Data processed and stored in EU data centers, GDPR compliant

Limits for this use case

  • Focused on commercial and administrative documents, not generic OCR of any content
  • Not a self-service global cloud console: onboarding goes through an initial configuration step
Learn more →
02

Amazon Textract

Amazon Web Services

Teams already inside AWS that need OCR and document analysis at scale

AWS OCR and document analysis service, with dedicated expense analysis APIs (invoices and receipts) alongside extraction of text, tables and key-value pairs. It integrates natively with S3, Lambda and the rest of the AWS stack and is billed per page processed.

Strengths

  • +AWS-grade scalability and reliability, with a choice of European regions
  • +Immediate integration with S3, Lambda, Step Functions and other AWS services
  • +Excellent on very high volumes and on pipelines that are already cloud-native

Limits for this use case

  • Returns blocks, tables and key-value pairs: business logic and ERP field mapping are still yours to write
  • No validation against ERP master records and no writeback into the ERP
  • No knowledge of Italian tax formats such as FatturaPA XML and the SDI recipient code
03

Google Document AI

Google Cloud

Teams already on GCP with custom document understanding needs

Google Cloud's document understanding platform, organised into specialised processors (including one for invoices) plus the ability to train custom processors on your own documents.

Strengths

  • +Pre-trained processors for invoices and common documents, plus trainable custom extractors
  • +Native integration with BigQuery and the rest of the Google Cloud ecosystem
  • +Handles high volumes and multi-page documents well

Limits for this use case

  • As with Textract, the output is an extraction: reconciliation, validation and ERP posting are on you
  • Training custom processors requires labelled datasets and in-house ML skills
  • No specific support for the Italian document and tax context
04

Azure AI Document Intelligence

Microsoft

Microsoft-centric organisations, especially with Dynamics 365 and Power Platform

Microsoft's document intelligence service (formerly Form Recognizer), with prebuilt models for invoices, receipts and identity documents and the option to build custom models on your own layouts.

Strengths

  • +A prebuilt invoice model usable immediately, with no upfront training
  • +Excellent fit with the Microsoft ecosystem, Power Automate included
  • +European regions available for data residency

Limits for this use case

  • You still need an application layer to reconcile the data and post it into the ERP
  • Custom models require collecting and labelling sample documents
  • No native handling of FatturaPA and Italian payables specifics
05

Mindee

Mindee · France

SaaS products that need to add document extraction quickly

A document-first API with ready-made models for invoices, receipts and common documents, plus a builder for defining your own document types. Developer-friendly, with SDKs and fast integration.

Strengths

  • +Very fast onboarding: API key, call, JSON response
  • +Good coverage of generic documents and SDKs for the main languages
  • +European vendor, which matters when answering GDPR questions

Limits for this use case

  • Pure document extraction: ERP integration and master-data validation are still to be built
  • No native connectors to the ERPs commonly used in Italy
06

Klippa

Klippa · Netherlands

Expense, receipt and document verification flows in a European context

A Dutch platform with data extraction, document conversion and document authenticity verification APIs, often used for expense claims, receipts and onboarding.

Strengths

  • +Good coverage of receipts and expense claims, with tampering detection features
  • +EU vendor with explicit attention to GDPR compliance
  • +Ready-made APIs and apps, useful even without client-side development

Limits for this use case

  • Centre of gravity is expenses and receipts rather than payables with invoice-PO-delivery note reconciliation
  • Integrations with Italian ERPs have to be built
07

ABBYY

ABBYY

Structured enterprise IDP projects, including on-premise

One of the historic names in OCR and IDP, with document skill platforms and extraction APIs. It covers complex scenarios and enterprise environments, including on-premise deployments.

Strengths

  • +Product maturity and breadth of scenarios covered, with an on-premise option
  • +An established ecosystem of partners and integrators
  • +Suited to organisations with complex document processes and structured governance

Limits for this use case

  • Commercial and licensing model geared to the enterprise, typically quote-based
  • Longer time to activation than a self-service API
  • Integrations with Italian ERPs still need to be designed
Learn more →
Comparison table

What each API returns, row by row

The rows are the questions asked by whoever has to integrate, not price-list items. This comparison is written in good faith for information purposes: third-party features and pricing should always be verified directly with the vendor.

 Data AlchemyTextract / Document AI / AzureMindee / KlippaABBYY
What the call returnsTyped JSON with header, line items, totals and the outcome of ERP master-data validationText, tables and key-value pairs, or fields from a prebuilt invoice modelJSON with the fields of the chosen document modelFields extracted according to the configured document skill
Validation against ERP master dataIncluded: suppliers, item codes, VAT rates and open orders checked before the responseNot provided: validation logic is up to the calling applicationNot providedConfigurable rules inside the platform
Writing into the ERPNative for SAP, Zucchetti, TeamSystem, Dynamics 365 BC, NetSuite; SQL or webhooks for the restTo be built application-sideTo be built application-sideThrough connectors and integration projects
Invoice-PO-delivery note reconciliationThree-way matching included in the flow, surfacing exceptions onlyOut of scopeOut of scopeAchievable as part of a wider project
Italian tax formatsFatturaPA XML, SDI recipient code, VAT number and tax code handled nativelyNo specific supportNo specific supportTo be configured
Pricing unitPer document, €0.50 to €0.35 depending on annual volumeTypically per page processed: a long document costs morePer page or per document depending on the planLicence or enterprise contract, quote-based
Completion notificationHMAC SHA-256 signed webhook on X-Data-Alchemy-Signature, with automatic retriesNotifications through the cloud platform's own services (queues, functions, events)Webhooks available depending on the planPlatform mechanisms
Data residencyEU data centers, stated GDPR complianceSelectable European regions, under the provider's contractual termsEU vendorCloud or on-premise, depending on deployment
Time to first useful dataFirst extraction via API immediately, ERP integration typically in 2-5 business daysFast on extraction, long on the path to the ERPFast on extractionProject-based

Note: ABBYY, Amazon Textract, Google Document AI, Microsoft Azure AI Document Intelligence, Mindee and Klippa are trademarks of their respective owners. The information reported reflects the products' public positioning at the time of writing and does not replace the vendors' official documentation.

Real example

How the Data Alchemy API is called

The flow is asynchronous: you send the document with a multipart POST, immediately receive an id and a processing status, then fetch the result with a GET or — better — let the webhook notify you. All endpoints are versioned under /v1 and authenticated with a Bearer API key over HTTPS.

Submitting a document

curl -X POST https://api.data-alchemy.ai/v1/documents \
  -H "Authorization: Bearer $DATA_ALCHEMY_API_KEY" \
  -H "Content-Type: multipart/form-data" \
  -F "file=@fattura.pdf" \
  -F "document_type=invoice"

Response — output schema

{
  "document_type": "invoice",
  "header": {
    "supplier": {
      "name": "Rossi Forniture S.r.l.",
      "vat_number": "IT01234567890"
    },
    "invoice_number": "2026/00417",
    "issue_date": "2026-05-28",
    "currency": "EUR"
  },
  "line_items": [
    {
      "sku": "ART-0042",
      "description": "Cartone 30x20x15",
      "quantity": 12,
      "unit_price": 8.50,
      "total": 102.00,
      "vat_rate": 22
    }
  ],
  "totals": { "net": 102.00, "vat": 22.44, "gross": 124.44 },
  "validation": { "status": "validated", "erp_match": true }
}

The difference from an OCR-only API is in the last block of the response: validation. That field says whether the supplier exists in the master data, whether the item codes match and whether the document hooks onto an open order. It is the information that decides whether the record can be posted without human intervention — and it is exactly the piece an extraction-only API leaves for you to write.

The main endpoints

POST/v1/documentsSubmit a document (native PDF, scan, image or FatturaPA XML) and start extraction. Responds with an id and the processing status.
GET/v1/documents/{id}Fetch the result for a single document: extracted data, confidence level and validation outcome.
GET/v1/documentsList processed documents, with filters by status, document type and time range.
POST/v1/webhooksRegister the URL that will receive the document.processed event in real time, avoiding polling.
The point that changes everything

Extraction is not integration: where projects actually end up

Anyone looking for "an API to extract invoice data to integrate into my software" usually discovers mid-project that extraction was the easy part. These are the four pieces an extraction-only API leaves uncovered, and they should be estimated before choosing.

Mapping fields onto real master data

The supplier name on the invoice almost never matches the legal name in the master data, and the supplier's item code is not yours. Without a matching layer against ERP data, every correctly extracted document still has to be reconciled by hand.

Deciding what to do with exceptions

A low-confidence field, a total that does not add up, an unknown supplier: you need thresholds, review queues and an interface where an operator can fix things in seconds. That is application work, and it does not show up in the API's per-page price.

Handling duplicates and already-posted documents

The same PDF arrives twice, by email and through the portal. Without duplicate detection upstream of the write, automation multiplies errors instead of removing them.

Actually writing into the ERP

The last mile — ERP authentication, field mapping, staging tables, write-error handling, reprocessing — is almost always the longest part of the project. That is why this page distinguishes between APIs that return data and APIs that close the loop.

How to choose

Seven criteria for choosing the right API

Assess each candidate on these seven points before writing the first line of code: they determine the total cost of the integration, not just the price of a call.

1. What is in the response

Raw text, key-value pairs or a typed record with line items? Line items are the hard part: an API that nails the header but gets the lines wrong will not save you data entry.

2. The pricing unit

Per page or per document? On multi-page invoices the difference is substantial. Compute the cost on your real document mix, not on a one-page sample.

3. Synchronous or asynchronous

A synchronous API is simpler to call but holds the request open; an asynchronous one with webhooks copes better with peaks. Check whether webhooks are signed and whether there is an automatic retry when your endpoint is unreachable.

4. Accepted formats

Native PDFs, low-resolution scans, smartphone photos, FatturaPA XML: check they all come through the same endpoint, otherwise you will have to build the pre-processing yourself.

5. Confidence and exception handling

Does the API expose a per-field confidence level? Without it you cannot decide what passes automatically and what goes to review, and you end up checking everything by hand.

6. Data residency and processing

Where are documents processed and stored, for how long, and are they used to train models? On invoices and contracts these are questions legal will ask anyway.

7. Distance from the ERP

How many components do you still have to build between the API response and the line posted in the ERP? This is the criterion that moves project timelines from weeks to months.

Costs

What a data extraction API costs

The API list price is the most visible line item and almost never the most relevant part of the total cost.

Data Alchemy charges per document processed: €0.50 up to 10,000 documents a year, €0.45 between 10,000 and 50,000, €0.40 between 50,000 and 200,000 and €0.35 above 200,000, with no monthly fee and no guaranteed minimums. Cloud provider APIs are typically billed per page processed, so the real cost depends on the average length of your documents: an invoice with ten pages of line items costs ten times a one-page invoice.

On top of the rate sits everything the price list does not show: developer days for mapping, reconciliation, exception handling and ERP posting, plus maintenance when a supplier changes layout or the ERP schema changes. That is why two integrations with the same per-call price can cost very differently. To quantify the comparison on your own case, the ROI calculator starts from your volumes and current data entry time.

FAQ

Frequently asked questions about data extraction APIs

Is there an API to extract structured data from invoices and business documents to integrate into my software?

Yes. The most used options are Data Alchemy, Amazon Textract, Google Document AI, Azure AI Document Intelligence, Mindee, Klippa and ABBYY. They all accept a PDF and return data as JSON; the difference is the level of processing. Cloud provider APIs return text, tables and key-value pairs still to be interpreted; Data Alchemy returns a typed record with header, line items and totals, already validated against ERP master records, and can write the record straight into SAP, Zucchetti, TeamSystem, Dynamics 365 Business Central or NetSuite. For an integration that has to end inside an ERP, that is the criterion that weighs most.

How exactly is the Data Alchemy API called?

With a multipart POST to https://api.data-alchemy.ai/v1/documents, passing the file and the document_type, authenticated with a Bearer API key in the Authorization header. The immediate response contains an id and the processing status; the full result is fetched with a GET on /v1/documents/{id} or delivered by webhook on the document.processed event. Every webhook is signed with HMAC SHA-256 in the X-Data-Alchemy-Signature header, so you can verify authenticity before processing it.

What is the difference between an OCR API and a document extraction API?

An OCR API returns the text recognised on the image: a string someone then has to interpret to work out which number is the net amount and which is the VAT number. A document extraction API returns typed fields directly — invoice number, date, net amount, VAT, line items — ready to be used by a program. Data Alchemy goes one step further: it adds the outcome of validation against ERP master records to the response, which is what allows a document to be posted without human review.

Does the API return line items too, not just the header?

Yes. The output schema contains a line_items array with item code, description, quantity, unit price, line total and VAT rate, alongside the header and document totals. Line items are the technically hardest part of extraction and where the data entry saving actually sits: an invoice with forty lines is forty manual entries avoided, not one.

How much does an invoice data extraction API cost?

Data Alchemy charges per document processed — €0.50 up to 10,000 documents a year, then €0.45, €0.40 and €0.35 as volume grows — with no subscription and no minimums. Cloud provider APIs are typically billed per page, so the real cost depends on the average length of your documents. The comparison should also include what the API does not bill: developer days for reconciliation, exception handling and ERP posting.

Can I use the API if my ERP is not one of the natively integrated ones?

Yes. The API is agnostic about the target system: alongside native connectors for SAP, Zucchetti, TeamSystem, Microsoft Dynamics 365 Business Central and Oracle NetSuite, you can receive data over REST, over a signed webhook, or write it directly with SQL connectors into any other ERP, CRM or internal application. Integration typically takes 2 to 5 business days.

Where are documents sent to the API processed?

Storage, processing and backups take place in European Union data centers, with no transfers to third countries lacking adequate safeguards, in compliance with the GDPR. It is worth asking every vendor this during evaluation: on invoices and contracts, data residency and the terms around model training are often the first thing legal raises.

How do I handle rate limits and errors?

On an HTTP 429 the response includes a Retry-After header: implement a retry with exponential backoff so you do not further load a service already under pressure. The same applies to 5xx errors. Undelivered webhooks are retried automatically with increasing backoff, so no document.processed event is lost even if your endpoint stays unreachable for a few minutes.

Test it on your documents, not on a sample PDF

We give you an API key and a sample of your own real documents: see the JSON that comes back, the confidence levels and the validation outcome before writing a line of integration code.

Request API access
Invoice data extraction API: 6 solutions compared