Iteration Layer
Menu
Features
Use Cases
Docs
Resources
Pricing
Document Extraction

Extract structured data from PDFs and business documents

Extract structured data from PDFs, scans, and business documents with typed JSON, confidence scores, source citations, and EU processing.

Zero data retention Made & hosted in the EU 100 trial credits

See Document Extraction in action

Start from a real implementation pattern, not blank docs. See the input, runnable code, and structured output your workflow can use next.

Input Preview
Invoice INV-2024-0042
Output Preview

invoice_number

INV-2024-0042

vendor

Northwind Accounting Services GmbH

due_date

2024-04-14

line_items

description

Month-end close automation workshop

amount

USD 720.00

description

Invoice schema rollout and testing

amount

USD 480.00

description

Vendor onboarding playbook update

amount

USD 190.00

total_due

USD 1,390.00
Request
curl -X POST \
  https://api.iterationlayer.com/document-extraction/v1/extract \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "files": [{
    "type": "url",
    "name": "accounts-payable-invoice.pdf",
    "url": "https://iterationlayer.com/code-samples/accounts-payable-invoice.pdf"
  }],
  "schema": {
    "fields": [
      {
        "name": "invoice_number",
        "type": "TEXT",
        "description": "The invoice number"
      },
      {
        "name": "vendor",
        "type": "TEXT",
        "description": "The vendor legal name"
      },
      {
        "name": "due_date",
        "type": "DATE",
        "description": "The invoice due date"
      },
      {
        "name": "line_items",
        "type": "ARRAY",
        "description": "Line items",
        "fields": [
          {
            "name": "description",
            "type": "TEXT",
            "description": "Line item description"
          },
          {
            "name": "amount",
            "type": "CURRENCY_AMOUNT",
            "description": "Line item amount"
          }
        ]
      },
      {
        "name": "total_due",
        "type": "CURRENCY_AMOUNT",
        "description": "The final amount due"
      }
    ]
  }
}'
Response
{
  "success": true,
  "data": {
    "invoice_number": {
      "type": "TEXT",
      "value": "INV-2024-0042",
      "confidence": 0.97,
      "citations": ["Invoice #INV-2024-0042"],
      "source": "accounts-payable-invoice.pdf"
    },
    "vendor": {
      "type": "TEXT",
      "value": "Northwind Accounting Services GmbH",
      "confidence": 0.98,
      "citations": ["Northwind Accounting Services GmbH"],
      "source": "accounts-payable-invoice.pdf"
    },
    "due_date": {
      "type": "DATE",
      "value": "2024-04-14",
      "confidence": 0.96,
      "citations": ["Due Date: 2024-04-14"],
      "source": "accounts-payable-invoice.pdf"
    },
    "line_items": {
      "type": "ARRAY",
      "value": [
        {
          "description": {
            "value": "Month-end close automation workshop",
            "confidence": 0.98,
            "citations": ["Month-end close automation workshop"]
          },
          "amount": {
            "value": 720.00,
            "confidence": 0.96,
            "citations": ["USD 720.00"]
          }
        },
        {
          "description": {
            "value": "Invoice schema rollout and testing",
            "confidence": 0.97,
            "citations": ["Invoice schema rollout and testing"]
          },
          "amount": {
            "value": 480.00,
            "confidence": 0.95,
            "citations": ["USD 480.00"]
          }
        },
        {
          "description": {
            "value": "Vendor onboarding playbook update",
            "confidence": 0.95,
            "citations": ["Vendor onboarding playbook update"]
          },
          "amount": {
            "value": 190.00,
            "confidence": 0.94,
            "citations": ["USD 190.00"]
          }
        }
      ],
      "confidence": 0.97,
      "citations": [],
      "source": "accounts-payable-invoice.pdf"
    },
    "total_due": {
      "type": "CURRENCY_AMOUNT",
      "value": 1390.00,
      "confidence": 0.97,
      "citations": ["Total Due: USD 1,390.00"],
      "source": "accounts-payable-invoice.pdf"
    }
  }
}
Request
import { IterationLayer } from "iterationlayer";

