Turn a receipt, invoice, or order confirmation into a canonical structured purchase record. $0.03 per request.
Send a PDF receipt/invoice/order confirmation. Get back a fixed-shape purchase record — merchant, line items, subtotal/tax/shipping/total, order ID, date, payment method — suitable for an agent's own bookkeeping or reconciliation, independent of the source document's original layout.
| Method | POST |
|---|---|
| Path | /normalize |
| Content-Type | multipart/form-data |
| field | required | description |
|---|---|---|
file | yes | The receipt/invoice PDF, max 10MB |
curl -X POST https://receipt-normalizer.pdfextractapi.workers.dev/normalize \
-F "file=@receipt.pdf"
{
"merchant": { "name": "Acme Supplies Ltd", "url": null },
"order_id": "INV-2041",
"purchase_date": "2026-08-01",
"currency": "GBP",
"line_items": [
{ "description": "Widget A", "quantity": 10, "unit_price": 5.00, "total_price": 50.00 }
],
"subtotal": 100.00,
"tax": 0,
"shipping": 8.00,
"total": 108.00,
"payment_method": null
}
Errors return a non-200 status with { "error": { "code": "...", "message": "..." } }. Common codes: missing_file, file_too_large, invalid_file, corrupted_file, password_protected, no_text_layer (scanned PDFs aren't supported yet).
This endpoint is paid per-request via the x402 protocol (HTTP 402 + USDC). Unpaid requests receive a 402 response with payment instructions.
Upload a receipt PDF below and submit — you'll be prompted to connect a wallet and pay $0.03, then see the result.