Document Extraction APIs Arena
Reducto vs Datalab
Reducto
Reducto, Inc.
Reducto wins · 17–11 (22 drawn)
Agenticness — how well agents can access and operate the productAgenticness
How well agents can access and operate the product
Agent access
ai-native userPoint an agent at llms.txt or agent-oriented docs
weight 2 · round to Reductoreducto-probe-1 confirms a live, working llms.txt at docs.reducto.ai/llms.txt returning HTTP 200 with structured links to docs, and the .md-suffixed doc pages (e.g. reducto-docs-29 through -40) show agent-oriented markdown docs are served alongside an MCP server and CLI for agent consumption. Missing for 10: no independent/community confirmation of an agent successfully consuming llms.txt in practice.
- [probe] “PROBE llms.txt: HTTP 200 at https://docs.reducto.ai/llms.txt # Reducto - [Overview](https://docs.reducto.ai/overview.md): The agentic docum…”
- [claimed-docs] “Parse is Reducto's foundational endpoint. It converts documents into structured JSON with text, tables, figures, layout, and formatting”
- [claimed-docs] “agents in Claude Desktop, Claude Code, Codex, Cursor, VS Code, Windsurf, or any other Model Context Protocol client can classify, parse, ext…”
- [probe] “official MCP server documented at https://docs.reducto.ai/mcp-server”
Datalab hosts a working llms.txt confirmed via direct probe (HTTP 200) at documentation.datalab.to/llms.txt, and also exposes .md variants of docs pages, both signals of agent-oriented documentation. Missing for 10: no independent third-party confirmation of agent usage/adoption, and no dedicated agent-facing onboarding guide beyond the llms.txt file and .md endpoints.
- [probe] “PROBE llms.txt: HTTP 200 at https://documentation.datalab.to/llms.txt # Datalab Documentation - [Welcome to Datalab](https://documentation.…”
- [claimed-docs] “You can override the default webhook URL for specific API requests by including the `webhook_url` parameter”
- [claimed-docs] “Fill PDF and image forms with structured field data using the Datalab SDK.”
- [claimed-docs] “Datalab provides file storage for documents you want to process with pipelines or reuse across multiple API calls.”
- [claimed-docs] “Pipelines chain processors (convert, extract, segment, custom) into reusable, versioned configurations.”
- [claimed-docs] “Create a DOCX document from markdown with track changes support. Supports <ins>, <del>, and <comment> tags.”
- [claimed-docs] “Run a published agent processor on a document. Address it with processor=<id>, optionally pinned to a version as <id>@<version>”
- [claimed-docs] “For a given file, generate potential extraction schemas.”
- [claimed-docs] “This endpoint is used to check the health of the API, given an API key.”
ai-native userRun the product headlessly / in CI for automation
weight 2 · round drawnReducto offers a documented API/SDK, CLI, async job endpoints, webhooks, and OpenAPI spec — all standard building blocks for headless/CI automation, with docs explicitly showing scriptable calls like client.parse.run() and CLI usage. Missing for 10: no explicit CI/CD pipeline examples (e.g., GitHub Actions), no independent hands-on report confirming headless CI usage.
- [claimed-docs] “The Reducto CLI gives you direct terminal access to Reducto’s document capabilities: parse, extract, split, classify, and edit.”
- [claimed-docs] “The Reducto CLI gives you direct terminal access to Reducto's document capabilities: parse, extract, split, classify, and edit.”
- [claimed-docs] “`run_job()` Calls async endpoint, returns job ID”
- [claimed-docs] “`run_job()` | Calls async endpoint, returns job ID”
- [claimed-docs] “client.parse.run_job() ... POST /parse_async ... Job ID (returns immediately)”
- [claimed-docs] “result = client.parse.run(input="https://cdn.reducto.ai/samples/fidelity-example.pdf")”
- [probe] “PROBE openapi: HTTP 200 at https://docs.reducto.ai/openapi.json — contains "openapi" key”
- [probe] “official CLI documented at https://docs.reducto.ai/cli”
- [claimed-docs] “Svix webhooks provide cryptographic request signing, automatic retries with exponential backoff, and a delivery dashboard for debugging. Use…”
Datalab exposes a REST API, Python SDK, and dedicated CLI for document conversion/extraction that can be scripted headlessly, plus webhooks to avoid polling and health-check endpoints for automation/CI monitoring. Missing for 10: independent hands-on evidence of CI pipeline usage (e.g., GitHub Actions example) and no discoverable OpenAPI spec for programmatic tooling.
- [claimed-docs] “Use the Datalab CLI to convert documents from the command line.”
- [probe] “official CLI documented at https://documentation.datalab.to/docs/welcome/sdk/cli”
- [claimed-docs] “The Datalab Python SDK provides a simple interface for document conversion, pipelines, structured extraction, form filling, and file managem…”
- [claimed-docs] “Webhooks provide real-time notifications when your document processing jobs complete, eliminating the need for continuous polling.”
- [claimed-docs] “This endpoint is used to check the health of the API, given an API key.”
- [claimed-docs] “Convert a PDF, image, or document to markdown, HTML, JSON, or chunks.”
ai-native userConnect an agent via an official MCP server
weight 3 · round to ReductoReducto is a document processing SaaS (not itself an agent), and it publishes an official MCP server that lets agents in Claude Desktop, Claude Code, Codex, Cursor, VS Code, Windsurf, or any MCP client classify, parse, extract, split, and edit documents as part of their reasoning loop. This is documented first-party and confirmed via probe. Missing for 10: independent/hands-on third-party corroboration of the MCP server working in practice.
- [claimed-docs] “Once installed, agents in Claude Desktop, Claude Code, Codex, Cursor, VS Code, Windsurf, or any other Model Context Protocol client can clas…”
- [claimed-docs] “agents in Claude Desktop, Claude Code, Codex, Cursor, VS Code, Windsurf, or any other Model Context Protocol client can classify, parse, ext…”
- [claimed-docs] “agents in Claude Desktop, Claude Code, Codex, Cursor, VS Code, Windsurf, or any other Model Context Protocol client can classify, parse, ext…”
- [probe] “official MCP server documented at https://docs.reducto.ai/mcp-server”
Datalabnone0/10Datalab is a document conversion/extraction API with SDK, CLI, webhooks, and pipelines, but no evidence anywhere in the pack of an official MCP server or MCP integration for connecting AI agents. This axis applies since Datalab is a SaaS/API platform with an ecosystem where an MCP server would be plausible, but no such capability is documented.
ai-native userUse an official CLI
weight 2 · round to ReductoReducto ships an official CLI documented at docs.reducto.ai/cli, giving direct terminal access to parse, extract, split, classify, and edit — core document capabilities — confirmed by both docs and a probe. Missing for 10: independent/hands-on community corroboration of CLI usage and more detail on CLI-specific agentic scripting workflows.
- [claimed-docs] “The Reducto CLI gives you direct terminal access to Reducto’s document capabilities: parse, extract, split, classify, and edit.”
- [claimed-docs] “The Reducto CLI gives you direct terminal access to Reducto's document capabilities: parse, extract, split, classify, and edit.”
- [probe] “official CLI documented at https://docs.reducto.ai/cli”
Datalab documents an official CLI for converting documents from the command line, confirmed both in docs and a live probe of the CLI page. Missing for 10: no independent/hands-on corroboration of CLI usage, and no detail on CLI feature parity with the SDK (pipelines, extraction, etc.) beyond basic conversion.
- [claimed-docs] “Use the Datalab CLI to convert documents from the command line.”
- [probe] “official CLI documented at https://documentation.datalab.to/docs/welcome/sdk/cli”
ai-native userDrive the product through a documented public API
weight 3 · round drawnReducto ships a documented public API (OpenAPI spec confirmed at openapi.json) covering parse, extract, split, classify, edit/fill, async job workflows, webhooks, and configuration options, plus SDK code examples throughout the docs and a quickstart. It also has a CLI and MCP server that let agents drive the same capabilities programmatically. Missing for 10: independent hands-on developer confirmation of API ergonomics/completeness beyond first-party docs.
- [probe] “PROBE openapi: HTTP 200 at https://docs.reducto.ai/openapi.json — contains "openapi" key”
- [claimed-docs] “result = client.parse.run(input="https://cdn.reducto.ai/samples/fidelity-example.pdf")”
- [claimed-docs] “result = client.parse.run( input=upload.file_id, retrieval={ "chunking": { "chunk_mode": "variable", …”
- [claimed-docs] “`run_job()` Calls async endpoint, returns job ID”
- [claimed-docs] “Svix webhooks provide cryptographic request signing, automatic retries with exponential backoff, and a delivery dashboard for debugging.”
- [claimed-docs] “The Reducto CLI gives you direct terminal access to Reducto’s document capabilities: parse, extract, split, classify, and edit.”
- [probe] “official MCP server documented at https://docs.reducto.ai/mcp-server”
- [claimed-docs] “Multi-step workflows that chain classification, parsing, extraction, and editing into single API calls”
Datalab exposes a documented public API/SDK with explicit endpoints (convert, extract, segment, pipelines, webhooks, health check), plus CLI and Python SDK, all backed by extensive first-party API reference docs; a llms.txt probe confirms machine-readable docs discoverability. Minor gap: no formal OpenAPI/swagger spec was found (404s), so machine-consumable schema is less standardized. Missing for 10: a discoverable OpenAPI/swagger spec and independent third-party confirmation of API robustness.
- [claimed-docs] “The Datalab Python SDK provides a simple interface for document conversion, pipelines, structured extraction, form filling, and file managem…”
- [claimed-docs] “Convert a PDF, image, or document to markdown, HTML, JSON, or chunks.”
- [claimed-docs] “Extract structured data from a document using a JSON schema.”
- [claimed-docs] “Segment a document into sections using a schema. Returns page ranges for each identified segment.”
- [claimed-docs] “Configure webhooks to receive real-time notifications when Datalab jobs complete.”
- [claimed-docs] “Use the Datalab CLI to convert documents from the command line.”
- [probe] “PROBE llms.txt: HTTP 200 at https://documentation.datalab.to/llms.txt # Datalab Documentation - [Welcome to Datalab](https://documentation.…”
- [probe] “PROBE openapi: all candidate paths 404 (https://documentation.datalab.to/openapi.json, https://documentation.datalab.to/swagger.json, https:…”
- [probe] “official CLI documented at https://documentation.datalab.to/docs/welcome/sdk/cli”
ai-native userIssue scoped/least-privilege API credentials for an agent
weight 2 · round drawnReductonone0/10No evidence in the pack of scoped/least-privilege API key management, role-based credential issuance, or agent-specific token scoping — only general security/compliance policies (ZDR, SOC2, HIPAA) and enterprise deployment options are documented, none of which address credential scoping for agents.
ai-native userBuild against official SDKs
weight 2 · round to DatalabDocs show code examples using a client SDK (e.g. client.parse.run, client.extract, run_job) plus an OpenAPI spec, CLI, and MCP server, indicating official SDK-style access for building integrations. However, there is no explicit documentation naming specific language SDKs (e.g. Python/TypeScript packages), install instructions, or versioning/release notes, and no independent developer corroboration of SDK usability. Missing for 10: named official SDK packages with install/versioning docs, independent hands-on validation of SDK usage.
- [claimed-docs] “result = client.parse.run(input="https://cdn.reducto.ai/samples/fidelity-example.pdf")”
- [claimed-docs] “result = client.parse.run( input=upload.file_id, retrieval={ "chunking": { "chunk_mode": "variable", …”
- [claimed-docs] “`run_job()` Calls async endpoint, returns job ID”
- [claimed-docs] “`run_job()` | Calls async endpoint, returns job ID”
- [probe] “PROBE openapi: HTTP 200 at https://docs.reducto.ai/openapi.json — contains "openapi" key”
- [probe] “official CLI documented at https://docs.reducto.ai/cli”
Datalab documents an official Python SDK covering conversion, extraction, pipelines, form filling, and file management, plus an official CLI, giving AI-native developers first-party programmatic access to build against. Missing for 10: independent/hands-on developer corroboration beyond vendor docs, and no public OpenAPI/SDKs for other languages confirmed (openapi probe 404s).
- [claimed-docs] “The Datalab Python SDK provides a simple interface for document conversion, pipelines, structured extraction, form filling, and file managem…”
- [claimed-docs] “Use the Datalab CLI to convert documents from the command line.”
- [claimed-docs] “Pipelines chain processors (convert, extract, segment, custom) into reusable, versioned configurations.”
- [claimed-docs] “Datalab provides file storage for documents you want to process with pipelines or reuse across multiple API calls.”
- [probe] “official CLI documented at https://documentation.datalab.to/docs/welcome/sdk/cli”
- [probe] “PROBE openapi: all candidate paths 404 (https://documentation.datalab.to/openapi.json, https://documentation.datalab.to/swagger.json, https:…”
ai-native userSubscribe to events via webhooks
weight 2 · round drawnReducto documents webhook subscriptions via Svix integration, with cryptographic signing, retries, and a delivery dashboard accessible from Reducto Studio, enabling async job completion notifications for agentic workflows. Missing for 10: independent hands-on confirmation of webhook reliability and no detail on event/payload schema variety.
- [claimed-docs] “Svix webhooks provide cryptographic request signing, automatic retries with exponential backoff, and a delivery dashboard for debugging.”
- [claimed-docs] “In Reducto Studio, go to Webhooks in the sidebar. This opens your Svix dashboard directly.”
- [claimed-docs] “Svix webhooks provide cryptographic request signing, automatic retries with exponential backoff, and a delivery dashboard for debugging. Use…”
Datalab has clear first-party docs for webhooks: real-time job-completion notifications avoiding polling, plus per-request webhook_url override support, directly matching the story's intent for event-driven/agentic integration. Missing for 10: no documented signature verification/security scheme details or independent/hands-on confirmation of webhook delivery reliability.
- [claimed-docs] “Webhooks provide real-time notifications when your document processing jobs complete, eliminating the need for continuous polling.”
- [claimed-docs] “You can override the default webhook URL for specific API requests by including the webhook_url parameter”
- [claimed-docs] “Configure webhooks to receive real-time notifications when Datalab jobs complete.”
- [claimed-docs] “You can override the default webhook URL for specific API requests by including the `webhook_url` parameter”
Agentic features
ai-native userGet AI-generated insights and suggestions from my data inside the product
weight 2 · round to DatalabReductonone0/10Reducto's evidence covers structured document parsing, extraction, classification, and agentic prompting for extraction tasks, but nothing shows the product generating its own insights, summaries, or proactive suggestions from processed data — it only returns what the user's schema/prompt explicitly asks for. No evidence of an insights/recommendations layer inside Reducto Studio or the API.
Datalab offers some AI-assisted automation—auto-generating extraction schemas for a document (datalab-docs-41) and running 'agent processors' on documents (datalab-docs-40)—which could be seen as AI suggesting how to interpret/extract data. However, there's no evidence of broader analytical insights, summaries, trend detection, or proactive suggestions about data content beyond structured extraction. missing for 10: evidence of AI-generated summaries/insights beyond schema suggestion, evidence of in-product analytics or pattern detection, and any independent corroboration of these agentic features actually surfacing insights to users.
- [claimed-docs] “Run a published agent processor on a document. Address it with processor=<id>, optionally pinned to a version as <id>@<version>”
- [claimed-docs] “For a given file, generate potential extraction schemas.”
ai-native userSet up automations that run autonomously in the background
weight 2 · round drawnReducto supports async job processing (run_job returns a job ID) plus Svix webhook callbacks for delivery/retry, and Studio pipelines can be deployed as a callable Pipeline ID chaining classify/parse/extract/edit steps — this enables background, non-blocking processing rather than requiring synchronous polling. However, there's no evidence of autonomous triggers (e.g., scheduled jobs, folder/inbox watchers, event-driven ingestion) that would let an automation run on its own without an explicit API call to kick it off. Missing for 10: scheduled/cron-style automation, autonomous trigger mechanisms (e.g., watch new documents arriving), and independent confirmation that pipelines run unattended in production.
- [claimed-docs] “`run_job()` Calls async endpoint, returns job ID”
- [claimed-docs] “`run_job()` | Calls async endpoint, returns job ID”
- [claimed-docs] “client.parse.run_job() ... POST /parse_async ... Job ID (returns immediately)”
- [claimed-docs] “Svix webhooks provide cryptographic request signing, automatic retries with exponential backoff, and a delivery dashboard for debugging.”
- [claimed-docs] “In Reducto Studio, go to Webhooks in the sidebar. This opens your Svix dashboard directly.”
- [claimed-docs] “Svix webhooks provide cryptographic request signing, automatic retries with exponential backoff, and a delivery dashboard for debugging. Use…”
- [claimed-docs] “Multi-step workflows that chain classification, parsing, extraction, and editing into single API calls”
- [claimed-docs] “Build document workflows by configuring classification, parsing, extraction, and editing steps, test on real documents with the citation vie…”
Datalab supports background, non-blocking automation via webhooks (eliminating polling) and 'Pipelines' that chain processors into versioned, reusable configurations deployable to production, plus a 'run document agent' endpoint for published agent processors — these together allow document workflows to run unattended once triggered. However there is no evidence of scheduling, event-based triggers, or a true autonomous loop that decides when/what to run without an external caller invoking the API. Missing for 10: scheduling/cron or event-trigger mechanisms, evidence of multi-step autonomous decision-making beyond a single processor call, and independent confirmation of pipelines running unattended in production.
- [claimed-docs] “Webhooks provide real-time notifications when your document processing jobs complete, eliminating the need for continuous polling.”
- [claimed-docs] “You can override the default webhook URL for specific API requests by including the webhook_url parameter”
- [claimed-docs] “Pipelines — Chain processors into versioned, reusable configurations and deploy to production”
- [claimed-docs] “Pipelines chain processors (convert, extract, segment, custom) into reusable, versioned configurations.”
- [claimed-docs] “Run a published agent processor on a document. Address it with processor=<id>, optionally pinned to a version as <id>@<version>”
ai-native userOperate the product with natural-language commands
weight 2 · round to ReductoReducto supports natural-language commands for defining schemas, split sections, classification categories, and edit instructions across Extract, Split, Classify, and Fill/Edit endpoints, and its MCP server lets AI agents invoke these capabilities conversationally as part of a reasoning loop. However, this is scoped to document-processing operations rather than general product operation (e.g., no evidence of natural-language control over account/admin settings, billing, or deployment config), and there's no independent hands-on verification of the MCP/CLI natural-language experience. missing for 10: broader natural-language control beyond document parsing/extraction tasks, independent corroboration of the MCP/agentic natural-language workflow actually working well in practice.
- [claimed-docs] “Extract pulls specific fields from documents as structured JSON. You define a schema describing the data you need, and Reducto returns value…”
- [claimed-docs] “Split identifies which pages contain which sections of a document. You describe sections in natural language, and Reducto returns the page n…”
- [claimed-docs] “Route documents by type before processing. Define categories in natural language.”
- [claimed-docs] “Fill PDF forms and modify DOCX files programmatically with natural language instructions.”
- [claimed-docs] “Once installed, agents in Claude Desktop, Claude Code, Codex, Cursor, VS Code, Windsurf, or any other Model Context Protocol client can clas…”
- [claimed-docs] “agents in Claude Desktop, Claude Code, Codex, Cursor, VS Code, Windsurf, or any other Model Context Protocol client can classify, parse, ext…”
- [claimed-docs] “Classify determines what kind of document you are looking at before any downstream processing begins. You specify categories with natural la…”
- [probe] “official MCP server documented at https://docs.reducto.ai/mcp-server”
Datalabnone0/10Datalab's evidence only shows a structured REST API, Python SDK, and CLI for document conversion/extraction — all requiring code or CLI syntax, not natural-language commands. No chat-based interface, NL command layer, or agent-facing conversational control surface is documented anywhere in the evidence pack.
- [claimed-docs] “The Datalab Python SDK provides a simple interface for document conversion, pipelines, structured extraction, form filling, and file managem…”
- [claimed-docs] “Use the Datalab CLI to convert documents from the command line.”
- [probe] “official CLI documented at https://documentation.datalab.to/docs/welcome/sdk/cli”
- [claimed-docs] “Run a published agent processor on a document. Address it with processor=<id>, optionally pinned to a version as <id>@<version>”
Api quality
ai-native userExplore an interactive API reference with runnable examples
weight 2 · round drawnReducto's docs include code snippets (quickstart, chunking, async job examples) and an openapi.json spec, suggesting a structured API reference, but there's no evidence of an interactive, in-browser 'try it now' or runnable-example experience typical of tools like Swagger UI or Postman-style docs. Missing for 10: explicit interactive/try-it API console, evidence of live code execution in docs, independent confirmation of interactivity.
- [claimed-docs] “result = client.parse.run(input="https://cdn.reducto.ai/samples/fidelity-example.pdf")”
- [claimed-docs] “result = client.parse.run( input=upload.file_id, retrieval={ "chunking": { "chunk_mode": "variable", …”
- [claimed-docs] “`run_job()` | Calls async endpoint, returns job ID”
- [probe] “PROBE openapi: HTTP 200 at https://docs.reducto.ai/openapi.json — contains "openapi" key”
- [probe] “PROBE llms.txt: HTTP 200 at https://docs.reducto.ai/llms.txt # Reducto - [Overview](https://docs.reducto.ai/overview.md): The agentic docum…”
Datalab publishes detailed API reference pages (convert-document, extract-structured-data, segment-document, create-document, run-document-agent, etc.) and offers a separate 'Forge' playground where users can upload documents and see results instantly without an API key, giving some interactive/try-it-now experience. However, a probe for a standard OpenAPI/Swagger spec (which typically powers runnable 'try it' examples embedded directly in API reference pages) returned 404s across all candidate paths, and no evidence shows executable code samples or a live 'run this request' widget within the API reference itself. Missing for 10: an OpenAPI/Swagger spec or embedded runnable request builder directly in the API reference docs, and confirmation that Forge is linked/integrated with the reference pages rather than a separate playground.
- [claimed-docs] “Convert a PDF, image, or document to markdown, HTML, JSON, or chunks.”
- [claimed-docs] “Extract structured data from a document using a JSON schema.”
- [claimed-docs] “Segment a document into sections using a schema. Returns page ranges for each identified segment.”
- [claimed-docs] “Want to try before writing code? Upload a document to Forge to see results instantly — no API key required.”
- [claimed-docs] “Upload a document to Forge to see results instantly — no API key required.”
- [probe] “PROBE openapi: all candidate paths 404 (https://documentation.datalab.to/openapi.json, https://documentation.datalab.to/swagger.json, https:…”
ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)
weight 2 · round to ReductoA probe confirms a live OpenAPI spec is downloadable at https://docs.reducto.ai/openapi.json returning HTTP 200 with an 'openapi' key, directly satisfying the machine-readable API spec requirement. Missing for 10: no independent/community confirmation of spec usage or completeness beyond the probe check.
- [probe] “PROBE openapi: HTTP 200 at https://docs.reducto.ai/openapi.json — contains "openapi" key”
Datalabnone0/10Datalab has a full REST API reference (convert, extract, segment, webhooks, etc.) but a direct probe for standard OpenAPI/Swagger spec locations (openapi.json, swagger.json, etc.) returned 404 across all checked paths, and no evidence of a downloadable machine-readable spec file was found anywhere in the docs.
- [probe] “PROBE openapi: all candidate paths 404 (https://documentation.datalab.to/openapi.json, https://documentation.datalab.to/swagger.json, https:…”
- [probe] “PROBE llms.txt: HTTP 200 at https://documentation.datalab.to/llms.txt # Datalab Documentation - [Welcome to Datalab](https://documentation.…”
ai-native userTest against a sandbox environment without touching production data
weight 1 · round to DatalabReductonone0/10Reducto's docs describe Studio (build/test workflows on real documents before deploying as a Pipeline ID) and a quickstart sample PDF, but there is no evidence of a distinct sandbox/test environment, test API keys, or staging mode explicitly separated from production data. Missing for 10: dedicated sandbox/test mode or environment, sample/test data set isolated from production, documentation contrasting sandbox vs production usage.
- [claimed-docs] “Build document workflows by configuring classification, parsing, extraction, and editing steps, test on real documents with the citation vie…”
- [claimed-docs] “result = client.parse.run(input="https://cdn.reducto.ai/samples/fidelity-example.pdf")”
Datalab offers a free-tier Forge playground and a monthly usage allowance explicitly framed for running a 'proof of concept' without a credit card, letting users try conversions before committing to production workflows (datalab-docs-9, datalab-docs-10, datalab-docs-23, datalab-docs-42). However, there is no dedicated 'sandbox environment' concept, no separate test API keys/staging tier, and no mention of isolating test runs from production billing/data pipelines. Missing for 10: an explicit sandbox/staging mode, test-vs-production API key separation, and confirmation that sandbox usage doesn't touch production data stores or billing.
- [claimed-docs] “Want to try before writing code? Upload a document to Forge to see results instantly — no API key required.”
- [claimed-docs] “new accounts include a **free monthly usage allowance** (no credit card required), enough to run a full proof of concept on your own documen…”
- [claimed-docs] “Upload a document to Forge to see results instantly — no API key required.”
- [claimed-docs] “new accounts include a **free monthly usage allowance** (no credit card required)”
- [claimed-docs] “In-app playground renamed from “Forge Playground” to **Forge** (`/app/playground`).”
ai-native userRely on versioned APIs with a documented deprecation policy
weight 2 · round drawnReductonone0/10Evidence shows an OpenAPI spec and API docs exist, but there is no mention of API versioning scheme or a documented deprecation policy anywhere in the pack. missing for 10: versioning scheme documentation, explicit deprecation policy, changelog/migration guides.
- [probe] “PROBE openapi: HTTP 200 at https://docs.reducto.ai/openapi.json — contains "openapi" key”
Datalabnone0/10While Datalab documents processor/pipeline versioning (e.g., pinning to id@version, versioned pipeline configs) and maintains a changelog, there is no evidence of a documented API versioning scheme (e.g., v1/v2 endpoints) or an explicit deprecation policy for its APIs.
- [claimed-docs] “Run a published agent processor on a document. Address it with processor=<id>, optionally pinned to a version as <id>@<version>”
- [claimed-docs] “Pipelines chain processors (convert, extract, segment, custom) into reusable, versioned configurations.”
- [claimed-docs] “Track Changes is now available in the Playground — upload a DOCX, PDF, or image file to preview tracked changes extraction results directly …”
- [claimed-docs] “In-app playground renamed from “Forge Playground” to **Forge** (`/app/playground`).”
- [probe] “PROBE openapi: all candidate paths 404 (https://documentation.datalab.to/openapi.json, https://documentation.datalab.to/swagger.json, https:…”
Automation depth — how much of the product can run unattendedAutomation depth
How much of the product can run unattended
ai-native userPerform bulk operations across many items at once
weight 2 · round to ReductoReducto documents a batch queue with discounted pricing for Parse/Extract jobs, async job submission (run_job), a CLI for scripting over many files, and webhooks for tracking completions — all of which support processing many documents in bulk. However, there is no explicit documentation of a single bulk/batch API call accepting a list of many items, nor independent evidence of throughput/scale at high volume (one community report even notes struggles with long/large documents). missing for 10: explicit bulk-submission API (array of documents in one call), documented scale/performance benchmarks for large batches, independent confirmation of reliable bulk throughput.
- [claimed-docs] “Parse and Extract jobs submitted through the batch queue receive a 20% usage discount.”
- [claimed-docs] “`run_job()` Calls async endpoint, returns job ID”
- [claimed-docs] “`run_job()` | Calls async endpoint, returns job ID”
- [claimed-docs] “The Reducto CLI gives you direct terminal access to Reducto’s document capabilities: parse, extract, split, classify, and edit.”
- [claimed-docs] “Svix webhooks provide cryptographic request signing, automatic retries with exponential backoff, and a delivery dashboard for debugging.”
- [community] “We used Reducto and it did struggle with long documents. As we process financial documents going over 300+ pages using Gemini 3 Flash is pro…”
Datalab's SDK, CLI, and pipelines allow scripting repeated calls across many documents, and webhooks let jobs run asynchronously without polling, which supports processing many items programmatically. However, there is no explicit documented 'bulk' or 'batch' API endpoint that accepts multiple files/items in a single call — evidence only shows single-document convert/extract/segment endpoints and file storage for reuse. Missing for 10: a dedicated batch/bulk-submission endpoint, documented concurrency/throughput limits for large-scale runs, and any hands-on/community confirmation of successful large-batch processing.
- [claimed-docs] “The Datalab Python SDK provides a simple interface for document conversion, pipelines, structured extraction, form filling, and file managem…”
- [claimed-docs] “Use the Datalab CLI to convert documents from the command line.”
- [claimed-docs] “Webhooks provide real-time notifications when your document processing jobs complete, eliminating the need for continuous polling.”
- [claimed-docs] “Datalab provides file storage for documents you want to process with pipelines or reuse across multiple API calls.”
- [claimed-docs] “Pipelines chain processors (convert, extract, segment, custom) into reusable, versioned configurations.”
- [claimed-docs] “Convert a PDF, image, or document to markdown, HTML, JSON, or chunks.”
ai-native userDefine rules that trigger actions automatically on events
weight 3 · round drawnReducto supports webhook-based event notifications on job completion (Svix, with retries) and conditional routing/classification that lets downstream steps branch by document type, plus chainable multi-step workflows — these are event/condition-triggered automations. However there is no documented general-purpose 'rules engine' where a user defines arbitrary if-this-then-that triggers/actions; the automation is limited to job-lifecycle webhooks and document-type routing within Reducto's own pipeline. Missing for 10: a user-facing rules/trigger configuration UI or API for arbitrary event-action bindings, examples of rules beyond routing/classification, and independent confirmation of this automation working in production.
- [claimed-docs] “Route documents by type before processing. Define categories in natural language.”
- [claimed-docs] “Multi-step workflows that chain classification, parsing, extraction, and editing into single API calls”
- [claimed-docs] “Svix webhooks provide cryptographic request signing, automatic retries with exponential backoff, and a delivery dashboard for debugging.”
- [claimed-docs] “Svix webhooks provide cryptographic request signing, automatic retries with exponential backoff, and a delivery dashboard for debugging. Use…”
- [claimed-docs] “Build document workflows by configuring classification, parsing, extraction, and editing steps, test on real documents with the citation vie…”
- [claimed-docs] “In Reducto Studio, go to Webhooks in the sidebar. This opens your Svix dashboard directly.”
Datalab supports webhooks that fire automatically when processing jobs complete, and pipelines let you chain processors into reusable workflows, giving some event-driven automation. However, there's no evidence of a genuine rules engine where users define arbitrary conditions/triggers (e.g., 'if field X extracted equals Y, then run Z') beyond job-completion notifications and static pipeline chains. Missing for 10: conditional rule definition (if/then logic), custom event types beyond job completion, and any UI/API for user-defined trigger conditions.
- [claimed-docs] “Webhooks provide real-time notifications when your document processing jobs complete, eliminating the need for continuous polling.”
- [claimed-docs] “You can override the default webhook URL for specific API requests by including the webhook_url parameter”
- [claimed-docs] “Configure webhooks to receive real-time notifications when Datalab jobs complete.”
- [claimed-docs] “Pipelines chain processors (convert, extract, segment, custom) into reusable, versioned configurations.”
- [claimed-docs] “Chain processors into versioned, reusable configurations and deploy to production”
ai-native userSchedule recurring jobs or workflows
weight 2 · round drawnReductonone0/10Reducto offers async job execution, webhooks, and pipelines, but there is no evidence of a scheduler or cron-like mechanism for recurring/automated jobs triggered on a time basis. Missing for 10: any documentation of scheduled/recurring job triggers, cron syntax, or periodic workflow execution.
Datalabnone0/10Datalab is a document conversion/extraction API with webhooks, pipelines, and SDK/CLI, but no evidence exists of a scheduling or recurring-job/workflow trigger mechanism (e.g., cron-like scheduling, recurring pipeline execution). Users must invoke conversions/pipelines via API calls triggered externally, not natively scheduled.
Deployment compliance — stories about deployment compliance in this arenaDeployment compliance
Stories about deployment compliance in this arena
Compliance
data engineerUploaded documents get zero-retention handling with SOC 2 and HIPAA options, so I can process contracts and medical records
weight 3 · round to ReductoReducto documents a Zero Data Retention policy (24h expiry) for Growth+ tiers, completed SOC 2 Type I/II, and a HIPAA-compliant pipeline with BAA available for Growth/Enterprise tiers, plus VPC/on-prem deployment options for sensitive data like contracts and medical records. missing for 10: independent/third-party audit confirmation or customer case study validating these compliance claims in practice, and clarity on whether ZDR/HIPAA apply below Growth tier.
- [claimed-docs] “Security policies, data retention: "We have a Zero Data Retention policy (ZDR) for users on our 'Growth' tier and above, meaning all data su…”
- [claimed-docs] “Security policies, compliance: "SOC 2 Type 2: We have completed our SOC 2 Type I and Type II process." and "HIPAA Compliance: We currently o…”
- [claimed-docs] “We have a Zero Data Retention policy (ZDR) for users on our “Growth” tier and above, meaning all data submitted via API is set to expire wit…”
- [claimed-docs] “All data and storage reside in the customer’s VPC, while ephemeral processing is handled by Reducto’s dedicated GPU infrastructure.”
- [claimed-docs] “Customers can choose between a dedicated VPC deployment, a hybrid VPC model, and a fully hosted SaaS model, balancing control, cost, and com…”
Datalab documents privacy-oriented options — Team plan includes 'BAA/DPA', and Enterprise offers on-prem/air-gapped deployment for 'highly-regulated environments' — which implicitly supports HIPAA-related contract needs, but there is no explicit mention of a zero-retention data policy or SOC 2 certification anywhere in the evidence pack. Missing for 10: explicit zero-retention/data-deletion policy statement, explicit SOC 2 attestation/report, explicit HIPAA compliance language (only BAA is named).
- [claimed-docs] “On-prem overview: "Customers can run our models on infrastructure they control with an Enterprise contract." The paid on-prem options target…”
- [claimed-docs] “Pricing page: the Team plan ($400/mo) lists "BAA / DPA" as included, alongside 400 req/min rate limits; Enterprise adds running on your own …”
- [claimed-docs] “Customers can run our models on infrastructure they control with an Enterprise contract.”
- [claimed-docs] “A Helm chart is available for deploying the container on Kubernetes clusters.”
Deployment
data engineerRun the extraction stack in my own VPC or fully self-hosted when documents can't leave my infrastructure
weight 2 · round to ReductoDocs explicitly describe dedicated VPC, hybrid VPC, and fully hosted deployment options, with data/storage residing in customer VPC and only ephemeral processing on Reducto's GPU infra, directly matching the self-hosted/VPC-for-sensitive-documents requirement. Missing for 10: independent/hands-on verification of an actual on-prem deployment and more detail on air-gapped or fully offline operation beyond the docs' description.
- [claimed-docs] “All data and storage reside in the customer’s VPC, while ephemeral processing is handled by Reducto’s dedicated GPU infrastructure.”
- [claimed-docs] “Customers can choose between a dedicated VPC deployment, a hybrid VPC model, and a fully hosted SaaS model, balancing control, cost, and com…”
- [claimed-docs] “Security policies, compliance: "SOC 2 Type 2: We have completed our SOC 2 Type I and Type II process." and "HIPAA Compliance: We currently o…”
Datalab explicitly offers on-prem/self-hosted deployment via Enterprise contract, including a Helm chart for Kubernetes and air-gapped operation on customer infrastructure, plus BAA/DPA for compliance-sensitive plans. Missing for 10: independent/hands-on verification that self-hosted deployment works as documented, and more detail on VPC-specific deployment beyond 'air-gapped' Enterprise mention.
- [claimed-docs] “Customers can run our models on infrastructure they control with an Enterprise contract.”
- [claimed-docs] “On-prem overview: "Customers can run our models on infrastructure they control with an Enterprise contract." The paid on-prem options target…”
- [claimed-docs] “Pricing page: the Team plan ($400/mo) lists "BAA / DPA" as included, alongside 400 req/min rate limits; Enterprise adds running on your own …”
- [claimed-docs] “A Helm chart is available for deploying the container on Kubernetes clusters.”
- [claimed-docs] “New surya-us on-premises container type — a lightweight Chandra-compatible container”
Format coverage — stories about format coverage in this arenaFormat coverage
Stories about format coverage in this arena
Formats
developerOne API handles my whole document mix — PDF, DOCX, PPTX, XLSX, HTML, images, email — without per-format plumbing
weight 2 · round to DatalabReducto's Parse/Extract/Classify docs describe a single API that ingests "documents" generically and Fill/Edit explicitly covers PDF forms and DOCX, but the evidence pack never explicitly confirms PPTX, XLSX, HTML, image, or email ingestion as first-class formats through the same endpoint, so the full "whole document mix" claim is only inferred, not documented. Missing for 10: explicit docs/examples confirming PPTX, XLSX, HTML, raw image, and email (.eml/.msg) inputs handled by the same Parse/Extract calls, and any independent/hands-on confirmation of cross-format consistency.
- [claimed-docs] “Parse is Reducto’s foundational endpoint. It converts documents into structured JSON with text, tables, figures, layout, and formatting”
- [claimed-docs] “Fill PDF forms and modify DOCX files programmatically with natural language instructions.”
- [claimed-docs] “Classify determines what kind of document you are looking at before any downstream processing begins. You specify categories with natural la…”
- [claimed-docs] “For files larger than 100MB, use the presigned URL method. This uploads directly to cloud storage, bypassing the 100MB limit of the standard…”
- [claimed-docs] “Files over 100MB? Use the presigned URL method which supports files up to 5GB.”
Datalab's single convert/extract API explicitly covers PDFs, images, Word docs (DOCX) and spreadsheets (XLSX) through one endpoint (datalab-docs-17, datalab-docs-31), fitting the 'one API for document mix' story. However, the evidence never explicitly confirms PPTX, HTML-as-input, or email formats being handled by the same pipeline, and community evidence flags OCR round-trip limitations for at least one output type. Missing for 10: explicit PPTX support, HTML/email as input formats, and independent confirmation of true format-agnostic handling without per-format quirks.
- [claimed-docs] “Parse PDFs, Word docs, and spreadsheets into Markdown, HTML, or JSON”
- [claimed-docs] “Convert a PDF, image, or document to markdown, HTML, JSON, or chunks.”
- [claimed-docs] “The SDK provides a simple interface to convert documents to Markdown, HTML, JSON, or chunks.”
- [claimed-docs] “The Datalab Python SDK provides a simple interface for document conversion, pipelines, structured extraction, form filling, and file managem…”
- [community] “On Datalab's Chandra-OCR: 'it doesn't follow what I consider to be a fundamental OCR rule: the input document type should also be a possible…”
Scale limits
data engineerThousand-page documents and multi-gigabyte files process reliably without timeouts or silent truncation
weight 2 · round to DatalabReductodisputedcontradicted4/10Reducto documents async job processing, presigned uploads up to 5GB, chunking controls, and batch queuing that suggest large-file/long-document support (reducto-docs-9, 16, 21, 25), but a concrete hands-on community report states Reducto 'did struggle with long documents' on 300+ page financial documents, prompting the reporter to switch to another model for accuracy/speed (reducto-comm-7). This is a direct, specific counter-example to the reliability claim for thousand-page-scale documents, not just general skepticism. Missing for 10: no vendor benchmark or case study specifically addressing multi-thousand-page reliability, no rebuttal or fix documented for the reported struggle, no independent confirmation of timeout-free processing at that scale.
- [claimed-docs] “`run_job()` Calls async endpoint, returns job ID”
- [claimed-docs] “Files over 100MB? Use the presigned URL method which supports files up to 5GB.”
- [claimed-docs] “result = client.parse.run( input=upload.file_id, retrieval={ "chunking": { "chunk_mode": "variable", …”
- [claimed-docs] “Parse and Extract jobs submitted through the batch queue receive a 20% usage discount.”
- [community] “We used Reducto and it did struggle with long documents. As we process financial documents going over 300+ pages using Gemini 3 Flash is pro…”
Datalab documents explicit size/page limits and instructs users to manually segment large documents using page_range, plus checkpoint/save_checkpoint features to avoid re-parsing — indicating large-file handling requires workarounds rather than being fully automatic and reliable out-of-the-box. Missing for 10: explicit evidence of automatic handling of thousand-page or multi-gigabyte files without truncation, documented timeout limits/behavior, and independent confirmation of reliability at scale.
- [claimed-docs] “For documents exceeding these limits, use the page_range parameter to process in segments”
- [claimed-docs] “Use save_checkpoint=true to save parsed state for later /extract or /segment calls.”
- [claimed-docs] “Provide a file for end-to-end processing, or a checkpoint_id from a previous /convert call to skip re-parsing.”
Ocr multilingual — stories about ocr multilingual in this arenaOcr multilingual
Stories about ocr multilingual in this arena
Languages
developerNon-English documents — including CJK and right-to-left scripts — parse with the same fidelity as English
weight 2 · round drawnReductonone0/10No evidence in the pack addresses multilingual or CJK/RTL parsing fidelity at all — docs describe parse/extract/split/classify features and English-language sample workflows, but there's no mention of language support, script coverage, or benchmarks for non-English documents. Missing for 10: any mention of CJK/RTL script support, multilingual accuracy benchmarks, or language-specific documentation/testimonials.
Datalabnone0/10The evidence pack covers Datalab's conversion, extraction, segmentation, and pipeline features but contains no mention of CJK, right-to-left scripts, or multilingual OCR fidelity at all. Since document parsing/OCR fairly raises the question of non-English script support, this is an applicable axis with no supporting evidence, not a category mismatch.
Ocr
developerHandwritten fields and annotations are recognized and extracted, flagged with confidence when uncertain
weight 1 · round drawnReductonone0/10Reducto's docs describe Parse/Extract/Split/Classify with tables, layout, citations (bounding boxes) for extracted values, but nowhere mention handwritten text/annotation recognition or confidence scores flagging uncertain extractions. The axis clearly applies to a document-parsing product, but no evidence supports this specific capability.
Datalabnone0/10The evidence pack covers structured extraction, form filling, track changes, and bounding-box citations, but nowhere mentions handwriting recognition specifically or confidence scoring/flagging for uncertain extractions. Missing for 10: any documentation of handwritten text/field recognition, any confidence score or uncertainty flag in extraction output.
developerScanned and photographed documents OCR accurately — skewed pages, stamps, low quality scans included
weight 3 · round drawnReductonone0/10The evidence describes Reducto's general Parse/Extract capabilities (structured JSON, tables, layout) but contains no documentation or evidence addressing OCR performance specifically on scanned/photographed documents, skewed pages, stamps, or low-quality scans. Community mentions are limited to accuracy comparisons with Mathpix and struggles with long documents, not scan-quality robustness, so there's no positive evidence this specific capability is delivered.
- [claimed-docs] “Parse is Reducto’s foundational endpoint. It converts documents into structured JSON with text, tables, figures, layout, and formatting”
- [claimed-docs] “Parse is Reducto's foundational endpoint. It converts documents into structured JSON with text, tables, figures, layout, and formatting”
- [community] “Mathpix founder: 'Reducto does cool stuff on post processing (and other input formats), but some people have told me Mathpix is better at ju…”
- [community] “Ask HN post: 'Looking for high-quality alternatives to Reducto for document parsing. Need strong table extraction + structured JSON output. …”
Datalabnone0/10Datalab's docs describe general document/image-to-markdown conversion (Marker, Surya, Chandra) but nowhere claim or demonstrate robustness on skewed pages, stamps, or low-quality/photographed scans specifically. The only community evidence found (HN comment on Chandra-OCR) criticizes a different limitation (lack of PDF-to-PDF round-tripping), not scan-quality accuracy, so it neither confirms nor disputes this specific axis. Missing for 10: any benchmark, docs section, or hands-on report addressing accuracy on skewed/rotated pages, stamped documents, or noisy photographed scans.
- [claimed-docs] “Get started with Datalab to convert PDFs, images, and documents into Markdown, HTML, or JSON in minutes.”
- [claimed-docs] “Parse PDFs, Word docs, and spreadsheets into Markdown, HTML, or JSON”
- [community] “On Datalab's Chandra-OCR: 'it doesn't follow what I consider to be a fundamental OCR rule: the input document type should also be a possible…”
Openness — open source, data portability, and self-hosting storiesOpenness
Open source, data portability, and self-hosting stories
ai-native userDo everything through the API that I can do in the UI
weight 2 · round to DatalabReducto's core document operations (parse, extract, split, classify, edit, route) are all exposed as API endpoints, CLI commands, and MCP tools, and Studio-built pipelines can be deployed as a Pipeline ID callable from code, showing strong UI/API parity for document workflows. However, there's no explicit confirmation that every UI feature (e.g., webhook dashboard management, account/billing settings) is fully API-accessible, so parity is inferred rather than exhaustively documented. Missing for 10: explicit 1:1 feature-parity statement, evidence that Studio-only features (webhook dashboard, billing) are API-manageable, independent verification of parity claims.
- [claimed-docs] “Build document workflows by configuring classification, parsing, extraction, and editing steps, test on real documents with the citation vie…”
- [claimed-docs] “The Reducto CLI gives you direct terminal access to Reducto’s document capabilities: parse, extract, split, classify, and edit.”
- [claimed-docs] “Once installed, agents in Claude Desktop, Claude Code, Codex, Cursor, VS Code, Windsurf, or any other Model Context Protocol client can clas…”
- [claimed-docs] “In Reducto Studio, go to Webhooks in the sidebar. This opens your Svix dashboard directly.”
- [probe] “PROBE openapi: HTTP 200 at https://docs.reducto.ai/openapi.json — contains "openapi" key”
- [probe] “official CLI documented at https://docs.reducto.ai/cli”
Datalab UI (Forge/Playground) is explicitly a preview layer for the same processors (convert, extract, segment, pipelines, form filling, track changes) that are fully documented as API and SDK endpoints, with no UI-only feature lacking an API path. Missing for 10: a discoverable OpenAPI/swagger spec (probe found 404s) and an explicit vendor statement guaranteeing full UI/API parity.
- [claimed-docs] “Want to try before writing code? Upload a document to Forge to see results instantly — no API key required.”
- [claimed-docs] “Track Changes is now available in the Playground — upload a DOCX, PDF, or image file to preview tracked changes extraction results directly …”
- [claimed-docs] “The Datalab Python SDK provides a simple interface for document conversion, pipelines, structured extraction, form filling, and file managem…”
- [claimed-docs] “Convert a PDF, image, or document to markdown, HTML, JSON, or chunks.”
- [claimed-docs] “Extract structured data from a document using a JSON schema.”
- [claimed-docs] “Segment a document into sections using a schema. Returns page ranges for each identified segment.”
- [claimed-docs] “Pipelines chain processors (convert, extract, segment, custom) into reusable, versioned configurations.”
- [claimed-docs] “Create a DOCX document from markdown with track changes support. Supports <ins>, <del>, and <comment> tags.”
- [claimed-docs] “Run a published agent processor on a document. Address it with processor=<id>, optionally pinned to a version as <id>@<version>”
- [probe] “PROBE openapi: all candidate paths 404 (https://documentation.datalab.to/openapi.json, https://documentation.datalab.to/swagger.json, https:…”
ai-native userExport all of my data in open formats and leave
weight 3 · round to DatalabReducto's core outputs (Parse, Extract, Split) are all structured JSON, an open format the customer fully owns, and enterprise/on-prem deployments keep data resident in the customer's own VPC — both reduce lock-in. However, there is no explicit account-level 'export all my data and leave' feature, no documented bulk-export or account-deletion/migration-out tool, and the only migration incentive documented is for switching TO Reducto, not away from it. missing for 10: an explicit data-export/account-portability feature, documentation of exporting historical job data/configs, and evidence of migrating away from Reducto.
- [claimed-docs] “Parse is Reducto’s foundational endpoint. It converts documents into structured JSON with text, tables, figures, layout, and formatting”
- [claimed-docs] “Extract pulls specific fields from documents as structured JSON. You define a schema describing the data you need, and Reducto returns value…”
- [claimed-docs] “Split identifies which pages contain which sections of a document. You describe sections in natural language, and Reducto returns the page n…”
- [claimed-docs] “All data and storage reside in the customer’s VPC, while ephemeral processing is handled by Reducto’s dedicated GPU infrastructure.”
- [claimed-docs] “We have a Zero Data Retention policy (ZDR) for users on our “Growth” tier and above, meaning all data submitted via API is set to expire wit…”
Datalab's core function is converting documents into open, non-proprietary formats (Markdown, HTML, JSON) and its underlying models (Marker, Surya, Chandra) remain open source, and file/pipeline management APIs let users manage and retrieve their processed data. However, there is no explicit documentation of a bulk 'export all account data' or account-closure data-portability feature—only per-document conversion outputs and file storage APIs. Missing for 10: explicit account-level data export/deletion tooling, evidence of exporting stored pipeline configs/history, and independent confirmation of full data portability.
- [claimed-docs] “Get started with Datalab to convert PDFs, images, and documents into Markdown, HTML, or JSON in minutes.”
- [claimed-docs] “Parse PDFs, Word docs, and spreadsheets into Markdown, HTML, or JSON”
- [claimed-docs] “The SDK provides a simple interface to convert documents to Markdown, HTML, JSON, or chunks.”
- [claimed-docs] “Convert a PDF, image, or document to markdown, HTML, JSON, or chunks.”
- [claimed-docs] “Datalab provides file storage for documents you want to process with pipelines or reuse across multiple API calls.”
- [claimed-docs] “On-prem overview: "Customers can run our models on infrastructure they control with an Enterprise contract." The paid on-prem options target…”
ai-native userRead the product's source under an open license
weight 2 · round to DatalabReductonone0/10Reducto is a closed, proprietary SaaS API/platform; evidence shows docs, CLI, MCP server, and API references but nothing about source code being available under any open license. No repository or license file is cited anywhere in the evidence pack.
Docs state that Chandra, Marker, and Surya (Datalab's core document/OCR models) "remain free open source" even as paid on-prem/enterprise tiers exist, indicating some source is open — but no explicit license name, no repository link, and no evidence about the core SaaS platform/API code itself being open. missing for 10: explicit license identification (e.g., MIT/Apache), a linked source repository, and confirmation that the broader product (not just underlying models) is open-source.
- [claimed-docs] “On-prem overview: "Customers can run our models on infrastructure they control with an Enterprise contract." The paid on-prem options target…”
ai-native userSelf-host the core product
weight 3 · round drawnReducto offers VPC/on-prem deployment options (dedicated VPC, hybrid VPC, fully hosted SaaS) letting enterprise customers keep data and storage within their own VPC, but ephemeral processing still runs on Reducto's own GPU infrastructure rather than a fully self-hostable, open binary/container a user runs entirely on their own hardware. missing for 10: no evidence of a downloadable/open-source self-host package, no details on hybrid model's compute independence from Reducto's infra, and this option is gated behind enterprise tier rather than open to any AI-native user.
- [claimed-docs] “All data and storage reside in the customer’s VPC, while ephemeral processing is handled by Reducto’s dedicated GPU infrastructure.”
- [claimed-docs] “Customers can choose between a dedicated VPC deployment, a hybrid VPC model, and a fully hosted SaaS model, balancing control, cost, and com…”
Datalab documents genuine on-prem deployment (Helm chart for Kubernetes, on-prem containers, air-gapped Enterprise option) confirming self-hosting is technically possible, and the underlying models (Chandra, Marker, Surya) are free open source. However, running the full core product on your own infrastructure is explicitly gated behind an Enterprise sales contract rather than being freely self-hostable by any AI-native user. Missing for 10: evidence of an accessible/self-serve self-hosted deployment path (e.g., public Docker image with docs, license terms) without requiring a sales contract, and independent confirmation of successful self-hosted setups.
- [claimed-docs] “Customers can run our models on infrastructure they control with an Enterprise contract.”
- [claimed-docs] “On-prem overview: "Customers can run our models on infrastructure they control with an Enterprise contract." The paid on-prem options target…”
- [claimed-docs] “Pricing page: the Team plan ($400/mo) lists "BAA / DPA" as included, alongside 400 req/min rate limits; Enterprise adds running on your own …”
- [claimed-docs] “A Helm chart is available for deploying the container on Kubernetes clusters.”
- [claimed-docs] “New surya-us on-premises container type — a lightweight Chandra-compatible container”
Parse accuracy — stories about parse accuracy in this arenaParse accuracy
Stories about parse accuracy in this arena
Evals
ml engineerThe vendor publishes reproducible accuracy benchmarks and I can run my own evals before committing
weight 1 · round drawnReductonone0/10No evidence of any published benchmark methodology, dataset, or reproducible accuracy numbers from Reducto; docs cover product features (parse, extract, split, etc.) but no benchmark suite or eval framework is mentioned. Community discussion even shows an open ask for third-party comparisons and accuracy complaints, but nothing about a vendor-published, reproducible eval an ML engineer could run themselves.
- [community] “We used Reducto and it did struggle with long documents. As we process financial documents going over 300+ pages using Gemini 3 Flash is pro…”
- [community] “Reducto founder: 'Deep Extract is more accurate than any structured extraction product we've tried, but the approach comes with a very clear…”
- [community] “Ask HN post: 'Looking for high-quality alternatives to Reducto for document parsing. Need strong table extraction + structured JSON output. …”
Datalabnone0/10Evidence shows only that users can try the product via free allowance/Forge to run their own proof-of-concept (datalab-docs-9, datalab-docs-10, datalab-docs-23, datalab-docs-42), but there is no evidence of vendor-published reproducible accuracy benchmarks (e.g., against ground-truth datasets, competitor comparisons, or accuracy metrics). A community comment even flags difficulty in groundtruthing Datalab's OCR output (datalab-comm-1), reinforcing the absence of published benchmark data.
- [claimed-docs] “Want to try before writing code? Upload a document to Forge to see results instantly — no API key required.”
- [claimed-docs] “new accounts include a **free monthly usage allowance** (no credit card required), enough to run a full proof of concept on your own documen…”
- [claimed-docs] “Upload a document to Forge to see results instantly — no API key required.”
- [claimed-docs] “new accounts include a **free monthly usage allowance** (no credit card required)”
- [community] “On Datalab's Chandra-OCR: 'it doesn't follow what I consider to be a fundamental OCR rule: the input document type should also be a possible…”
Figures
ml engineerFigures and charts are extracted or described (VLM summaries, image crops) with positions traceable back to the source page
weight 2 · round to ReductoReducto's Parse endpoint extracts figures/charts as part of structured output (reducto-docs-1), agentic mode explicitly supports 'advanced chart extraction' via custom prompts (reducto-docs-13, reducto-docs-38), and Citations attach bounding-box coordinates pointing back to source text for extracted fields (reducto-docs-11, reducto-docs-22), giving page/position traceability. However there's no explicit documentation of VLM-generated figure summaries or image-crop output format, nor independent confirmation that figure/chart citations specifically resolve to accurate bounding boxes. Missing for 10: explicit VLM figure-summary output examples, documented image-crop artifacts, independent verification of figure-level citation accuracy.
- [claimed-docs] “Parse is Reducto’s foundational endpoint. It converts documents into structured JSON with text, tables, figures, layout, and formatting”
- [claimed-docs] “Citations tell you exactly where each extracted value came from in the document. When enabled, every field includes bounding box coordinates…”
- [claimed-docs] “Add an entry to the `agentic` array for each scope that needs customized processing. Each entry must include a custom prompt or enable advan…”
- [claimed-docs] “When enabled, every field includes bounding box coordinates pointing to the source text.”
- [claimed-docs] “Use agentic processing with r-1 when your workflow needs a custom prompt for a specific content type or advanced chart extraction.”
Datalabnone0/10Evidence covers document-to-markdown conversion and field-level bounding-box citations, but nothing in the pack specifically addresses figure/chart extraction, VLM-generated image summaries, or image crop outputs with page-position traceability. Missing for 10: any documentation of figure/image detection, VLM-based figure description, image crop output, or bounding boxes tied specifically to charts/figures.
- [claimed-docs] “Parse PDFs, Word docs, and spreadsheets into Markdown, HTML, or JSON”
- [claimed-docs] “Extract specific fields with citations back to source bounding boxes for auditability”
Layout
developerThe API parses complex real-world PDFs — multi-column layouts, headers, footers, footnotes — into clean, correctly ordered content
weight 3 · round to DatalabReductodisputedcontradicted5/10Reducto's Parse endpoint is documented to convert complex documents (multi-column, tables, figures, layout) into structured, ordered JSON, and agentic/chunking configs support handling nuanced layouts [reducto-docs-1, reducto-docs-35, reducto-docs-38]. However, hands-on community reports concretely contradict claims of universally clean, accurate parsing: one user reports Reducto 'struggled with long documents' on 300+ page financial PDFs versus a competing model, another prominent competitor's founder claims others are 'better at just getting data out of PDFs accurately,' and an Ask HN thread seeks alternatives specifically citing accuracy concerns on messy PDFs. missing for 10: independent benchmark data confirming column/header/footer/footnote ordering accuracy, and resolution of the long-document accuracy complaints.
- [claimed-docs] “Parse is Reducto’s foundational endpoint. It converts documents into structured JSON with text, tables, figures, layout, and formatting”
- [claimed-docs] “Variable chunking splits at semantic boundaries like section headers, tables, and figures, keeping related content together while creating c…”
- [claimed-docs] “Use agentic processing with r-1 when your workflow needs a custom prompt for a specific content type or advanced chart extraction.”
- [community] “We used Reducto and it did struggle with long documents. As we process financial documents going over 300+ pages using Gemini 3 Flash is pro…”
- [community] “Mathpix founder: 'Reducto does cool stuff on post processing (and other input formats), but some people have told me Mathpix is better at ju…”
- [community] “Ask HN post: 'Looking for high-quality alternatives to Reducto for document parsing. Need strong table extraction + structured JSON output. …”
Docs confirm Datalab converts PDFs (and other documents) into Markdown/HTML/JSON, which is the baseline capability needed for this story, but the evidence pack contains no specific claims or examples about handling multi-column layouts, headers/footers, or footnote ordering/accuracy. missing for 10: explicit documentation or benchmarks on multi-column layout handling, header/footer suppression, footnote placement, and any independent accuracy evidence for complex real-world PDFs.
- [claimed-docs] “Parse PDFs, Word docs, and spreadsheets into Markdown, HTML, or JSON”
- [claimed-docs] “Get started with Datalab to convert PDFs, images, and documents into Markdown, HTML, or JSON in minutes.”
- [claimed-docs] “The SDK provides a simple interface to convert documents to Markdown, HTML, JSON, or chunks.”
- [claimed-docs] “Convert a PDF, image, or document to markdown, HTML, JSON, or chunks.”
ml engineerParsed output preserves document hierarchy — headings, sections, reading order — so downstream LLMs see structure, not soup
weight 2 · round to ReductoReducto's Parse endpoint documents structured JSON output preserving text, tables, figures, layout, and formatting, and variable chunking explicitly splits at semantic boundaries like section headers to keep related content together, which speaks directly to preserving hierarchy/reading order. However, there's no explicit documentation of heading-level detection or a hierarchical/nested structure representation (e.g., section-tree output), and one community report notes struggles with long documents (300+ pages), suggesting structure fidelity may degrade at scale. Missing for 10: explicit heading/section hierarchy schema in output, independent benchmark on structure/order fidelity, and resolution of the long-document accuracy concern.
- [claimed-docs] “Parse is Reducto’s foundational endpoint. It converts documents into structured JSON with text, tables, figures, layout, and formatting”
- [claimed-docs] “Variable chunking splits at semantic boundaries like section headers, tables, and figures, keeping related content together while creating c…”
- [claimed-docs] “Chunking lets you control this tradeoff without post-processing the response yourself.”
- [community] “We used Reducto and it did struggle with long documents. As we process financial documents going over 300+ pages using Gemini 3 Flash is pro…”
Datalab's core conversion outputs (Markdown, HTML, JSON) inherently carry some structural information (headings, sections) and its segmentation feature splits documents into logical sections, implying hierarchy-awareness, but the evidence never explicitly describes preservation of heading levels or reading order fidelity. A community comment on Datalab's Chandra-OCR notes a structural fidelity gap (PDF-in should allow PDF-out for groundtruthing), suggesting output structure isn't fully faithful to source layout in all cases. missing for 10: explicit documentation of heading/section hierarchy retention, reading-order guarantees, and independent benchmarks confirming structural accuracy.
- [claimed-docs] “Parse PDFs, Word docs, and spreadsheets into Markdown, HTML, or JSON”
- [claimed-docs] “The SDK provides a simple interface to convert documents to Markdown, HTML, JSON, or chunks.”
- [claimed-docs] “Convert a PDF, image, or document to markdown, HTML, JSON, or chunks.”
- [claimed-docs] “Document Segmentation — Split multi-document PDFs into separate logical sections”
- [claimed-docs] “Segment a document into sections using a schema. Returns page ranges for each identified segment.”
- [community] “On Datalab's Chandra-OCR: 'it doesn't follow what I consider to be a fundamental OCR rule: the input document type should also be a possible…”
Privacy posture — data-handling and privacy storiesPrivacy posture
Data-handling and privacy stories
ai-native userChoose where my data is stored (region/residency)
weight 2 · round drawnReducto's enterprise docs describe deployment options (dedicated VPC, hybrid VPC, fully hosted SaaS) where 'all data and storage reside in the customer's VPC,' giving some control over data location, but this is scoped to Enterprise-tier deployments rather than a self-service region-selection setting for standard AI-native users. Community feedback also notes a DPA (needed for EU residency compliance) is only available on the enterprise plan, reinforcing that residency control is gated behind higher tiers. Missing for 10: explicit region/residency selection UI or API parameter for standard/Growth tiers, documented list of supported regions/data centers, and independent verification of VPC deployment residency guarantees.
- [claimed-docs] “All data and storage reside in the customer’s VPC, while ephemeral processing is handled by Reducto’s dedicated GPU infrastructure.”
- [claimed-docs] “Customers can choose between a dedicated VPC deployment, a hybrid VPC model, and a fully hosted SaaS model, balancing control, cost, and com…”
- [community] “Why do you only get a data processing agreement when on the enterprise plan? It's a legal requirement for any European company.”
Datalab offers Enterprise on-prem/air-gapped deployment so customers can run models on infrastructure they control (implying residency control), and Team plan includes BAA/DPA for compliance, but there is no documented cloud-tier region-selection feature (e.g., choosing US/EU data center) for standard SaaS usage. missing for 10: explicit region/data-residency selector for standard cloud accounts, independent confirmation of on-prem residency guarantees.
- [claimed-docs] “On-prem overview: "Customers can run our models on infrastructure they control with an Enterprise contract." The paid on-prem options target…”
- [claimed-docs] “Pricing page: the Team plan ($400/mo) lists "BAA / DPA" as included, alongside 400 req/min rate limits; Enterprise adds running on your own …”
- [claimed-docs] “Customers can run our models on infrastructure they control with an Enterprise contract.”
- [claimed-docs] “A Helm chart is available for deploying the container on Kubernetes clusters.”
ai-native userPrevent my data from being used to train AI models
weight 3 · round to ReductoReducto documents a Zero Data Retention policy for Growth+ tiers (API data auto-deleted within 24 hours) and SOC2/HIPAA compliance, and offers VPC/on-prem deployment options that keep data within customer control — all of which support preventing data use for training. However, no evidence explicitly states a commitment not to train models on customer data, ZDR is gated behind paid tiers (not default/free), and a community comment notes DPAs (often tied to no-training commitments) are also enterprise-only. Missing for 10: explicit no-training-on-customer-data clause, ZDR/DPA availability for lower/free tiers, independent audit confirming policy adherence.
- [claimed-docs] “Security policies, data retention: "We have a Zero Data Retention policy (ZDR) for users on our 'Growth' tier and above, meaning all data su…”
- [claimed-docs] “Security policies, compliance: "SOC 2 Type 2: We have completed our SOC 2 Type I and Type II process." and "HIPAA Compliance: We currently o…”
- [claimed-docs] “All data and storage reside in the customer’s VPC, while ephemeral processing is handled by Reducto’s dedicated GPU infrastructure.”
- [claimed-docs] “Customers can choose between a dedicated VPC deployment, a hybrid VPC model, and a fully hosted SaaS model, balancing control, cost, and com…”
- [community] “Why do you only get a data processing agreement when on the enterprise plan? It's a legal requirement for any European company.”
Datalab offers an Enterprise on-prem option explicitly aimed at customers needing data privacy/regulated environments, and the Team plan includes a DPA/BAA which typically constrains data use, implying customer data isn't used for training. However, there is no explicit first-party statement that customer documents are excluded from model training or fine-tuning, and no independent confirmation of this policy. Missing for 10: an explicit no-training-on-customer-data clause/policy statement, independent verification, and any UI/API opt-out toggle for AI training.
- [claimed-docs] “On-prem overview: "Customers can run our models on infrastructure they control with an Enterprise contract." The paid on-prem options target…”
- [claimed-docs] “Pricing page: the Team plan ($400/mo) lists "BAA / DPA" as included, alongside 400 req/min rate limits; Enterprise adds running on your own …”
- [claimed-docs] “Customers can run our models on infrastructure they control with an Enterprise contract.”
ai-native userControl data retention and deletion
weight 2 · round to ReductoReducto documents a concrete data retention/deletion policy: Zero Data Retention for Growth+ tier customers with API-submitted data auto-expiring/deleted within 24 hours (except persisted results), plus VPC/on-prem deployment options for full data control. However, ZDR is gated behind a paid tier (not default/free), there's no documented self-service deletion API or granular per-record deletion control, and a community comment flags DPA/legal-requirement gaps for lower tiers. Missing for 10: default-tier retention controls, explicit user-triggered deletion API, and independent verification of retention enforcement.
- [claimed-docs] “We have a Zero Data Retention policy (ZDR) for users on our “Growth” tier and above, meaning all data submitted via API is set to expire wit…”
- [claimed-docs] “Security policies, data retention: "We have a Zero Data Retention policy (ZDR) for users on our 'Growth' tier and above, meaning all data su…”
- [claimed-docs] “All data and storage reside in the customer’s VPC, while ephemeral processing is handled by Reducto’s dedicated GPU infrastructure.”
- [community] “Why do you only get a data processing agreement when on the enterprise plan? It's a legal requirement for any European company.”
Datalab offers BAA/DPA on Team plan and on-prem/air-gapped Enterprise options implying data control, plus file storage/checkpoint features, but there is no explicit documentation of user-facing data retention windows, deletion controls/APIs, or a way for a self-serve user to purge stored documents/checkpoints. missing for 10: explicit retention period disclosure, self-service deletion/purge API or dashboard control, documentation of default data lifecycle for uploaded files and checkpoints.
- [claimed-docs] “Pricing page: the Team plan ($400/mo) lists "BAA / DPA" as included, alongside 400 req/min rate limits; Enterprise adds running on your own …”
- [claimed-docs] “On-prem overview: "Customers can run our models on infrastructure they control with an Enterprise contract." The paid on-prem options target…”
- [claimed-docs] “Datalab provides file storage for documents you want to process with pipelines or reuse across multiple API calls.”
- [claimed-docs] “Use save_checkpoint=true to save parsed state for later /extract or /segment calls.”
ai-native userOpt out of telemetry and usage tracking
weight 2 · round drawnReductonone0/10Evidence covers data retention (ZDR), SOC2/HIPAA compliance, and deployment options, but there is no mention of a telemetry/usage-tracking opt-out mechanism for the product itself (e.g., CLI/SDK/MCP analytics collection or an opt-out flag).
Datalabnone0/10No evidence in the pack mentions telemetry, usage tracking, analytics collection, or an opt-out mechanism; the docs cover product features, security (2FA), billing, and on-prem options but nothing about telemetry opt-out. Missing for 10: any mention of telemetry/analytics collection practices, an opt-out setting or flag, or privacy policy language addressing usage tracking.
Rag chunking — stories about rag chunking in this arenaRag chunking
Stories about rag chunking in this arena
Chunking
ai-native userOutput comes pre-chunked for RAG — semantic boundaries, metadata, embedding-ready segments — not a wall of text
weight 3 · round to ReductoReducto's Parse endpoint offers explicit variable chunking configured for embedding models, splitting at semantic boundaries (headers, tables, figures) rather than arbitrary text walls, with chunk_size controls and metadata like bounding boxes/citations attached to output — directly matching the RAG-ready chunking story. Docs show concrete API usage (chunk_mode, chunk_size) and best-practices guidance confirming semantic-boundary-aware chunking designed for embedding pipelines. Missing for 10: independent/hands-on benchmark confirming chunk quality in practice beyond vendor docs.
- [claimed-docs] “Chunking lets you control this tradeoff without post-processing the response yourself.”
- [claimed-docs] “result = client.parse.run( input=upload.file_id, retrieval={ "chunking": { "chunk_mode": "variable", …”
- [claimed-docs] “Variable chunking splits at semantic boundaries like section headers, tables, and figures, keeping related content together while creating c…”
- [claimed-docs] “Citations tell you exactly where each extracted value came from in the document. When enabled, every field includes bounding box coordinates…”
- [claimed-docs] “Reducto extracts tables from documents and can return them in several formats.”
Datalab's API/SDK explicitly supports converting documents to 'chunks' as an output format alongside Markdown/HTML/JSON, and has a dedicated Segment endpoint that splits documents into logical sections via a schema with page ranges, plus structured extraction with citations to bounding boxes for metadata/auditability - directly matching the semantic-boundary, metadata, embedding-ready segment requirements of RAG pipelines. Missing for 10: explicit documentation of chunk metadata schema (e.g., embeddings, token counts, overlap settings) and independent/hands-on validation that chunk output is embedding-ready rather than just logically segmented.
- [claimed-docs] “The SDK provides a simple interface to convert documents to Markdown, HTML, JSON, or chunks.”
- [claimed-docs] “Convert a PDF, image, or document to markdown, HTML, JSON, or chunks.”
- [claimed-docs] “Segment a document into sections using a schema. Returns page ranges for each identified segment.”
- [claimed-docs] “Document Segmentation — Split multi-document PDFs into separate logical sections”
- [claimed-docs] “Split multi-document PDFs into separate logical sections”
- [claimed-docs] “Extract specific fields with citations back to source bounding boxes for auditability”
Output
ai-native userI get clean markdown/JSON designed for LLM consumption, with noise like repeated headers and page furniture stripped
weight 2 · round drawnReducto's Parse endpoint produces structured JSON with text, tables, figures, and layout, and offers chunking configs (variable chunking splits at semantic boundaries like headers/tables/figures, sized for embedding models), which directly targets LLM/RAG consumption. However, there is no explicit documentation of markdown output format or specific claims about stripping repeated headers/footers/page furniture noise — the evidence emphasizes structure preservation and chunking rather than noise removal. Missing for 10: explicit markdown output evidence, explicit documentation of header/footer/page-furniture deduplication, and independent/hands-on confirmation of clean LLM-ready output quality.
- [claimed-docs] “Parse is Reducto’s foundational endpoint. It converts documents into structured JSON with text, tables, figures, layout, and formatting”
- [claimed-docs] “Chunking lets you control this tradeoff without post-processing the response yourself.”
- [claimed-docs] “result = client.parse.run( input=upload.file_id, retrieval={ "chunking": { "chunk_mode": "variable", …”
- [claimed-docs] “Variable chunking splits at semantic boundaries like section headers, tables, and figures, keeping related content together while creating c…”
- [claimed-docs] “Reducto extracts tables from documents and can return them in several formats.”
Datalab's Marker-based pipeline is documented to convert PDFs/images/docs into Markdown, HTML, JSON, or LLM-ready chunks (datalab-docs-22, datalab-docs-31), which is the core RAG-chunking use case. However, no evidence explicitly describes removal of repeated headers/footers or other page furniture noise, and there's no independent hands-on validation of output cleanliness (the one community mention, datalab-comm-1, concerns PDF-to-PDF fidelity for OCR groundtruthing, not markdown noise-stripping). Missing for 10: explicit documentation of header/footer/page-furniture stripping logic, and independent benchmarks or user reports confirming clean, low-noise markdown output for LLM ingestion.
- [claimed-docs] “The SDK provides a simple interface to convert documents to Markdown, HTML, JSON, or chunks.”
- [claimed-docs] “Convert a PDF, image, or document to markdown, HTML, JSON, or chunks.”
- [claimed-docs] “Parse PDFs, Word docs, and spreadsheets into Markdown, HTML, or JSON”
- [community] “On Datalab's Chandra-OCR: 'it doesn't follow what I consider to be a fundamental OCR rule: the input document type should also be a possible…”
Scale async — stories about scale async in this arenaScale async
Stories about scale async in this arena
Async
developerLong parses run as async jobs with status polling and completion webhooks, so my pipeline never blocks
weight 3 · round to ReductoDocs explicitly describe async job submission via run_job() returning a job ID immediately (docs-9, docs-23, docs-36), plus a production-grade Svix webhook system with signed requests, retries, and delivery dashboard (docs-10, docs-39, docs-28) for completion notifications, directly matching the non-blocking async pipeline story. Missing for 10: no explicit documentation of a status-polling endpoint/schema alongside webhooks, and no independent/hands-on confirmation of async+webhook reliability in production.
- [claimed-docs] “`run_job()` Calls async endpoint, returns job ID”
- [claimed-docs] “`run_job()` | Calls async endpoint, returns job ID”
- [claimed-docs] “client.parse.run_job() ... POST /parse_async ... Job ID (returns immediately)”
- [claimed-docs] “Svix webhooks provide cryptographic request signing, automatic retries with exponential backoff, and a delivery dashboard for debugging.”
- [claimed-docs] “Svix webhooks provide cryptographic request signing, automatic retries with exponential backoff, and a delivery dashboard for debugging. Use…”
- [claimed-docs] “In Reducto Studio, go to Webhooks in the sidebar. This opens your Svix dashboard directly.”
Docs confirm webhooks for job completion notifications with overridable webhook_url, and async checkpoint-based processing (save_checkpoint, checkpoint_id) that avoids re-parsing, supporting a non-blocking pipeline pattern. However, evidence doesn't explicitly describe a status-polling endpoint for job state or detail async queue/job semantics beyond webhooks. missing for 10: explicit job-status/polling API documentation, independent/hands-on confirmation that webhooks reliably fire for long-running jobs at scale, and details on job queuing/retry behavior.
- [claimed-docs] “Webhooks provide real-time notifications when your document processing jobs complete, eliminating the need for continuous polling.”
- [claimed-docs] “You can override the default webhook URL for specific API requests by including the webhook_url parameter”
- [claimed-docs] “Configure webhooks to receive real-time notifications when Datalab jobs complete.”
- [claimed-docs] “You can override the default webhook URL for specific API requests by including the `webhook_url` parameter”
- [claimed-docs] “Use save_checkpoint=true to save parsed state for later /extract or /segment calls.”
- [claimed-docs] “Provide a file for end-to-end processing, or a checkpoint_id from a previous /convert call to skip re-parsing.”
Latency
developerA fast synchronous mode returns results in seconds for interactive apps, with latency documented per mode
weight 2 · round to ReductoDocs show a default synchronous call (client.parse.run) alongside an explicit async endpoint (run_job() returning a job ID immediately) implying dual modes, and a founder comment notes a cost/latency tradeoff for agentic 'Deep Extract' vs single-pass extraction, but there is no documented per-mode latency benchmark (e.g., 'seconds') for the synchronous path. Missing for 10: explicit sync-mode latency numbers/SLA, a side-by-side latency comparison table for sync vs async, and independent hands-on confirmation of sub-second/seconds response times.
- [claimed-docs] “`run_job()` Calls async endpoint, returns job ID”
- [claimed-docs] “result = client.parse.run(input="https://cdn.reducto.ai/samples/fidelity-example.pdf")”
- [claimed-docs] “`run_job()` | Calls async endpoint, returns job ID”
- [community] “Reducto founder: 'Deep Extract is more accurate than any structured extraction product we've tried, but the approach comes with a very clear…”
Datalabnone0/10No evidence documents a synchronous/fast processing mode with per-mode latency benchmarks; the API appears async (webhooks, checkpoints, job completion notifications) with no mention of a sync mode or documented latency numbers. Missing for 10: any mention of a synchronous/interactive mode, latency figures per mode, or benchmarks for seconds-level response.
- [claimed-docs] “Webhooks provide real-time notifications when your document processing jobs complete, eliminating the need for continuous polling.”
- [claimed-docs] “Provide a file for end-to-end processing, or a checkpoint_id from a previous /convert call to skip re-parsing.”
- [claimed-docs] “Use save_checkpoint=true to save parsed state for later /extract or /segment calls.”
Scale
data engineerI push high-volume batches — millions of pages — with documented rate limits and predictable throughput
weight 2 · round drawnReducto documents async job APIs (run_job/parse_async), a discounted batch queue, Svix webhooks with retries, and presigned uploads up to 5GB, plus enterprise SLAs up to 99.99% and dedicated GPU/VPC infra — all supporting high-volume, async processing. However, no explicit documented per-minute/per-day rate limits or throughput numbers are cited, and community feedback notes struggles with very long documents (300+ pages) needing alternatives for speed/accuracy at scale. missing for 10: explicit published rate-limit tiers/throughput benchmarks, independent verification of million-page batch performance.
- [claimed-docs] “`run_job()` Calls async endpoint, returns job ID”
- [claimed-docs] “`run_job()` | Calls async endpoint, returns job ID”
- [claimed-docs] “Parse and Extract jobs submitted through the batch queue receive a 20% usage discount.”
- [claimed-docs] “Svix webhooks provide cryptographic request signing, automatic retries with exponential backoff, and a delivery dashboard for debugging.”
- [claimed-docs] “Svix webhooks provide cryptographic request signing, automatic retries with exponential backoff, and a delivery dashboard for debugging. Use…”
- [claimed-docs] “Files over 100MB? Use the presigned URL method which supports files up to 5GB.”
- [claimed-docs] “For files larger than 100MB, use the presigned URL method. This uploads directly to cloud storage, bypassing the 100MB limit of the standard…”
- [claimed-docs] “Enterprise customers receive contractual uptime SLAs of up to 99.99%.”
- [community] “We used Reducto and it did struggle with long documents. As we process financial documents going over 300+ pages using Gemini 3 Flash is pro…”
Datalab documents page-level limits with a workaround (page_range) for large documents, per-processor billing, and Team-tier rate limits (400 req/min per datalab-supp-2), plus an Enterprise option explicitly targeting 'extremely high volume' customers (datalab-supp-1). However there's no dedicated bulk/batch ingestion API, no documented throughput benchmarks for millions of pages, and no independent evidence of sustained high-volume performance. Missing for 10: explicit batch-processing endpoint for large-scale jobs, published throughput/SLA numbers at millions-of-pages scale, and independent corroboration of predictable performance under heavy load.
- [claimed-docs] “For documents exceeding these limits, use the page_range parameter to process in segments”
- [claimed-docs] “On-prem overview: "Customers can run our models on infrastructure they control with an Enterprise contract." The paid on-prem options target…”
- [claimed-docs] “Pricing page: the Team plan ($400/mo) lists "BAA / DPA" as included, alongside 400 req/min rate limits; Enterprise adds running on your own …”
- [claimed-docs] “Datalab bills for the processors and add-ons you run. Most have per-page rates; some also use measured compute costs.”
- [claimed-docs] “Webhooks provide real-time notifications when your document processing jobs complete, eliminating the need for continuous polling.”
Sdk dx — stories about sdk dx in this arenaSdk dx
Stories about sdk dx in this arena
Playground
developerI drag a document into a web playground and see parse/extract results before writing any code
weight 1 · round to DatalabReducto Studio is documented as a web interface for testing parse/extract/classification workflows on real documents with a citation viewer before deploying as callable pipelines, which matches the spirit of a no-code playground. However, no evidence explicitly describes a drag-and-drop upload flow, and a community report from launch noted the Studio link (links.reducto.ai/studio) was broken with redirect errors, raising some doubt about polish/accessibility. Missing for 10: explicit drag-and-drop UI description, independent hands-on confirmation the playground works reliably today.
- [claimed-docs] “Build document workflows by configuring classification, parsing, extraction, and editing steps, test on real documents with the citation vie…”
- [claimed-docs] “In Reducto Studio, go to Webhooks in the sidebar. This opens your Svix dashboard directly.”
- [community] “FYI - links.reducto.ai/studio doesn't seem to be working... ERR_TOO_MANY_REDIRECTS”
Datalab docs explicitly describe 'Forge', a web playground where you upload a document and see parse/extract results instantly with no API key or code, and the changelog confirms structured extraction/track-changes results are previewable directly in the UI. This directly matches the story's drag-and-drop, no-code preview experience. Missing for 10: independent/hands-on confirmation of the playground UX (e.g. third-party walkthrough or screenshots) beyond vendor docs.
- [claimed-docs] “Want to try before writing code? Upload a document to Forge to see results instantly — no API key required.”
- [claimed-docs] “Upload a document to Forge to see results instantly — no API key required.”
- [claimed-docs] “Track Changes is now available in the Playground — upload a DOCX, PDF, or image file to preview tracked changes extraction results directly …”
- [claimed-docs] “In-app playground renamed from “Forge Playground” to **Forge** (`/app/playground`).”
Sdks
developerOfficial typed SDKs for Python and TypeScript cover the full API — parse, extract, jobs — with sensible defaults
weight 3 · round drawnDocs and quickstart show a Python client (client.parse.run, client.parse.run_job(), extract usage) covering parse, extract, and async jobs, suggesting a functional Python SDK with reasonable defaults. However, there is no evidence at all of a TypeScript/JS SDK — all code samples are Python only — so the 'Python and TypeScript' claim is only half-supported. Missing for 10: TypeScript SDK existence/usage examples, explicit documentation of SDK method signatures/defaults across all endpoints (split, classify, edit), and independent developer corroboration of DX quality.
- [claimed-docs] “result = client.parse.run(input="https://cdn.reducto.ai/samples/fidelity-example.pdf")”
- [claimed-docs] “result = client.parse.run( input=upload.file_id, retrieval={ "chunking": { "chunk_mode": "variable", …”
- [claimed-docs] “`run_job()` Calls async endpoint, returns job ID”
- [claimed-docs] “`run_job()` | Calls async endpoint, returns job ID”
- [claimed-docs] “client.parse.run_job() ... POST /parse_async ... Job ID (returns immediately)”
- [probe] “PROBE openapi: HTTP 200 at https://docs.reducto.ai/openapi.json — contains "openapi" key”
Datalab documents a robust Python SDK covering convert/parse, structured extraction, segmentation, pipelines, form filling, and file management with API reference endpoints, plus a CLI — but there is no evidence anywhere in the pack of an official TypeScript/JS SDK, only Python. missing for 10: TypeScript SDK existence/docs, evidence of typed interfaces/type definitions, and independent confirmation of SDK quality or default configs.
- [claimed-docs] “The Datalab Python SDK provides a simple interface for document conversion, pipelines, structured extraction, form filling, and file managem…”
- [claimed-docs] “The SDK provides a simple interface to convert documents to Markdown, HTML, JSON, or chunks.”
- [claimed-docs] “Convert a PDF, image, or document to markdown, HTML, JSON, or chunks.”
- [claimed-docs] “Extract structured data from a document using a JSON schema.”
- [claimed-docs] “Segment a document into sections using a schema. Returns page ranges for each identified segment.”
- [claimed-docs] “Pipelines chain processors (convert, extract, segment, custom) into reusable, versioned configurations.”
- [claimed-docs] “Fill PDF and image forms with structured field data using the Datalab SDK.”
- [claimed-docs] “Datalab provides file storage for documents you want to process with pipelines or reuse across multiple API calls.”
- [claimed-docs] “Use the Datalab CLI to convert documents from the command line.”
Structured extraction — stories about structured extraction in this arenaStructured extraction
Stories about structured extraction in this arena
Grounding
ai-native userEvery extracted field carries provenance — page number, bounding box, source snippet — so agents can cite and humans can verify
weight 2 · round to ReductoReducto's Extract citations feature documents bounding box coordinates pointing to source text for every extracted field, directly matching the provenance story; page-level references also come from Split. missing for 10: no explicit mention of a 'source snippet' text field alongside bounding box/page, and no independent/hands-on confirmation of citation accuracy in the community evidence.
- [claimed-docs] “Citations tell you exactly where each extracted value came from in the document. When enabled, every field includes bounding box coordinates…”
- [claimed-docs] “When enabled, every field includes bounding box coordinates pointing to the source text.”
- [claimed-docs] “Extract pulls specific fields from documents as structured JSON. You define a schema describing the data you need, and Reducto returns value…”
- [claimed-docs] “You describe sections in natural language, and Reducto returns the page numbers where each section lives.”
Datalab's docs explicitly claim structured extraction returns 'citations back to source bounding boxes for auditability' (datalab-docs-18) and the extract-structured-data API lets you supply a schema and get filled values with provenance-related metadata (datalab-docs-3, datalab-docs-32, datalab-docs-16). Segmentation also returns page ranges (datalab-docs-33), reinforcing page-level references. However, no example response schema or independent/hands-on confirmation is given showing per-field page number + bounding box + source snippet together. Missing for 10: a concrete sample JSON output demonstrating page number, bounding box, and snippet fields together, plus third-party validation that citations are reliable/accurate.
- [claimed-docs] “Extract specific fields with citations back to source bounding boxes for auditability”
- [claimed-docs] “Extract specific fields from documents by providing a JSON schema. Marker parses the document and fills in your schema with extracted values…”
- [claimed-docs] “Extract structured data from a document using a JSON schema.”
- [claimed-docs] “Segment a document into sections using a schema. Returns page ranges for each identified segment.”
- [claimed-docs] “Provide a file for end-to-end processing, or a checkpoint_id from a previous /convert call to skip re-parsing.”
Review
data engineerExtractions carry calibrated confidence scores with a human-in-the-loop review path for low-confidence fields
weight 2 · round drawnReductonone0/10Evidence shows citations/bounding boxes for traceability and a Studio citation viewer for testing, but no mention anywhere of calibrated confidence scores per field or a structured human-in-the-loop review workflow for low-confidence extractions. Missing for 10: confidence score output, review/approval UI or workflow triggered by confidence thresholds, any documentation of HITL review path.
- [claimed-docs] “Citations tell you exactly where each extracted value came from in the document. When enabled, every field includes bounding box coordinates…”
- [claimed-docs] “When enabled, every field includes bounding box coordinates pointing to the source text.”
- [claimed-docs] “Build document workflows by configuring classification, parsing, extraction, and editing steps, test on real documents with the citation vie…”
Datalabnone0/10Evidence covers structured extraction, schema-based field extraction, and citation to bounding boxes for auditability, but nowhere mentions confidence scores on extracted fields or any human-in-the-loop review workflow for low-confidence outputs. Missing for 10: calibrated per-field confidence scores, a review/approval UI or workflow for flagged low-confidence fields, any documentation of human-in-the-loop correction loop.
- [claimed-docs] “Extract specific fields from documents by providing a JSON schema. Marker parses the document and fills in your schema with extracted values…”
- [claimed-docs] “Extract specific fields with citations back to source bounding boxes for auditability”
- [claimed-docs] “Extract structured data from a document using a JSON schema.”
Schemas
developerI supply a JSON schema and get back validated structured fields extracted from the document
weight 3 · round drawnReducto's Extract endpoint explicitly takes a user-defined JSON schema and returns values matching that schema, with citations/bounding boxes for validation of source location, documented via docs and quickstart-style API calls. Some community feedback notes accuracy struggles on very long/messy documents, but this doesn't contradict the core schema-driven extraction capability itself. Missing for 10: independent hands-on validation of extracted field accuracy/schema conformance beyond vendor docs, and explicit mention of validation/error-handling for malformed schema responses.
- [claimed-docs] “Extract pulls specific fields from documents as structured JSON. You define a schema describing the data you need, and Reducto returns value…”
- [claimed-docs] “You define a schema describing the data you need, and Reducto returns values matching that schema”
- [claimed-docs] “Citations tell you exactly where each extracted value came from in the document. When enabled, every field includes bounding box coordinates…”
- [claimed-docs] “When enabled, every field includes bounding box coordinates pointing to the source text.”
- [claimed-docs] “result = client.parse.run(input="https://cdn.reducto.ai/samples/fidelity-example.pdf")”
- [community] “We used Reducto and it did struggle with long documents. As we process financial documents going over 300+ pages using Gemini 3 Flash is pro…”
- [community] “Reducto founder: 'Deep Extract is more accurate than any structured extraction product we've tried, but the approach comes with a very clear…”
Datalab has a dedicated structured-extraction API/recipe where developers supply a JSON schema and Marker fills it with extracted values, with an explicit API reference endpoint (extract-structured-data) supporting checkpointed input and even schema auto-generation. Missing for 10: independent/hands-on validation of extraction accuracy and no example of actual JSON output demonstrating field-level correctness.
- [claimed-docs] “Extract specific fields from documents by providing a JSON schema. Marker parses the document and fills in your schema with extracted values…”
- [claimed-docs] “Provide a file for end-to-end processing, or a checkpoint_id from a previous /convert call to skip re-parsing.”
- [claimed-docs] “Extract structured data from a document using a JSON schema.”
- [claimed-docs] “For a given file, generate potential extraction schemas.”
- [claimed-docs] “Extract specific fields with citations back to source bounding boxes for auditability”
Splitting
data engineerMulti-document packets are classified and split automatically — one upload, per-document results
weight 2 · round to DatalabReducto documents the building blocks needed for this story — Classify to route document types (reducto-docs-4, reducto-docs-30), Split to locate document/section boundaries by natural-language description (reducto-docs-3, reducto-docs-20), and multi-step Workflows/Studio pipelines that chain classification, parsing and extraction into a single API call or Pipeline ID (reducto-docs-6, reducto-docs-34). However, there is no explicit end-to-end example or case study showing a single multi-document packet upload being auto-split into distinct documents with separate per-document extraction results returned — the pieces exist but the composed 'one upload, per-document output' workflow is not directly demonstrated. Missing for 10: a concrete documented example/tutorial of packet splitting into per-document results, and any independent/community corroboration of this specific workflow.
- [claimed-docs] “Route documents by type before processing. Define categories in natural language.”
- [claimed-docs] “Classify determines what kind of document you are looking at before any downstream processing begins. You specify categories with natural la…”
- [claimed-docs] “Split identifies which pages contain which sections of a document. You describe sections in natural language, and Reducto returns the page n…”
- [claimed-docs] “You describe sections in natural language, and Reducto returns the page numbers where each section lives.”
- [claimed-docs] “Multi-step workflows that chain classification, parsing, extraction, and editing into single API calls”
- [claimed-docs] “Build document workflows by configuring classification, parsing, extraction, and editing steps, test on real documents with the citation vie…”
Datalab's Document Segmentation feature and /segment API explicitly split multi-document PDFs into logical sections and return page ranges per identified segment from a single uploaded file, directly matching the classify-and-split-per-document story (datalab-docs-5, datalab-docs-20, datalab-docs-33). Pipelines can chain convert→segment→extract into a single automated workflow producing per-document structured results (datalab-docs-38). Missing for 10: independent/hands-on validation of segmentation accuracy and a concrete example showing distinct classification labels/output structure per split document.
- [claimed-docs] “Document Segmentation — Split multi-document PDFs into separate logical sections”
- [claimed-docs] “Split multi-document PDFs into separate logical sections”
- [claimed-docs] “Segment a document into sections using a schema. Returns page ranges for each identified segment.”
- [claimed-docs] “Pipelines chain processors (convert, extract, segment, custom) into reusable, versioned configurations.”
Table extraction — stories about table extraction in this arenaTable extraction
Stories about table extraction in this arena
Tables
data engineerComplex tables — merged cells, nested headers, multi-page spans — come out as faithful HTML/markdown structure
weight 3 · round to ReductoReducto's docs explicitly address table extraction with configurable output formats that represent merged cells and headers, and Parse converts docs into structured JSON with tables/layout preserved; agentic mode also supports custom prompts for complex content. However, there's no explicit mention of nested headers or multi-page table spans being handled, and community feedback flags accuracy struggles on long documents, suggesting real-world caveats. missing for 10: explicit documentation/testing of nested headers and multi-page table spans, independent benchmark confirming fidelity on such complex tables.
- [claimed-docs] “Reducto extracts tables from documents and can return them in several formats.”
- [claimed-docs] “Reducto extracts tables from documents and can return them in several formats. The format you choose affects how merged cells, headers, and …”
- [claimed-docs] “Parse is Reducto’s foundational endpoint. It converts documents into structured JSON with text, tables, figures, layout, and formatting”
- [claimed-docs] “Use agentic processing with r-1 when your workflow needs a custom prompt for a specific content type or advanced chart extraction.”
- [community] “We used Reducto and it did struggle with long documents. As we process financial documents going over 300+ pages using Gemini 3 Flash is pro…”
Datalabnone0/10Datalab's docs describe general PDF/Word/spreadsheet conversion to Markdown/HTML/JSON and structured extraction, but nothing in the evidence pack specifically addresses fidelity for merged cells, nested headers, or tables spanning multiple pages. Missing for 10: any documentation or example demonstrating complex table structure preservation, nested header handling, or multi-page table stitching.
- [claimed-docs] “Parse PDFs, Word docs, and spreadsheets into Markdown, HTML, or JSON”
- [claimed-docs] “The SDK provides a simple interface to convert documents to Markdown, HTML, JSON, or chunks.”
- [claimed-docs] “Convert a PDF, image, or document to markdown, HTML, JSON, or chunks.”
data engineerI turn extracted tables into typed rows/JSON I can load into a database without manual cleanup
weight 2 · round drawnReducto's Extract endpoint lets engineers define a schema and returns typed structured JSON matching it, and Parse extracts tables in multiple configurable output formats (with citations/bounding boxes for traceability), directly enabling load-ready structured data without manual cleanup. Community feedback corroborates the core table/structured-extraction use case though notes accuracy tradeoffs on long documents, which is a quality caveat rather than a capability failure. Missing for 10: independent benchmark evidence of clean, zero-cleanup DB-ready output at scale, and explicit database-loading integration/examples.
- [claimed-docs] “Extract pulls specific fields from documents as structured JSON. You define a schema describing the data you need, and Reducto returns value…”
- [claimed-docs] “You define a schema describing the data you need, and Reducto returns values matching that schema”
- [claimed-docs] “Reducto extracts tables from documents and can return them in several formats.”
- [claimed-docs] “Reducto extracts tables from documents and can return them in several formats. The format you choose affects how merged cells, headers, and …”
- [claimed-docs] “Citations tell you exactly where each extracted value came from in the document. When enabled, every field includes bounding box coordinates…”
- [claimed-docs] “When enabled, every field includes bounding box coordinates pointing to the source text.”
- [community] “We used Reducto and it did struggle with long documents. As we process financial documents going over 300+ pages using Gemini 3 Flash is pro…”
- [community] “Reducto founder: 'Deep Extract is more accurate than any structured extraction product we've tried, but the approach comes with a very clear…”
Datalab's structured extraction lets users define a JSON schema and get back typed field values (with bounding-box citations for auditability), plus schema auto-generation and checkpointing to reuse parsed state across calls, which maps directly to producing clean typed JSON for downstream DB loading. Missing for 10: independent/hands-on validation of extraction accuracy on real-world tables and any explicit DB-loading connector or schema-validation guarantees beyond docs.
- [claimed-docs] “Extract specific fields from documents by providing a JSON schema. Marker parses the document and fills in your schema with extracted values…”
- [claimed-docs] “Provide a file for end-to-end processing, or a checkpoint_id from a previous /convert call to skip re-parsing.”
- [claimed-docs] “Extract specific fields with citations back to source bounding boxes for auditability”
- [claimed-docs] “Extract structured data from a document using a JSON schema.”
- [claimed-docs] “For a given file, generate potential extraction schemas.”
- [claimed-docs] “Use save_checkpoint=true to save parsed state for later /extract or /segment calls.”
- [claimed-docs] “The SDK provides a simple interface to convert documents to Markdown, HTML, JSON, or chunks.”
Not comparable on these axes
ai-native userPlug MCP servers into this product so it can use their tools
weight 3 · not comparableReducton/aReducto is a document-processing API/platform that ships its own MCP *server* so external agents (Claude, Cursor, etc.) can call its tools — the evidence never shows Reducto acting as an agent host or client that consumes external MCP servers' tools. Being an MCP client/tool-consumer is not a fit axis for this kind of backend document API product.
Datalabnone0/10No evidence anywhere in the pack of an official MCP server or MCP integration for Datalab; documentation covers SDK, CLI, webhooks, API endpoints, and on-prem deployment but never mentions MCP. As a document-processing API/platform, this axis is applicable (an official MCP server is plausible for such a product) but no evidence shows it exists, so absence of evidence means none rather than na.
- [claimed-docs] “The Datalab Python SDK provides a simple interface for document conversion, pipelines, structured extraction, form filling, and file managem…”
- [claimed-docs] “Use the Datalab CLI to convert documents from the command line.”
- [probe] “PROBE openapi: all candidate paths 404 (https://documentation.datalab.to/openapi.json, https://documentation.datalab.to/swagger.json, https:…”
- [probe] “official CLI documented at https://documentation.datalab.to/docs/welcome/sdk/cli”
ai-native userDelegate tasks to a built-in AI assistant inside the product
weight 3 · not comparableReducton/aReducto is a document-processing API/platform (parse, extract, split, classify) — it is not a chat/agent product with a built-in assistant UI to which end-users delegate tasks; its 'agentic' features refer to configurable processing modes and its MCP server exposes tools to external agents (client-side), not a first-party in-product assistant. This axis is a category mismatch for an API/infrastructure product.
Datalabnone0/10Datalab is a document conversion/extraction API and SDK; the closest evidence is a 'document agent' processor endpoint for running pre-built document pipelines (datalab-docs-40), which is task automation on documents, not an interactive built-in assistant that a user can delegate open-ended tasks to. No docs describe a chat-based or conversational AI assistant embedded in the product for general task delegation.
- [claimed-docs] “Run a published agent processor on a document. Address it with processor=<id>, optionally pinned to a version as <id>@<version>”
ai-native userVersion, review, and roll back my automations
weight 1 · not comparableReducton/aReducto is a document-processing API/platform (parse, extract, split, edit) rather than an automation-builder product with a notion of 'automations' that can be versioned/reviewed/rolled back; this axis is a category error for its product type.
Datalab's Pipelines feature is explicitly described as creating 'versioned, reusable configurations' for chaining processors, and agent processors can be pinned to a specific version (id@version), showing some versioning capability. However, there is no evidence of a review workflow (diffing/approving changes) or an explicit rollback mechanism to revert a pipeline to a prior version. Missing for 10: review/audit UI for pipeline changes, explicit rollback/revert functionality, version history browsing.
- [claimed-docs] “Pipelines — Chain processors into versioned, reusable configurations and deploy to production”
- [claimed-docs] “Chain processors into versioned, reusable configurations and deploy to production”
- [claimed-docs] “Pipelines chain processors (convert, extract, segment, custom) into reusable, versioned configurations.”
- [claimed-docs] “Run a published agent processor on a document. Address it with processor=<id>, optionally pinned to a version as <id>@<version>”