const client = new IterationLayer({
  apiKey: "YOUR_API_KEY",
});

const result = await client.extractDocument({
  files: [{
    type: "url",
    name: "accounts-payable-invoice.pdf",
    url: "https://iterationlayer.com/code-samples/accounts-payable-invoice.pdf",
  }],
  schema: {
    fields: [
      {
        type: "TEXT",
        name: "invoice_number",
        description: "The invoice number",
      },
      {
        type: "TEXT",
        name: "vendor",
        description: "The vendor legal name",
      },
      {
        type: "DATE",
        name: "due_date",
        description: "The invoice due date",
      },
      {
        type: "ARRAY",
        name: "line_items",
        description: "Line items",
        fields: [
          { type: "TEXT", name: "description", description: "Line item description" },
          { type: "CURRENCY_AMOUNT", name: "amount", description: "Line item amount" },
        ],
      },
      {
        type: "CURRENCY_AMOUNT",
        name: "total_due",
        description: "The final amount due",
      },
    ],
  },
});
Response
{
  "success": true,
  "data": {
    "invoice_number": {
      "type": "TEXT",
      "value": "INV-2024-0042",
      "confidence": 0.97,
      "citations": ["Invoice #INV-2024-0042"],
      "source": "accounts-payable-invoice.pdf"
    },
    "vendor": {
      "type": "TEXT",
      "value": "Northwind Accounting Services GmbH",
      "confidence": 0.98,
      "citations": ["Northwind Accounting Services GmbH"],
      "source": "accounts-payable-invoice.pdf"
    },
    "due_date": {
      "type": "DATE",
      "value": "2024-04-14",
      "confidence": 0.96,
      "citations": ["Due Date: 2024-04-14"],
      "source": "accounts-payable-invoice.pdf"
    },
    "line_items": {
      "type": "ARRAY",
      "value": [
        {
          "description": {
            "value": "Month-end close automation workshop",
            "confidence": 0.98,
            "citations": ["Month-end close automation workshop"]
          },
          "amount": {
            "value": 720.00,
            "confidence": 0.96,
            "citations": ["USD 720.00"]
          }
        },
        {
          "description": {
            "value": "Invoice schema rollout and testing",
            "confidence": 0.97,
            "citations": ["Invoice schema rollout and testing"]
          },
          "amount": {
            "value": 480.00,
            "confidence": 0.95,
            "citations": ["USD 480.00"]
          }
        },
        {
          "description": {
            "value": "Vendor onboarding playbook update",
            "confidence": 0.95,
            "citations": ["Vendor onboarding playbook update"]
          },
          "amount": {
            "value": 190.00,
            "confidence": 0.94,
            "citations": ["USD 190.00"]
          }
        }
      ],
      "confidence": 0.97,
      "citations": [],
      "source": "accounts-payable-invoice.pdf"
    },
    "total_due": {
      "type": "CURRENCY_AMOUNT",
      "value": 1390.00,
      "confidence": 0.97,
      "citations": ["Total Due: USD 1,390.00"],
      "source": "accounts-payable-invoice.pdf"
    }
  }
}
Request
from iterationlayer import IterationLayer

client = IterationLayer(
    api_key="YOUR_API_KEY"
)

