Chain your document and image APIs into one workflow
Iteration Layer is a composable API platform for document, image, and content processing. Extract documents, generate images, transform files, and produce PDFs with one credit pool, one API style, and no glue code. EU-hosted and GDPR-compliant.
No credit card required — start with free trial credits
One output feeds the next
APIs that cover every step of your content pipeline — ingestion, transformation, and generation. One key, one credit pool, and structured JSON responses designed to chain together.
Mix and match freely
Extract data from a document, generate visuals from the results, then compile everything into a finished report. Mix, match, and build your own pipeline.
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 Invoice Data
Extract vendor name, line items, totals, and dates from invoice documents.
Generate Social Card
Generate an Open Graph social sharing card with dynamic title, description, and branding.
Remove Product Background
Remove the background from a product photo using AI-powered segmentation.
Extract Resume Data
Extract candidate name, contact details, work history, and skills from resumes.
Generate Certificate Image
Generate a professional certificate image with recipient name, course title, and completion date for digital sharing, social media, or email delivery.
Smart Crop Group Photo
Use AI detection to smart-crop individual portraits from a group photo.
Compress Image for Email
Resize, sharpen, and compress an image to fit email platform size limits in a single pipeline.
Compress Image to Target File Size
Compress an image to fit within a specific file size in bytes using quality-first compression.
Convert Contract to Markdown
Convert a contract PDF to clean markdown for clause extraction or LLM analysis.
Convert Document for Knowledge Base
Convert external documents — specs, contracts, reports — to markdown for knowledge base ingestion.
Convert Document for RAG Ingestion
Convert a document to clean markdown suitable for chunking and embedding in a RAG pipeline.
Convert Image Format
Convert an image between PNG, JPEG, and WebP formats with quality control for web optimization.
Convert Invoice to Markdown
Convert a PDF invoice to clean markdown for LLM processing or document pipelines.
Convert Resume to Markdown
Convert a resume PDF to clean markdown for LLM parsing or candidate pipelines.
Convert Website to Markdown for RAG
Extract clean title, summary, markdown sections, and source metadata from a public documentation page for RAG ingestion.
Convert Document to Markdown
Convert PDF, DOCX, HTML, or image documents to clean, structured Markdown.
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 Carrier Invoices to Spreadsheet
Extract line-level charges from multiple carrier invoices, then generate an XLSX freight cost tracker in a single pipeline.
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 Contracts to a Register
Extract key terms from multiple signed contracts and build a structured XLSX contract register tracking parties, dates, value, and renewal terms.
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 Customs Declarations to Spreadsheet
Extract HS codes, declared values, and duty amounts from customs declaration documents, then generate an XLSX import duty log.
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 Help Center Article from Website
Extract title, summary, steps, related links, and last updated date from a public help center article.
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 Invoices and Build Accounts Payable Spreadsheet
Extract structured data from multiple invoice PDFs in one call, then pipe the results directly into an XLSX accounts payable tracker.
Extract Job Listings from Website
Extract role title, location, salary range, requirements, and application details from a public job posting.
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 KPIs and Generate a Client Report
Extract key performance indicators from client documents, then generate a branded PDF report summarizing the results.
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 Listing Data and Generate a Brochure
Extract property listing details from a real estate document, then generate a branded PDF brochure and a social media image for the listing.
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 and Generate a Compliance Checklist
Extract key terms from a non-disclosure agreement, then generate a compliance checklist spreadsheet tracking obligations and deadlines.
Extract NDA Terms
Extract parties, obligations, restrictions, permitted disclosures, and expiry dates from non-disclosure agreements.
Extract News Article Metadata from Website
Extract headline, author, publication date, summary, category, and named entities from a public news article.
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 Pricing Table from Website
Extract plan names, prices, billing periods, and feature lists from a public pricing page.
Extract Product Catalog Entry
Extract product name, SKU, price, and specifications from a catalog document into structured JSON for e-commerce workflows.
Extract Product Data and Generate a Listing Image
Extract product details from a supplier data sheet, then generate a branded e-commerce listing image with the product name, price, and key specs.
Extract Product Data from Website
Extract product name, price, availability, description, and specifications from a public product page.
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 Public Registry Page
Extract organization name, registration number, status, registration date, and officers from a public registry page.
Extract a Purchase Order and Generate a Confirmation
Extract line items and delivery details from a customer purchase order PDF, then generate a formatted order confirmation PDF ready to send back to the buyer.
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 from Website
Extract address, listing price, bedrooms, bathrooms, amenities, and agent contact details from a public listing page.
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 Receipts and Generate Expense Report
Extract merchant, date, amount, and category from receipt photos and PDFs in one call, then generate an XLSX expense report with a totals row.
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 Rental Applications to Spreadsheet
Extract applicant details from rental application PDFs and generate a side-by-side XLSX for comparing income, employment, and move-in dates.
Extract Residential Lease Data
Extract landlord, tenant, property, lease dates, rent, deposit, utilities, occupants, and pet terms from residential leases.
Extract Restaurant Menu from Website
Extract menu item names, prices, descriptions, and dietary notes from a public restaurant menu page.
Extract Resume Data and Generate an Employee Profile
Extract candidate information from a resume PDF, then generate a formatted employee profile document for HR onboarding.
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 Catalog from Website
Extract SKUs, product names, unit prices, availability, and minimum order quantities from a supplier catalog page.
Extract Supplier Catalog to Spreadsheet
Extract every product from a supplier catalog PDF — SKUs, names, prices, MOQs — and generate a ready-to-import XLSX in two API calls.
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 Terms and Generate a Simplified Summary
Extract key clauses from terms and conditions documents, then generate a plain-language PDF summary for client review.
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 Violations and Generate a Fine Summary
Extract traffic violation data from fine notices, then generate a spreadsheet summarizing all violations for fleet management.
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.
Generate A+ Content Banner
Generate an Amazon A+ Content banner image for book marketing with cover art, title, and branding.
Generate Billing Statement
Generate an XLSX billing statement with a merged company header, subscription line items, overages, credits, and subtotal/tax/total formulas.
Generate Book Cover Spreads
Generate print-ready book cover spreads with back cover, spine, and front cover in a single image.
Generate a Compliance Audit Document
Generate a formatted PDF compliance audit document with findings, risk ratings, remediation recommendations, and sign-off sections.
Generate DOCX Contract
Generate an editable DOCX service agreement with parties, terms, and payment schedule.
Generate Email Banner
Generate a personalized email banner image with text, logo, and brand colors.
Generate Employee Offer Letter
Generate a professional offer letter PDF with role, compensation, start date, and company details.
Generate Employee Report
Generate an XLSX employee report with departments, salaries, hire dates, and currency formatting.
Generate EPUB Book
Generate a complete EPUB e-book with chapters, table of contents, and rich text formatting.
Generate Event Ticket
Generate an event ticket image with QR code, event name, date, venue, and seat information.
Generate Front Book Cover
Generate a front cover image with custom artwork, title text, and author attribution.
Generate Inventory Report
Generate an XLSX inventory report with stock levels, reorder points, unit costs, and total value formulas for purchasing teams.
Generate Invoice Spreadsheet
Generate an XLSX invoice with company info, line items, subtotal/tax/total formulas, and currency formatting.
Generate a Multi-Client Usage Report
Generate a multi-sheet XLSX report tracking API usage, credit consumption, and billing across multiple agency clients.
Generate NDA
Generate a non-disclosure agreement PDF with party names, effective date, and standard confidentiality terms.
Generate OG Image
Generate a branded Open Graph image with a generative wave background, logo, and tagline.
Generate Order Export
Export e-commerce order data to CSV with order numbers, customer details, amounts, and fulfillment status.
Generate Packing Slip and Shipping Label
Generate a PDF packing slip and a PNG shipping label from the same order data in a single fulfillment workflow.
Generate Packing Slip
Generate a packing slip PDF with order details, item list, and shipping address.
Generate PDF Certificate
Generate a professional achievement certificate with recipient name, course details, date, and a QR code for formal download or print.
Generate PDF Invoice
Generate a professional PDF invoice with company branding, line items, and totals.
Generate PDF Manuscript
Generate a print-ready PDF manuscript with title page, table of contents, and chapters at 6x9 inch trim size.
Generate PDF Report
Generate a professional PDF report with title, executive summary, data table, and footer.
Generate Product Datasheet
Generate a professional product specification sheet with images, feature tables, technical specs, and contact information.
Generate Product Listing Image
Generate a product listing image with photo, price badge, and promotional text overlay.
Generate Product Promo Banner
Optimize a product photo and compose it into a promotional banner with sale text and pricing.
Generate Product Promo Card
Generate a product promotional card with a product photo, sale badge, and pricing text.
Generate Product Slide
Generate a branded product slide image with headline, feature pills, and a call-to-action — all arranged with layout layers.
Generate Quarterly Report
Create a structured quarterly business report with table of contents, data tables, and page numbers.
Generate Real Estate Listing Graphic
Generate a branded property listing graphic with a property photo, status badge, price, address, and key stats.
Generate Report Card Image
Generate a visual KPI report card with a headline metric, secondary stats, and branding — shareable as an image.
Generate Restaurant Menu
Generate a branded restaurant menu PDF with sections, items, prices, and descriptions.
Generate Sales Dashboard
Generate a multi-sheet XLSX workbook with quarterly revenue, expenses, and summary formulas.
Generate Sales Report Spreadsheet
Generate a formatted XLSX spreadsheet with sales data, currency formatting, and bold headers.
Generate Shipping Label
Generate a compact PDF shipping label with sender and recipient addresses, barcode, and tracking number.
Generate Slide Deck
Build a PowerPoint slide deck with title slide, content slides, and call-to-action page.
Generate Social Media Book Promo
Generate a vertical story image for TikTok or Instagram book promotion with cover art, hook text, and author branding.
Generate Thumbnail
Resize a source image to a thumbnail and convert to WebP.
Generate Timesheet Export
Generate an XLSX timesheet with logged hours, hourly rates, per-entry amount formulas, and totals for client billing or payroll.
Generate a White-Label PDF Report
Generate a branded PDF report with custom client logo placeholder, colors, and content sections for white-label agency delivery.
Generate YouTube Thumbnail
Generate a YouTube thumbnail with bold title text, gradient background, and a static image cutout.
Resize, Watermark, and Convert Image
Resize an image, add a branded text watermark, and convert to WebP in a two-step pipeline.
Invoice to PDF Report
Extract invoice data and generate a formatted PDF summary in a single pipeline.
Convert Markdown to Styled PDF
Generate a professionally styled PDF document from Markdown content with custom fonts, headers, and page numbers.
Optimize Product Image for Amazon
Prepare a product photo to meet Amazon's main image requirements: pure white background, square format, 2000×2000px, JPEG.
Optimize Product Image for Etsy
Smart crop a product photo to Etsy's recommended 2000×2000px square format and export as JPEG.
Optimize Product Image for Shopify
Resize a product photo to Shopify's recommended 2048×2048px square format, sharpen, and convert to WebP for fast storefront load times.
Optimize Product Photo
Resize, enhance, and compress a product photo for an e-commerce listing with consistent quality.
Preprocess Document for LLM Classification
Convert a document to markdown and classify it with an LLM in a single pipeline.
Process Real Estate Photo
Enhance and standardize a property listing photo with auto-contrast, sharpening, and consistent sizing.
Remove Background and Generate Product Card
Remove the background from a raw product photo, then compose it into a branded listing card with the product name and price.
Resize Image for Print Publishing
Resize and convert manuscript images to KDP-compliant dimensions at 300 DPI for print-on-demand.
Resize Image for Social Media
Resize and crop a single image into platform-specific dimensions for social media.
Smart Crop Avatar and Remove Background
Smart crop to face, remove the background, and convert to WebP for a clean user avatar.
Smart Crop Product Image
AI-powered subject-aware crop that centers on the product regardless of its position in the frame.
Upscale Low-Resolution Image
Upscale a low-resolution image using AI super-resolution for print or high-DPI display.
Watermark an Image
Apply a text watermark to a photo using layer-based image composition for brand protection and copyright.
One n8n node for your entire pipeline
Most n8n document workflows chain three or four separate services. The Iteration Layer community node covers extraction, transformation, and generation in a single install — wire up multi-step pipelines visually instead of writing glue code.
Stop wiring vendors together by hand
Every API returns structured output that feeds straight into the next. Official SDKs for TypeScript, Python, and Go. OpenAPI spec for everything else. MCP-ready for AI agents.
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
name
Elena Vasquez
current_title
Senior Software Engineer
location
Berlin, Germany
elena.vasquez@email.com
github
github.com/elenavasquez
experience_years
8
education
M.Sc. Computer Science, Technical University of Munich
skills
Elixir, Python, Go, Kubernetes, PostgreSQL, Kafka, Terraform, AWS
merchant
Custom Burger
phone
(415) 252-2634
order_datetime
Apr'28'09 03:09PM
order_number
9007
address
121 Seventh Street, San Francisco, CA 94103
wifi
SOMA250 / 59632
line_items
description
Veggie Burger
amount
USD 5.99
description
Bleu Cheese
amount
USD 1.49
description
1 Bal 1/2
amount
USD 3.79
description
Cash
amount
USD 13.00
subtotal
USD 11.27
tax
USD 1.07
payment
USD 12.34
change_due
USD 0.66
date
2024-11-05
author
Operations Office
to
COO, CFO, VP Operations
subject
Q1 readiness, staffing posture, and warehouse expansion
action_items
Finalize racking vendor shortlist
Publish revised hiring guardrails
Send weekly margin dashboard to leadership
\documentclass[11pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{booktabs}
\usepackage{hyperref}
\title{Document Processing Benchmark Notes}
\author{Nadia Keller}
\date{March 2026}
\begin{document}
\maketitle
\begin{abstract}
We compared structured extraction, markdown conversion, and spreadsheet generation workflows across invoices, scanned warehouse sheets, and compliance packets.
\end{abstract}
\section{Scope}
The benchmark covered 120 source files spanning PDF, DOCX, JPEG, and LaTeX inputs. We measured field accuracy, table retention, and handoff effort for downstream automation.
\section{Summary Table}
\begin{tabular}{lrr}
\toprule
Workflow & Accuracy & Median Runtime \\
\midrule
Invoice extraction & 98.4\% & 1.8s \\
Markdown conversion & 96.9\% & 1.2s \\
Sheet generation & 100.0\% & 0.7s \\
\bottomrule
\end{tabular}
\section{Key Findings}
Structured document APIs reduce glue code, preserve tabular content better than OCR-only pipelines, and shorten review time for finance operations.
\begin{itemize}
\item OCR-only pipelines lost row groupings in 17\% of warehouse tables.
\item Markdown output remained suitable for LLM ingestion without custom cleanup.
\item Spreadsheet generation removed a manual CSV reformatting step from the finance workflow.
\end{itemize}
\section{Next Steps}
Extend the benchmark to receipts, insurance packets, and multi-file extraction. Publish the evaluation harness after the April review.
\end{document}
title
Document Processing Benchmark Notes
author
Nadia Keller
abstract
We compared structured extraction, markdown conversion, and spreadsheet generation workflows across invoices, scanned warehouse sheets, and compliance packets.
benchmark_scope
120 files across PDF, DOCX, JPEG, and LaTeX inputs
key_findings
Structured document APIs reduce glue code, preserve tabular content better than OCR-only pipelines, and shorten review time for finance operations
next_step
Extend the benchmark to receipts, insurance packets, and multi-file extraction. Publish the evaluation harness after the April review.
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"
}
]
}
}'
{
"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"
}
}
}
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",
},
],
},
});
{
"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"
}
}
}
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",
},
],
},
)
{
"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"
}
}
}
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",
),
},
})
{
"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"
}
}
}
Official SDKs for every major language
Install the SDK, set your API key, and start chaining requests. Full type safety, automatic retries, and idiomatic error handling included.
Your data stays in the EU
Your data is processed on EU servers and never stored beyond temporary logs. Zero retention, GDPR-compliant by design, with a Data Processing Agreement available for every customer. Learn more about our security practices .
No data storage, no model training
We don't store your files or processing results, and your data is never used to train or improve AI models. Logs are automatically deleted after 90 days.
EU-hosted infrastructure
All processing runs on servers located in the European Union. Your data never leaves the EU.
GDPR-compliant by design
Full compliance with EU data protection regulations. Data Processing Agreement available for all customers.
Pricing
Start with free trial credits. No credit card required.
Developer
For individuals & small projects
Startup
Save 40%For growing teams
Business
Save 47%For high-volume workloads
Or pay as you go from 0.028€/credit with automatic volume discounts.
Built for how you work
Whether you're building pipelines in code, automating workflows, orchestrating AI agents, or shipping client projects — Iteration Layer fits your process.
AI Agents
Connect one MCP server for document, image, website, spreadsheet, and generated-output workflows.
MCP Users
Connect one MCP server that gives Claude, Cursor, Windsurf, and other clients useful content-processing tools.
Developers
One API for solo developers and small dev teams building content-processing workflows.
Operations Teams
Automate the manual document and image tasks that eat hours every week — no custom code required.
Automation Builders
Build unattended document, image, spreadsheet, and reporting workflows without stitching together five services.
EU SaaS Companies
Add document, image, spreadsheet, and PDF workflows without adding another processor chain.
EU AI Agencies
Sell document automation to EU clients with a simpler answer for file processing, retention, and processor documentation.
Agencies
Turn one client workflow into a repeatable delivery system with one account, one credit pool, and project-level control.
Build your first workflow in minutes
Chain our APIs together and ship a complete pipeline before lunch. Free trial credits included — no credit card required.