⚡ Live: run the browser demo for proof-of-fit, then unlock a production API key immediately after checkout.
⚡ API beta — json-first invoice extraction

Invoice PDF → structured JSON
in one API call

Built for recurring invoice workflows where line items, dates, totals, and supplier fields need to land cleanly in your app or automation. Start in the browser for proof, then switch to API for live volume.

Start Developer Plan — £29/mo → Try Browser Demo First
POST /extract
# Extract data from an invoice PDF
curl -X POST https://your-api-base.example/extract \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file=@invoice.pdf"

# Response
{
  "success": true,
  "data": {
    "vendor": { "name": "Acme Corp", "address": "123 Business St" },
    "invoice_number": "INV-2026-0042",
    "invoice_date": "2026-04-01",
    "due_date": "2026-05-01",
    "line_items": [
      { "description": "Widget Pro", "qty": 10, "unit_price": 45.00, "amount": 450.00 },
      { "description": "Setup Fee", "qty": 1, "unit_price": 150.00, "amount": 150.00 }
    ],
    "subtotal": 600.00,
    "tax": 120.00,
    "total": 720.00,
    "currency": "GBP"
  }
}
📄

Any invoice format

Handles scanned PDFs, digital PDFs, purchase orders, receipts, and credit notes. OCR built in.

Fast extraction

Built for fast extraction workflows and batch-friendly backend integration.

🔒

Privacy-first handling

Built for minimal document retention. Start with the browser demo, then switch to a paid key when the output fits your invoice layout.

🎯

Built for common invoice formats

Designed for common invoice layouts with structured field output that can be checked before downstream automation.

🔗

JSON-first output

Structured JSON responses make it easy to plug into scripts, spreadsheets, and app backends.

📊

Multiple outputs

Get JSON, CSV, or Excel output. Map directly to QuickBooks, Xero, or Sage formats.

Extracted fields

Every invoice returns structured, validated data

  • vendor.name string
  • vendor.address string | null
  • vendor.tax_id string | null
  • invoice_number string
  • invoice_date ISO 8601 date
  • due_date ISO 8601 date | null
  • po_number string | null
  • line_items[] array
  • line_items[].description string
  • line_items[].quantity number
  • line_items[].unit_price number
  • line_items[].amount number
  • subtotal number
  • tax number
  • total number
  • currency ISO 4217 code

Error handling

Clear, actionable error responses

HTTP 401
{
  "error": "API key required",
  "hint": "Pass your key as X-API-Key header",
  "docs": "https://useful-patch.com/api"
}

HTTP 429
{
  "error": "Rate limit exceeded",
  "retry_after": 30,
  "limit": "100/min"
}

HTTP status codes

  • 200 Success
  • 400 Invalid PDF or bad request
  • 401 Missing API key
  • 403 Invalid API key
  • 413 File too large (max 10MB)
  • 429 Rate limit exceeded
  • 500 Server error

Simple, predictable pricing

Start free. Scale when you're ready. No surprise charges.

Browser Demo

For proof-of-fit before API wiring

£0 /free

No signup and no API key required

  • Upload one invoice in the browser
  • Check output shape before integration
  • Fastest way to validate vendor layout fit
  • Switch to API when ready for recurring volume
Try Browser Demo →

Business

For high-volume processing

£99 /mo

Cancel anytime

  • 1,000 extractions per month
  • Batch upload (up to 50 files)
  • JSON + CSV + Excel output
  • Priority email support (4h SLA)
  • Webhook notifications
  • Custom field mapping
  • Priority support during beta
Subscribe — £99/mo →

Questions

What invoice formats do you support?

Any PDF invoice — digital (text-based) or scanned (image-based). We use OCR for scanned documents. We also handle purchase orders, credit notes, and receipts.

How accurate is the extraction?

Works best on common invoice formats. For important workflows, review extracted fields before fully automating downstream actions.

What happens to my data?

The service is built for extraction rather than storage. During beta, avoid treating it as archival storage for sensitive documents.

Can I try it before buying?

Yes — use the browser demo first for a quick proof-of-fit with your invoice layout.

How do I get my API key?

Pick a paid plan and complete checkout. Your production key is shown right after payment on the secure success page.

What if I need more than 1,000 extractions?

Higher-volume and custom plans are being handled manually during beta.

Prove fit, then go live

Test one invoice in the browser first. If output looks right, start the Developer plan and use your production key immediately.

Not ready for a recurring API plan? Get the Invoice Automation Playbook (£19) and build the workflow first with Zapier, n8n, Python, and Apps Script templates.