result = client.extract_document(
    files=[{
        "type": "url",
        "name": "accounts-payable-invoice.pdf",
        "url": "https://iterationlayer.com/code-samples/accounts-payable-invoice.pdf",
    }],
    schema={
        "fields": [
            {
                "type": "TEXT",
                "name": "invoice_number",
                "description": "The invoice number",
            },
            {
                "type": "TEXT",
                "name": "vendor",
                "description": "The vendor legal name",
            },
            {
                "type": "DATE",
                "name": "due_date",
                "description": "The invoice due date",
            },
            {
                "type": "ARRAY",
                "name": "line_items",
                "description": "Line items",
                "fields": [
                    {"type": "TEXT", "name": "description", "description": "Line item description"},
                    {"type": "CURRENCY_AMOUNT", "name": "amount", "description": "Line item amount"},
                ],
            },
            {
                "type": "CURRENCY_AMOUNT",
                "name": "total_due",
                "description": "The final amount due",
            },
        ],
    },
)
Response
{
  "success": true,
  "data": {
    "invoice_number": {
      "type": "TEXT",
      "value": "INV-2024-0042",
      "confidence": 0.97,
      "citations": ["Invoice #INV-2024-0042"],
      "source": "accounts-payable-invoice.pdf"
    },
    "vendor": {
      "type": "TEXT",
      "value": "Northwind Accounting Services GmbH",
      "confidence": 0.98,
      "citations": ["Northwind Accounting Services GmbH"],
      "source": "accounts-payable-invoice.pdf"
    },
    "due_date": {
      "type": "DATE",
      "value": "2024-04-14",
      "confidence": 0.96,
      "citations": ["Due Date: 2024-04-14"],
      "source": "accounts-payable-invoice.pdf"
    },
    "line_items": {
      "type": "ARRAY",
      "value": [
        {
          "description": {
            "value": "Month-end close automation workshop",
            "confidence": 0.98,
            "citations": ["Month-end close automation workshop"]
          },
          "amount": {
            "value": 720.00,
            "confidence": 0.96,
            "citations": ["USD 720.00"]
          }
        },
        {
          "description": {
            "value": "Invoice schema rollout and testing",
            "confidence": 0.97,
            "citations": ["Invoice schema rollout and testing"]
          },
          "amount": {
            "value": 480.00,
            "confidence": 0.95,
            "citations": ["USD 480.00"]
          }
        },
        {
          "description": {
            "value": "Vendor onboarding playbook update",
            "confidence": 0.95,
            "citations": ["Vendor onboarding playbook update"]
          },
          "amount": {
            "value": 190.00,
            "confidence": 0.94,
            "citations": ["USD 190.00"]
          }
        }
      ],
      "confidence": 0.97,
      "citations": [],
      "source": "accounts-payable-invoice.pdf"
    },
    "total_due": {
      "type": "CURRENCY_AMOUNT",
      "value": 1390.00,
      "confidence": 0.97,
      "citations": ["Total Due: USD 1,390.00"],
      "source": "accounts-payable-invoice.pdf"
    }
  }
}
Request
import il "github.com/iterationlayer/sdk-go"

client := il.NewClient("YOUR_API_KEY")

