Any document, into structured data.
Agent-native document parsing. Turn a PDF, scan or invoice into structured JSON or Markdown, billed per page. Built for AI agents and RAG pipelines, specialized on French and EU invoices.
What it does
Send a PDF, scan or image and get clean structured JSON or Markdown back: text, tables and metadata, ready for a RAG pipeline. Two rendering modes, fast for born-digital PDFs and accurate for complex tables and scans.
{ "pages": 3, "output": "markdown", "tables": 2 }
A dedicated endpoint returns a normalized French and EU invoice: SIREN, SIRET, intra-community VAT, invoice number, dates, line items and totals. This is the vertical ParseDoc is built around.
Expand acronyms and complete a parsed document with an AI pass. Usage-based, billed in credits from the same prepaid balance, with the exact price returned in usage.cost_usd.
Pricing
Graduated per-page parsing, a flat premium on invoice extraction, and usage-based AI enrichment. One source of truth, no hidden fees.
For developers
Everything is a plain HTTP call. Authenticate with a Bearer API key, or pay per call with x402 and skip the account entirely.
Parse a document
curl -X POST https://parsedoc.io/v1/parse \
-H "Authorization: Bearer <api_key>" \
-F "file=@invoice.pdf" \
-F "mode=accurate"Extract an invoice (async)
# Invoice extraction is async by design: it returns 202 with a poll_url.
curl -i -X POST https://parsedoc.io/v1/extract/invoice \
-H "Authorization: Bearer <api_key>" \
-F "file=@invoice.pdf"
# Then poll the job until it reaches a terminal status.
curl https://parsedoc.io/v1/jobs/<job_id> \
-H "Authorization: Bearer <api_key>"Pay with x402 (no account)
# No account: the first call returns a 402 challenge.
# Pay with USDC or EURC on Base, then retry the same request with an X-PAYMENT header.
curl -i -X POST https://parsedoc.io/x402/parse \
-F "file=@invoice.pdf"Enrich with AI
# AI enrichment: acronym expansion and text completion, billed in credits.
curl -X POST https://parsedoc.io/v1/enrich \
-H "Authorization: Bearer <api_key>" \
-H "Content-Type: application/json" \
-d '{"text": "The API and the SDK are ready.", "mode": "both", "domain": "software"}'Payment rails
Mollie: sign up with an email, get an API key, then buy prepaid credit packs in EUR (starter, standard or pro). Send the key as a Bearer token.
x402: no account. Call an /x402 endpoint, get a 402 challenge, pay on Base, then retry the same request.
Machine discovery
Privacy
Zero data retention by default. Uploaded files are deleted after processing (one hour TTL at most), no document content is stored in the database or the logs, and processing runs in the EU (RGPD compliant).