dOCR
API ReferenceExtractions

Extract data from a document

Upload a single document and receive structured data. The request is processed synchronously and the completed extraction is returned. Accepted file types: `.pdf`, `.jpg`, `.jpeg`, `.png`, `.bmp`, `.webp`, `.docx`. Limits: 10 MB and 15 pages per document.

POST
/extract
AuthorizationBearer <token>

API key as a Bearer token: Authorization: Bearer docr_sk_…

In: header

filefile

The document to extract.

Formatbinary
documentType?string

Name of the document type to extract against (e.g. Invoice). If omitted, dOCR auto-detects the type.

processingMode?string

highest_quality uses the most capable model; fastest optimizes for speed and cost.

Default"highest_quality"
Value in"highest_quality" | "fastest"

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://app.docr.dev/api/v1/extract" \  -F file="string"
{
  "extraction": {
    "id": "6a382443304f240b189f228a",
    "status": "pending",
    "documentTypeName": "Invoice",
    "detectedType": "string",
    "processingMode": "highest_quality",
    "confidence": 0.98,
    "pagesProcessed": 1,
    "modelUsed": "anthropic/claude-opus-4-8",
    "outputJson": {
      "documentType": "Invoice",
      "fields": {
        "vendorName": "Northwind Traders LLC",
        "invoiceNumber": "INV-2026-00842",
        "total": 729.61
      },
      "confidence": 0.1,
      "pagesProcessed": 0
    },
    "error": "string",
    "createdAt": "2019-08-24T14:15:22Z"
  }
}
{
  "error": "string"
}
{
  "error": "Invalid or revoked API key"
}
{
  "error": "IP 203.0.113.4 is not whitelisted"
}
{
  "error": "string"
}