result, err := client.ExtractDocument(il.ExtractDocumentRequest{
  Files: []il.FileInput{
    il.NewFileFromURL(
      "accounts-payable-invoice.pdf",
      "https://iterationlayer.com/code-samples/accounts-payable-invoice.pdf",
    ),
  },
  Schema: il.ExtractionSchema{
    "invoice_number": il.NewTextFieldConfig(
      "invoice_number",
      "The invoice number",
    ),
    "vendor": il.NewTextFieldConfig(
      "vendor",
      "The vendor legal name",
    ),
    "due_date": il.NewDateFieldConfig(
      "due_date",
      "The invoice due date",
    ),
    "line_items": il.NewArrayFieldConfig(
      "line_items",
      "Line items",
      []il.FieldConfig{
        il.NewTextFieldConfig("description", "Line item description"),
        il.NewCurrencyAmountFieldConfig("amount", "Line item amount"),
      },
    ),
    "total_due": il.NewCurrencyAmountFieldConfig(
      "total_due",
      "The final amount due",
    ),
  },
})
Response
{
  "success": true,
  "data": {
    "invoice_number": {
      "type": "TEXT",
      "value": "INV-2024-0042",
      "confidence": 0.97,
      "citations": ["Invoice #INV-2024-0042"],
      "source": "accounts-payable-invoice.pdf"
    },
    "vendor": {
      "type": "TEXT",
      "value": "Northwind Accounting Services GmbH",
      "confidence": 0.98,
      "citations": ["Northwind Accounting Services GmbH"],
      "source": "accounts-payable-invoice.pdf"
    },
    "due_date": {
      "type": "DATE",
      "value": "2024-04-14",
      "confidence": 0.96,
      "citations": ["Due Date: 2024-04-14"],
      "source": "accounts-payable-invoice.pdf"
    },
    "line_items": {
      "type": "ARRAY",
      "value": [
        {
          "description": {
            "value": "Month-end close automation workshop",
            "confidence": 0.98,
            "citations": ["Month-end close automation workshop"]
          },
          "amount": {
            "value": 720.00,
            "confidence": 0.96,
            "citations": ["USD 720.00"]
          }
        },
        {
          "description": {
            "value": "Invoice schema rollout and testing",
            "confidence": 0.97,
            "citations": ["Invoice schema rollout and testing"]
          },
          "amount": {
            "value": 480.00,
            "confidence": 0.95,
            "citations": ["USD 480.00"]
          }
        },
        {
          "description": {
            "value": "Vendor onboarding playbook update",
            "confidence": 0.95,
            "citations": ["Vendor onboarding playbook update"]
          },
          "amount": {
            "value": 190.00,
            "confidence": 0.94,
            "citations": ["USD 190.00"]
          }
        }
      ],
      "confidence": 0.97,
      "citations": [],
      "source": "accounts-payable-invoice.pdf"
    },
    "total_due": {
      "type": "CURRENCY_AMOUNT",
      "value": 1390.00,
      "confidence": 0.97,
      "citations": ["Total Due: USD 1,390.00"],
      "source": "accounts-payable-invoice.pdf"
    }
  }
}

Use the same workflow from code, agents, or n8n

When an automation moves from prototype to production, you should not have to rebuild it for every environment. Iteration Layer lets scripts, agents, and n8n workflows call the same European AI workflow runtime.

Input 40+ file formats
Extraction Documents, websites, and markdown
Generation Documents, images, and sheets
Output Structured format

Fits into your existing stack

Native SDKs for TypeScript, Python, and Go. OpenAPI spec for everything else. MCP server for AI agents and Claude Code skills. n8n integration for visual workflows.

EU AI workflow runtime

Run document, image, and file steps through one EU-hosted workflow layer with shared API conventions and billing.

Agent-ready by design

Expose the same document and image actions to MCP tools and Claude Code skills, then reuse the API contract when workflows graduate into scripts or automations.

Verified n8n node

Install the verified Iteration Layer node in n8n, then route documents and generated files through the same provider from visual workflows.

Three steps to your first extraction

01

Define a schema

Describe the structured data you want returned using our schema format. Each field has a name, a type, and an optional description to guide extraction.

02

Send your documents

Upload any of 40+ file formats including PDFs, scans, Office files, emails, images, public website URLs, and more. Send up to 20 files per request and combine them into one extraction result.

03

Get structured data

Receive typed JSON with extracted fields, confidence scores, and source citations so you can automate downstream workflows and route uncertain results to review.


Intelligent Extraction

The API chooses the right extraction path for your schema and documents, without making your workflow stitch together OCR, prompting, and post-processing logic.

Schema-Driven Results

Define typed fields — dates, IBANs, currencies, addresses, nested arrays — and get structured JSON back. No prompt engineering, no output parsing.

Deep Content Understanding

Scanned pages, images, tables, and handwritten notes become structured candidates your workflow can validate, route, and turn into downstream outputs.

Built-In Trust Scores

Every extracted value includes a confidence score and a verbatim source citation from the document. Use confidence as a routing signal, citations as review context, and approved values before updating another system.

Multi-File Merge

Send up to 20 files per request and get one unified extraction across all of them. Mix formats freely — a PDF invoice, a DOCX contract, a JPEG receipt, and a public website URL in the same call.

40+ File Formats

