Send exactly one of url, text, or file_base64 + mime_type. 1 free call per caller, then $0.0075 USDC per page via x402 (paid in-band: params._meta["x402/payment"]). Invoice or receipt (PDF, PNG/JPEG/WebP image, or plain text) to structured JSON with a fixed schema: vendor (name, address, VAT ID, email, phone, IBAN), customer, invoice number, order number, issue/due date, currency (ISO 4217), subtotal, VAT total, total, amount due, VAT breakdown and line items. Every field has value, the verbatim source quote and a confidence score (0-1: quote found in the document, value matches quote, totals add up). Arithmetic checks included. $0.0075 per page (max 10 pages per call; the 402 quotes pages x $0.0075), 1 free call per caller (up to 3 pages). Runs on Cloudflare Workers AI only (PDF text layer via toMarkdown, OCR for images); documents are not stored. Scanned PDFs without a text layer: send page images. POST JSON {url} or {file_base64, mime_type} or {text}, or POST the raw file (Content-Type application/pdf or image/*); GET ?url= or ?text= also works. When to use: Use invoice-json for invoices and receipts (fixed accounting schema, quotes, arithmetic checks). Use extract-json for any other short text with your own JSON schema. Use page-rag to turn a web page into Markdown for retrieval. Pay by card instead of crypto: put a Gumroad license key from https://freetier.gumroad.com/l/gvyfk in params._meta["x-license-key"] (or HTTP header X-License-Key); 7.5 credits ($0.0075) per page, rounded down per call. Time limit about 22 s per call; on timeout or error nothing is charged or settled.