Synchronous parsing
POST /v1/parse returns the text, the per-page detail and the verdict in one call.
Every paid plan has the whole API: synchronous parsing, the batch queue, job polling, the validation layer, metrics, and as many API keys as you want to issue. What changes is how many credits you get a month, and which of the expensive options you can spend them on.
€ 0
per month · no card
50 credits / month
Enough to run a stack of your own documents through and see what comes back.
€ 5
per month
500 credits / month
One workflow in production — a supplier inbox, a contract pile, a form queue.
€ 10
per month
1,500 credits / month
A month of invoices, with room for the scans that need the model.
€ 25
per month
5,000 credits / month
Several pipelines at volume, with a separate key for each of them.
Prices exclude VAT. VAT is added where it is due, and shown before you confirm.
Every paid plan reaches the same endpoints and gets the same response body. Nothing in the pipeline is held back for a higher tier — the validation layer runs on Plus exactly as it runs on Max, because a validation layer you have to pay extra for is a validation layer nobody switches on. What the plans change is how many credits you get, and whether you can ask for the quality tier and a second pass. The free plan has no API access.
POST /v1/parse returns the text, the per-page detail and the verdict in one call.
POST /v1/parse/batch answers 202 with a job id; poll GET /v1/jobs/<id> until it is done.
Arithmetic reconciliation, IBAN and VAT-ID checksums, date sanity, and the tri-state verdict — on every parse, on every plan.
GET /v1/metrics reports your escalation rate, the reasons, and cost per page. Your bill is explainable page by page.
Issue one per environment, revoke any of them instantly. Keys are shown once and stored only as a hash.
Delete a document's history whenever you like; closing the account erases the jobs and sessions with it.
| Plan | Monthly | Credits | Per credit | API | Quality tier | Second pass | Keeps text up to |
|---|---|---|---|---|---|---|---|
| Free | € 0 | 50 | — | — | — | 1 a week | 1 day |
| Plus | € 5 | 500 | €0.0100 | Included | Included | 25 a week | 7 days |
| Pro | € 10 | 1,500 | €0.0067 | Included | Included | No limit | 30 days |
| Max | € 25 | 5,000 | €0.0050 | Included | Included | No limit | 90 days |
What a credit is. One page, parsed the usual way: we read the embedded text if the PDF has any, and run OCR if it does not. A page you send to the quality tier costs 3 credits, because it goes to our OCR provider whether or not it needed to. A second pass adds 2 credits a page on top. Nothing else is charged — you are not billed for keys, seats, or a document we could not read.
Limits that apply on every plan. PDF only, up to
25 MB and 50 pages per document. A larger file
is rejected with 413 and a longer document with
422, both naming the limit they hit rather than
failing silently.
One page of one PDF, counted when we parse it — not per API call and not per field. A 12-page document is 12 pages whether you send it to /v1/parse or the batch queue. Pages are counted per calendar month and your running total is on your dashboard.
No. Escalation is our cost problem, not your line item. It is reported to you anyway — escalated_pages, escalation_rate and the reason for each one come back in every response, so you can see exactly which of your documents are expensive to read and fix them at the scanner.
We get in touch about moving you up a plan. We do not cut you off mid-month and then tell you about it, because the first thing you would learn is that your invoice pipeline stopped on a Friday afternoon.
PDF, up to 25 MB and 50 pages. Not images, not Word, not scans-in-a-zip. We check the file's magic bytes rather than its extension or its declared content type, so a renamed .pdf is rejected at the door with a 415.
We do not train models. We do not have any of our own — the pipeline is a PDF text layer, Tesseract, and a hosted model for the pages neither can read. What that hosted provider retains, and for how long, is stated in full on the security page: 30 rolling days for abuse monitoring, with zero-retention gated to their own top plan.
You still get the parse. verified comes back false, and the failing checks come back with a sentence naming what was found and what was expected, plus the exact source text the verdict rests on. Nothing is rejected on your behalf — you decide what a mismatch means for your workflow.
Any time, from the dashboard, effective at the end of the period you have paid for. No call, no retention offer, no form that has to be posted. Closing the account erases your jobs and sessions with it.
Not a contractual one, and we are not going to print an uptime percentage we have not measured over a meaningful window. What we will tell you is the architecture: one server in Germany, no CDN, TLS terminated on the box, and a health endpoint you are welcome to monitor yourself. If you need a signed availability commitment, write to us and say what you need — that is a conversation, not a checkbox.
50 credits a month, no card. Sign in and send your worst scan at it.