PDF, DOCX, PPTX, ODT, ODS, XLSX, EPUB, LaTeX, EML, Jupyter notebooks, images, public website URLs, plus text and markup formats like YAML, TOML, RST, and Org — all in the same endpoint.

No Model Training

Your documents are never used to train or improve AI models. This is guaranteed for all plans — not gated behind an enterprise contract.

Real-world pipelines, ready to ship

Each recipe chains multiple APIs into a complete workflow. Pick one, tweak it, and deploy — or use it as a starting point for your own pipeline.

Extract 1098 Data

Extract structured fields from 1098 documents.

Extract 1099-MISC Data

Extract structured fields from 1099-misc documents.

Extract 1099-NEC Data

Extract structured fields from 1099-nec documents.

Extract Academic Paper Metadata

Extract title, authors, abstract, and citation info from academic papers.

Extract ACORD 25 Data

Extract structured fields from acord 25 documents.

Extract Aging Report Data

Extract structured fields from aging report documents.

Extract Air Cargo Manifest Data

Extract structured fields from air cargo manifest documents.

Extract Air Waybill Data

Extract structured fields from air waybill documents.

Extract Article Text

Extract clean article content — title, author, date, and body text — from PDFs, Word docs, and web pages.

Extract Auto Insurance Claim Data

Extract structured fields from auto insurance claim documents.

Extract Balance Sheet Data

Extract structured fields from balance sheet documents.

Extract Bank Statements Data

Extract structured fields from bank statements documents.

Extract Bill of Entry Data

Extract structured fields from bill of entry documents.

Extract Bill of Lading Data

Extract structured fields from bill of lading documents.

Extract Busta Paga Data

Extract employee, employer, gross pay, INPS/IRPEF deductions, and net pay from Italian payslips.

Extract Cargo Manifest Data

Extract structured fields from cargo manifest documents.

Extract Cash Flow Statement Data

Extract structured fields from cash flow statement documents.

Extract Certificate of Insurance Data

Extract structured fields from certificate of insurance documents.

Extract Certificate of Origin Data

Extract structured fields from certificate of origin documents.

Extract Certificazione Unica Data

Extract structured fields from certificazione unica documents.

Extract CFDI Carta Porte Data

Extract structured fields from cfdi carta porte documents.

Extract CFDI Invoice Data

Extract structured fields from cfdi invoice documents.

Extract Cfdi Nomina Data

Extract structured fields from cfdi nomina documents.

Extract Closing Disclosure Data

Extract structured fields from closing disclosure documents.

Extract Closing Statement Data

Extract structured fields from closing statement documents.

Extract CMR Waybill Data

Extract structured fields from cmr waybill documents.

Extract Commercial Invoice Data

Extract structured fields from commercial invoice documents.

Extract Commercial Lease Data

Extract parties, premises, lease term, rent, escalation, deposit, options, and expense obligations from commercial leases.

Extract Contract Clause Data

Extract parties, dates, and clauses from a contract into structured JSON for legal review workflows.

Extract Court Filing Data

Extract case numbers, parties, filing dates, court details, and relief sought from court filing documents and legal pleadings.

Extract Credit Card Statements Data

Extract structured fields from credit card statements documents.

Extract Credit Invoice Data

Extract structured fields from credit invoice documents.

Extract CT600 Data

Extract structured fields from ct600 documents.

Extract Customer Invoice Data

Extract structured fields from customer invoice documents.

Extract Customs Declaration

Merge a commercial invoice, packing list, and bill of lading into a unified customs declaration.

Extract Declaration Impots Data

Extract structured fields from declaration impots documents.

Extract Delivery Note Data

Extract shipment details, item quantities, and delivery confirmation data from warehouse delivery notes and goods received notes.

Extract Delivery Order Data

Extract release order, carrier, consignee, pickup location, goods, and validity fields from delivery orders.

Extract Delivery Receipt Data

Extract proof-of-delivery number, recipient, delivery time, items, exceptions, and signature status from delivery receipts.

