SchemaExtractSchemaExtract home

Accounts payable · schema extraction

Invoice to JSON API — free, no card

Turn a supplier PDF or photo into vendor, invoice number, date, currency, total, and line items — against a schema you control.

Why this page exists

AP teams still re-type invoices into ERPs. SchemaExtract fills a JSON contract from the document so you can post, match, or store without a custom model.

Default invoice schema

  • vendor
  • invoice_number
  • date
  • currency
  • total
  • line_items
{
  "type": "object",
  "properties": {
    "vendor": {
      "type": "string"
    },
    "invoice_number": {
      "type": "string"
    },
    "date": {
      "type": "string",
      "format": "date"
    },
    "currency": {
      "type": "string"
    },
    "total": {
      "type": "number"
    },
    "line_items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "quantity": {
            "type": "number"
          },
          "unit_price": {
            "type": "number"
          },
          "amount": {
            "type": "number"
          }
        }
      }
    }
  }
}

Call the API

curl -sS -X POST https://schemaextract.shop/v1/extract \
  -F "preset=invoice" \
  -F "file=@invoice-acme.pdf"

Self-serve. No sales call. Same path as the playground. Slow models: POST /v1/extract/jobs.

Questions

What invoice fields are extracted?
The invoice preset returns vendor, invoice_number, date, currency, total, and line_items (description, quantity, unit_price, amount). You can replace the schema with your own keys.
Does the invoice extraction API require a paid OpenAI key?
No. Point OPENAI_BASE_URL at OpenRouter (the default) and use a free model id. Local Ollama also works. Paid cloud keys are optional.
Can I try invoice extraction without a credit card?
Yes. The free playground runs 20 extracts per month with no card. Open the extractor and drop a PDF or use the Acme sample.