Logo
POST /api/pdf/einvoice/read

ZUGFeRD & XRechnung Reader API

Send the URL of a ZUGFeRD, Factur-X or XRechnung PDF and get the invoice back as JSON — parties, lines, VAT breakdown and totals, plus the XML.

  • Free plan
  • No credit card

Request

curl -X POST https://apdf.io/api/pdf/einvoice/read \
  -H "Authorization: Bearer TOKEN" \
  -d file="FILE_URL"

The data inside.
Ready to book.

Every e-invoice carries its data as XML behind the pages. You get it as JSON, with no line typed off the page.

invoice-RE-2026-0042.pdf EN 16931 · example
Acme GmbH · Invoice RE-2026-0042
factur-x.xml
factur-x.xml
1 <ram:ID>RE-2026-0042</ram:ID>
2 <udt:DateTimeString format="102">20261111</udt:DateTimeString>
3 <ram:TypeCode>58</ram:TypeCode>
4 <ram:DuePayableAmount>1148.29</ram:DuePayableAmount>
response
1 number "RE-2026-0042"
2 issue_date "2026-11-11"
3 payment.method "credit_transfer"
4 totals.amount_due 1148.29
Codes and date formats of the standard come back as plain names and ISO dates.
What you get back
level
The profile, from MINIMUM to XRECHNUNG
invoice
Number, dates, references and notes
seller
Name, VAT ID, address and contact
lines
Quantity, price, VAT and amount
totals
Net, VAT, gross and amount due
xml
The embedded XML as it is

No more typing invoices.

Incoming e-invoices already hold their data. Read it instead of copying it from the page.

Book incoming invoices

Read the invoices suppliers send by email or upload and post them to your accounting as they arrive.

Match purchase orders

Compare the order reference, lines and totals with your orders before an invoice gets approved.

Prepare payments

Take the IBAN, payment reference, due date and amount due straight into your next payment run.

Brief an AI agent

Give an agent clean invoice data instead of a PDF, so it can check, sort or answer questions about it.

Read e-invoices from anywhere.

Turn every incoming e-invoice into data your tools can use. One account and one monthly allowance behind every route.

Your code

One authenticated POST from any language. Copy-paste samples in cURL, Node.js, Python and more.

POST /api/pdf/einvoice/read
Open the endpoint docs
Zapier

Pick the action in any Zap and map files from earlier steps. No code and no servers to run.

Get E-Invoice Data
Use it in Zapier
n8n

Add the Apdf node to any workflow, on n8n Cloud or self-hosted, and chain it with your automation.

Read electronic invoice
Use it in n8n
AI agents

Let Claude, ChatGPT, Gemini or your own agent run it through the MCP server, on any paid plan.

read-e-invoice
See what agents can do

1,000 e-invoice reads
a month. Free.

Start on the free plan and move up only when your volume does — up to 1,000,000 operations a month on Business.

  • One call is one operation, however many pages.
  • Only calls that do the work are counted.
  • Hard limits, so no surprise overage charges.
Plan PDF operations / month
Hobby Free
$0 / month
1,000
Pro
$39–$99 / month
20,000 – 60,000
Business
$149–$899 / month
100,000 – 1,000,000

Reading e-invoices, answered

PDFs with an embedded ZUGFeRD 2, Factur-X or XRechnung invoice, in every profile from MINIMUM to EXTENDED and XRECHNUNG. An XRechnung sent as a plain XML file, without a PDF, is not supported.
You get a 422 response saying the PDF contains no e-invoice, or that its embedded XML is no invoice. The printed text of a regular PDF invoice can still be read with the text extraction API.
No, the data comes back the way the invoice states it, totals included. To check an e-invoice against the rules of its profile, use the validation API.
The fields have the same names the create API takes, so what you read maps straight onto a new invoice, like a credit note that refers back to it.
Send async=1 and you get a job ID back right away. Check it on the job status endpoint, or pass a webhook_url and the invoice data is posted to you when it is ready.
After the API call

Your code made the PDF.
Then it went dark.

Opened, read, signed or ignored — you never see any of it. Send the PDFs you generate as personal links, and every open, page read, comment and signature comes back to your software as a webhook. Need it signed? Same link. Same account, same API key, one more call.

Your PDF, after sending Live
document:loaded CFO
page:read p4 · 38s
signature:signed 11:48

API · Webhook · MCP

Book invoices
without typing.