Extract Dichiarazione Iva Data

Extract structured fields from dichiarazione iva documents.

Extract Factura Data

Extract structured fields from factura documents.

Extract Facture Data

Extract structured fields from facture documents.

Extract Fattura Elettronica Data

Extract structured fields from fattura elettronica documents.

Extract Fiche de Paie Data

Extract employee, employer, gross pay, cotisations, tax, and net pay from French payslips.

Extract Fleet Vehicle Registration Data

Extract vehicle identification, owner details, registration dates, and technical specifications from vehicle registration documents.

Extract Freight Bill Data

Extract carrier invoice, shipment references, rates, accessorials, taxes, and total charges from freight bills.

Extract Home Inspection Data

Extract structured fields from home inspection documents.

Extract I-9 Data

Extract structured fields from i-9 documents.

Extract Income Statement Data

Extract structured fields from income statement documents.

Extract Insurance Claim Data

Extract structured fields from insurance claim documents.

Extract Invoice Data

Extract vendor name, line items, totals, and dates from invoice documents.

Extract Jpk Vat Data

Extract structured fields from jpk vat documents.

Extract Keihi Seisansho Data

Extract employee, department, expense lines, tax, totals, and approval fields from Japanese expense settlement forms.

Extract KPI Data

Extract campaign or business KPIs from report documents — metrics, values, periods, and targets.

Extract Ksef Faktura Data

Extract structured fields from ksef faktura documents.

Extract KYC Onboarding Data

Extract company information, submitted identity-document references, and beneficial ownership data from onboarding packets.

Extract Kyuyo Meisai Data

Extract employee, employer, allowances, deductions, taxes, and net pay from Japanese payslips.

Extract Lease Renewal Data

Extract tenant, property, renewal term, new rent, deposit changes, and signature fields from lease renewal notices or agreements.

Extract Legal Invoice Data

Extract timekeeper entries, disbursements, matter references, and billing summaries from law firm invoices.

Extract Lohnabrechnung Data

Extract employee, employer, gross wage, tax deductions, social insurance, and net wage from German payslips.

Extract Lohnsteuerbescheinigung Data

Extract structured fields from lohnsteuerbescheinigung documents.

Extract Loss Run Report Data

Extract structured fields from loss run report documents.

Extract Modello 730 Data

Extract structured fields from modello 730 documents.

Extract Modello F24 Data

Extract structured fields from modello f24 documents.

Extract Mortgage Statements Data

Extract structured fields from mortgage statements documents.

Extract Multi-Invoice Data

Extract structured data from multiple invoice files in a single API call using an array schema.

Extract NDA Terms

Extract parties, obligations, restrictions, permitted disclosures, and expiry dates from non-disclosure agreements.

Extract Nomina Data

Extract employee, employer, earnings, deductions, tax, and net pay from Spanish or Latin American payroll slips.

Extract Note de Frais Data

Extract employee, trip, expense lines, VAT, totals, and approvals from French expense claims.

Extract Ocean Bill of Lading Data

Extract structured fields from ocean bill of lading documents.

Extract P11D Data

Extract structured fields from p11d documents.

Extract P45 Data

Extract structured fields from p45 documents.

Extract P60 Data

Extract structured fields from p60 documents.

Extract Packing List Data

Extract shipper, consignee, order references, carton lines, weights, and package totals from packing lists.

Extract Pit 11 Data

Extract structured fields from pit 11 documents.

Extract Pit 37 Data

Extract structured fields from pit 37 documents.

Extract Product Catalog Entry

Extract product name, SKU, price, and specifications from a catalog document into structured JSON for e-commerce workflows.

Extract Profit Loss Data

Extract structured fields from profit loss documents.

Extract Proforma Invoice Data

Extract structured fields from proforma invoice documents.

Extract Property Appraisal

Extract appraised value, property details, and comparable sales from a property appraisal report into structured JSON.

Extract Property Deed Data

Extract property ownership, legal descriptions, encumbrances, and recording details from property deeds and land registry documents.

