LumiParser

Getting Started

Quickstart

Parse your first invoice in under 5 minutes.

1

Get your API key

Sign up for a free account and create an API key from the dashboard. Free accounts include 20 parses per month — no credit card required.

Create free account →

Your API key starts with inv_live_ and is shown once on creation. Store it securely.

2

Make your first request

Upload any invoice PDF or image:

curl -X POST https://api.lumiparser.com/v1/invoices \
  -H "Authorization: Bearer inv_live_YOUR_KEY" \
  -F "file=@invoice.pdf"

Files under 1MB return results immediately. Larger files return a job ID — use webhooks or polling.

3

Read the response

A successful parse returns status: completed with structured data and confidence scores:

{
  "id": "inv_a1b2c3d4e5f6g7h8",
  "status": "completed",
  "parsed": {
    "vendor_name": "Acme Corp",
    "invoice_number": "INV-2024-0042",
    "invoice_date": "2024-01-15",
    "due_date": "2024-02-15",
    "grand_total": 1620.00,
    "currency": "USD",
    "line_items": [
      {
        "description": "Web Development Services",
        "quantity": 10,
        "unit_price": 150.00,
        "total": 1500.00
      }
    ],
    "subtotal": 1500.00,
    "tax_amount": 120.00,
    "tax_rate": 0.08
  },
  "confidence": {
    "vendor_name": 0.99,
    "invoice_number": 0.98,
    "grand_total": 0.97,
    "line_items": 0.94
  },
  "created_at": "2024-01-20T10:30:00Z"
}
4

Handle confidence scores

Use confidence scores to decide how to process results. A common pattern:

const THRESHOLD = 0.85;

const { parsed, confidence } = response;

// Auto-process high-confidence results
if (confidence.grand_total >= THRESHOLD && confidence.vendor_name >= THRESHOLD) {
  await processInvoice(parsed);
} else {
  // Queue for manual review
  await flagForReview(response.id, confidence);
}

The dashboard's Needs Review page automatically shows any document where a core field is below 75%.