PROCESSORS · EXTRACT

Structured data from your documents that you can actually trust.

A general-purpose LLM hands back JSON that looks right, with no way to tell what's wrong. Extract returns fields that match your schema, each one cited, verified, and scored.

EXTRACT · SPACE ACT AGREEMENT · 48-PAGE SCAN

Every field, traced back to its source.

A real 48-page scanned contract — the NASA–SpaceX Space Act Agreement. Extract pulls each value and cites the exact block it came from.

SOURCE DOCUMENT PAGE 1 / 48
NASA–SpaceX · Space Act Agreement — page 1
NASA–SpaceX · Space Act Agreement — page 4
NASA–SpaceX · Space Act Agreement — page 6
NASA–SpaceX · Space Act Agreement — page 22
NASA–SpaceX · Space Act Agreement — page 25
NASA–SpaceX · Space Act Agreement — page 26
reading document
CAPABILITIES

What you get back on every call.

E · 01 TYPED OUTPUT

Values respect your types

Strings stay strings, numbers stay numbers, and dates land in the format you asked for. Enums normalize, so downstream code never has to reconcile "Invoice" against "INVOICE".

E · 02 CITED & VERIFIED

Citations to the source

Each field comes back with the block it was read from and a pass/fail verification against that block. Auto-accept what passes and route the rest to review, instead of re-reading every document.

E · 03 TWO MODES

Mode flexibility

Balanced is the default — highest accuracy, with reasoning and a verification pass on every field. Fast trades that for lower latency and cost on high-volume work.

E · 04 CONFIDENCE SCORE

A 1–5 score on every field

Every field comes back scored 1 (very low) to 5 (high), with the reasoning behind it. Auto-accept the high-confidence values and send the low ones to review, instead of checking them all.

API · SCHEMA

Your schema is the contract.

Send a JSON Schema and the output comes back shaped to match it, the same way on every document. Hand the result straight to the code that depends on it — no reshaping, no per-vendor special cases.

import json
from datalab_sdk import DatalabClient, ExtractOptions

client = DatalabClient()

schema = {
    "type": "object",
    "properties": {
        "company_party":           {"type": "string"},
        "company_signatory_name":  {"type": "string"},
        "company_signatory_title": {"type": "string"},
        "company_signature_date":  {"type": "string", "description": "as written"},
        "government_party":        {"type": "string"},
    },
    "required": ["company_party", "company_signatory_name"],
}

# extraction_mode="balanced" is the default — highest accuracy, with reasoning
# and a verification pass on every field. Use "fast" for lower latency and cost.
options = ExtractOptions(page_schema=json.dumps(schema), extraction_mode="balanced")
result = client.extract("space-act-agreement.pdf", options=options)
extracted = json.loads(result.extraction_schema_json)

# Each field arrives with the source block(s) it was read from and a meta
# object holding the reasoning and a pass/fail verification against them:
# {
#   "company_signatory_name": "Elon Musk",
#   "company_signatory_name_citations": ["/page/25/Text/7"],
#   "company_signatory_name_meta": {
#     "reasoning": "Found in the signature block on page 26.",
#     "verification": {"status": "PASS", "feedback": "..."}
#   },
#   ...
# }
FIELD · VALUE · CITATION · VERIFICATION
WHY EXTRACT

Built so you can check the work.

NO GUESSING null, not a guess

When your schema asks for something the document doesn't contain, Extract returns null and says why, instead of inventing a plausible answer. A confident wrong value is worse than no value.

THE HARD FIELDS Needle in a haystack

Extract can find exactly what you need and reconcile information across pages.

OLMOCR-BENCH · TABLES Our models lead the pack

Extraction is only as good as the parse underneath it. Ours runs on our own open models — Marker, Surya, and Chandra — which top the public olmOCR-bench table leaderboard among open OCR.

DEPLOYMENT

Run extraction wherever your documents have to stay.

  • Managed cloud

    Start with an API key — nothing to host or operate.

    Sign up →
  • EU data residency

    Run in-region, with no egress to US infrastructure.

    Sign up →
  • Your VPC

    Runs inside your own AWS, GCP, or Azure account.

    Talk to sales →
  • On-prem & air-gapped

    Fully offline, the same model weights, dedicated support.

    Talk to sales →
SOC 2 Type II · BAA available View our trust center →
START

Try schema-driven extraction now

Free tier, no credit card required.