Extract Property Insurance Claim Data

Extract structured fields from property insurance claim documents.

Extract Property Survey Data

Extract structured fields from property survey documents.

Extract Purchase Order Data

Extract line items, quantities, unit prices, delivery dates, and supplier details from purchase order documents.

Extract Quittung Data

Extract receipt number, issuer, payer, date, VAT, and total from German receipts.

Extract Real Estate Listing

Extract property address, price, room count, and features from a listing document into structured JSON for MLS and property platforms.

Extract Receipt Data

Extract merchant, date, line items, tax, and total from receipts.

Extract Rechnung Data

Extract structured fields from rechnung documents.

Extract Recu Data

Extract receipt number, issuer, payer, date, VAT, and total from French receipts.

Extract Recurring Invoice Data

Extract structured fields from recurring invoice documents.

Extract Reisekostenabrechnung Data

Extract employee, trip, mileage, per diem, expense lines, VAT, and totals from German travel expense claims.

Extract Rent Roll Data

Extract property, unit, tenant, lease dates, rents, deposits, and occupancy fields from rent rolls.

Extract Rental Application

Extract applicant details, employment history, income, and references from a rental application form into structured JSON for tenant screening.

Extract Residential Lease Data

Extract landlord, tenant, property, lease dates, rent, deposit, utilities, occupants, and pet terms from residential leases.

Extract Resume Data

Extract candidate name, contact details, work history, and skills from resumes.

Extract RO e-Factura Data

Extract structured fields from ro e-factura documents.

Extract Ryoshusho Data

Extract receipt number, issuer, payer, date, tax, and total from Japanese receipts.

Extract SA100 Data

Extract structured fields from sa100 documents.

Extract Sales Invoice Data

Extract structured fields from sales invoice documents.

Extract Schedule K 1 Data

Extract structured fields from schedule k 1 documents.

Extract Seikyusho Data

Extract structured fields from seikyusho documents.

Extract Shipping Request Data

Extract requestor, ship-from, ship-to, service, package, and handling instructions from shipping requests.

Extract Steuerbescheid Data

Extract structured fields from steuerbescheid documents.

Extract Steuererklaerung Data

Extract structured fields from steuererklaerung documents.

Extract Straight Bill of Lading Data

Extract structured fields from straight bill of lading documents.

Extract Supplier Invoice Data for ERP Import

Extract supplier invoice details structured for direct import into ERP systems like SAP, Oracle, or Microsoft Dynamics.

Extract T1 General Data

Extract structured fields from t1 general documents.

Extract T4 Slip Data

Extract structured fields from t4 slip documents.

Extract Terms and Conditions

Extract clause types, obligations, limitations, and governing law from terms and conditions documents.

Extract Title Insurance Data

Extract structured fields from title insurance documents.

Extract Title Search Data

Extract property, owner, legal description, liens, mortgages, easements, and tax status from title search reports.

Extract Traffic Fine Data

Extract violation details, fine amounts, vehicle information, and payment deadlines from traffic fine notices.

Extract Umsatzsteuervoranmeldung Data

Extract structured fields from umsatzsteuervoranmeldung documents.

Extract VAT100 Data

Extract structured fields from vat100 documents.

Extract W-2 Data

Extract structured fields from w-2 documents.

Extract W-4 Data

Extract structured fields from w-4 documents.

Extract W-8BEN Data

Extract structured fields from w-8ben documents.

Extract W-9 Data

Extract structured fields from w-9 documents.

Extract Warehouse Receipt Data

Extract structured fields from warehouse receipt documents.

Extract ZATCA E-Invoice Data

Extract structured fields from zatca e-invoice documents.

European by design

Your data is processed on EU-hosted infrastructure and never stored beyond temporary logs. Zero data retention, GDPR-compliant workflows, and a Data Processing Agreement are available for every customer. Learn more about our security practices .

EU-hosted core processing

Application and processing infrastructure runs in Europe, with provider-scope ISO 27001 and BSI C5 evidence documented for procurement reviews.

Zero data retention

Customer files and processing results are not stored after the request. Usage logs are retained for 90 days and automatically deleted.

Clear answers for security teams

Give reviewers the answers they need up front: where files are processed, what is retained, which subprocessors are involved, and how AI inputs, outputs, review gates, and audit records move through each workflow.

Pricing

Start usage-based. Switch to a subscription when your volume becomes predictable.

Pay as you go

Usage-based

$0.099 to $0.069 / credit

Graduated pricing. Your effective rate decreases automatically as monthly usage grows.

  • No monthly commitment
  • Pay only for credits used
  • Automatic volume discounts as usage grows
Subscriptions

Predictable volume

From $19 /month

Fixed recurring credit packs with lower effective credit prices for steady usage.

  • Lower effective per-credit prices
  • Fixed recurring credit packs
  • Predictable monthly budget
Trial Week

Try Iteration Layer with 100 credits

$1 / 7 days

Start with one shared trial pool before choosing subscription or pay-as-you-go billing.

All APIs included 7-day trial Project-based budget caps Auto overage billing

Still evaluating?

Compare Iteration Layer against the biggest alternatives at a glance, then open the full head-to-head pages when you want the details.

Feature Iteration Layer DocuPipe Azure Document Intelligence Google Document AI
Schema-defined extraction
Yes
Define extraction fields via a purpose-built schema with 17 typed field types
Yes
Zero-shot extraction with custom schema definitions — no training required
Model-dependent
Requires choosing a pre-built model or training a custom one on labelled documents
Processor-based
Requires choosing and configuring a specific processor type in the GCP console for each document type
Confidence scores
Per field
Confidence score between 0 and 1 for every extracted schema field
Per field
Confidence metrics provided per extracted field value
Per field
Confidence scores provided per extracted field value
Per entity
Confidence scores provided per extracted entity
Source citations
Yes
Verbatim source citation from the document for every extracted field
Visual only
Source highlighting available in the review UI but no verbatim text citations in the API response
No
No source citation linking extracted values back to document text
No
No source citation linking extracted values back to document text
Multi-file support
Up to 20 files
Process up to 20 files in a single API request with merged extraction results
1 file
Each API request processes a single file
1 file
Each API request processes a single file
1 file
Each API request processes a single file

Frequently asked questions

How accurate is the extraction quality?
Our OCR benchmark shows strong extraction accuracy, reliability, and performance across 41 real workflow files, including forms, invoices, scans, tables, charts, and photos.
What file formats are supported?
The API accepts 40+ file formats including PDF, DOCX, PPTX, ODT, ODS, XLSX, EPUB, CSV, TSV, HTML, LaTeX, EML, Jupyter notebooks, and all common image formats. Scanned documents are processed with built-in OCR.
How does schema-based extraction work?
You define the structured data schema you want returned by describing each field with a name, type, and optional description. The API then extracts those fields from the document and returns them as typed JSON.
What are confidence scores?
Every extracted field includes a confidence score between 0 and 1 so you can decide what to automate directly and what to send to human review. See how to use confidence scores for human-in-the-loop extraction.
How many files can I send per request?
You can send up to 20 files per request. All files are combined into a single extraction result — the API pulls fields from across all documents. The total size limit is 200 MB with 50 MB per file.
Does it handle scanned documents?
Yes. The API includes built-in OCR for scanned documents and images. No separate OCR step is needed.
What happens when a field isn't found?
Missing fields return null with a confidence score of 0. You can use confidence thresholds to decide when to flag documents for manual review.
Is Document Extraction GDPR-compliant?
All document extraction runs on EU infrastructure with zero data retention. Your data is processed in memory and discarded after the request. For the architecture details, see GDPR-compliant document processing patterns.

Build your first workflow in minutes

Chain our APIs into a workflow you can test with your own data during the 7-day trial.

Zero data retention Made & hosted in the EU 100 trial credits