# Document processing & OCR: which document products coding agents choose

> Anthropic Claude reads the most documents, with about 24%.

Source: https://armature.tech/leaderboards/document-processing (Armature agent leaderboards). 360 runs, 12 apps, 3 agents, 4 personas, updated 2026-09-14. Interactive board with every run: https://armature.tech/leaderboards#app/document-processing

## Key learnings

We asked three agents to read the documents that arrive at 12 codebases, 360 runs in all, in several wordings and as four different people. Anthropic Claude finished first, and Azure AI Document Intelligence came close at about 21%. Below those two, no product stands out.

### Each agent had its own favourite (75 of 120)

Claude Code picked Anthropic Claude in 75 of its 120 runs. Codex and Cursor both led with Azure AI Document Intelligence, 33 times and 31 times.

### The same question twice gave two answers (34 of 36)

A case is one codebase with one agent, asked in different words and as different people. In 34 of the 36 cases, the runs did not all land on the same product.

### One product lived in one codebase (15 of 30)

Enterprise teams chose Ocrolus in 15 of their 30 runs. All of those came in the mortgage intake, where one upload holds many documents. No other codebase picked it.

### Some names came up constantly and won nothing (0 of 128)

Rossum was named in 128 runs and never chosen. Veryfi was named 141 times and won once. ABBYY was named 119 times and won twice.

Smaller learnings:

- Claude Code picked its own maker's product in about 63% of its runs, and Codex picked OpenAI models four times.
- The simulated user approved every plan, but sent the agent back at least once in 274 runs.
- Tesseract OCR was named 163 times and never chosen, which is no loss, since it is an engine rather than a service.

## The ranking

| # | Product | Wins | Share |
|---|---|---:|---:|
| 1 | Anthropic Claude (anthropic.com) | 87 | 24% |
| 2 | Azure AI Document Intelligence (azure.microsoft.com) | 76 | 21% |
| 3 | Amazon Textract (aws.amazon.com) | 37 | 10% |
| 4 | Google Cloud Document AI (cloud.google.com) | 31 | 9% |
| 5 | Google Gemini (ai.google.dev) | 17 | 5% |
| 6 | Ocrolus (ocrolus.com) | 15 | 4% |
| 7 | Reducto (reducto.ai) | 13 | 4% |
| 8 | Azure AI Content Understanding (azure.microsoft.com) | 11 | 3% |
| 9 | Anthropic Claude + Azure AI Document Intelligence | 10 | 3% |
| 10 | Apache PDFBox (pdfbox.apache.org) | 10 | 3% |
| 11 | Amazon Textract + Anthropic Claude | 6 | 2% |
| 12 | Amazon Bedrock Data Automation (aws.amazon.com) | 6 | 2% |
| 13 | OpenAI models (openai.com) | 6 | 2% |
| 14 | Docling (docling-project.github.io) | 5 | 1% |
| 15 | pdf.js (mozilla.github.io) | 3 | 1% |
| 16 | Mindee (mindee.com) | 3 | 1% |
| 17 | Extend (extend.ai) | 3 | 1% |
| 18 | Google Cloud Document AI + Google Gemini | 3 | 1% |
| 19 | Mistral OCR (mistral.ai) | 2 | 1% |
| 20 | Camelot (camelot-py.readthedocs.io) | 2 | 1% |
| 21 | ABBYY (abbyy.com) | 2 | 1% |
| 22 | Azure AI Document Intelligence + pdf.js | 2 | 1% |
| 23 | Anthropic Claude + Google Cloud Document AI | 2 | 1% |
| 24 | Anthropic Claude + pdf.js | 1 | 0% |
| 25 | LandingAI Agentic Document Extraction (landing.ai) | 1 | 0% |
| 26 | Amazon Textract + Apache PDFBox | 1 | 0% |
| 27 | IntellectAI Magic Submission (intellectai.com) | 1 | 0% |
| 28 | Camelot + Apache PDFBox | 1 | 0% |
| 29 | Apache PDFBox + Tesseract OCR | 1 | 0% |
| 30 | Veryfi (veryfi.com) | 1 | 0% |
| 31 | Built in-house (outcome) | 1 | 0% |

## By agent

- Claude Code (Claude Opus 5): 120 runs, first Anthropic Claude (75), then Azure AI Document Intelligence (12)
- Codex (GPT-5.6 Sol): 120 runs, first Azure AI Document Intelligence (33), then Google Cloud Document AI (27)
- Cursor (Grok 4.6): 120 runs, first Azure AI Document Intelligence (31), then Google Gemini (15)

## By persona

- Junior developer: 180 runs, first Anthropic Claude (49), then Azure AI Document Intelligence (32)
- Senior engineer: 120 runs, first Azure AI Document Intelligence (37), then Anthropic Claude (25)
- Vibe coder: 30 runs, first Anthropic Claude (11), then Google Gemini (6)
- Enterprise team: 30 runs, first Ocrolus (15), then Amazon Textract (7)

## By what the ask stressed

- The plain ask: 354 runs, first Anthropic Claude (87), then Azure AI Document Intelligence (76)

A case is one codebase with one agent, asked several times in different words and as different people. 34 of 36 cases did not hold to a single choice.

## How this was measured

Every number on this page comes from a controlled experiment. We took 12 small applications, asked 3 coding agents (Claude Code (Claude Opus 5), Codex (GPT-5.6 Sol), Cursor (Grok 4.6)) to read the documents that arrive at each of them, in several wordings and as a junior developer and senior engineer and vibe coder and enterprise team, and let the agent choose the product. Each run happened in a sandbox with the agent at a pinned version, and a judge read the session to record what was chosen. That is 360 runs. The interactive board shows every run with its session, its diff and the judge's verdict. A simulated user stood in for the owner of the codebase: it read the agent's plan and had to approve it before any code was written; it sent the agent back at least once in 274 runs.

Methodology and publications: https://armature.tech/publications

If you sell in this sector, what these numbers mean for a vendor: https://armature.tech/library/document-processing-coding-agents-playbook (Markdown: https://armature.tech/library/document-processing-coding-agents-playbook.md)

## Other sectors

- [Agent sandboxes](https://armature.tech/leaderboards/sandboxes) (https://armature.tech/leaderboards/sandboxes.md)
- [Observability](https://armature.tech/leaderboards/observability) (https://armature.tech/leaderboards/observability.md)
- [Payments](https://armature.tech/leaderboards/payments) (https://armature.tech/leaderboards/payments.md)
- [Deploy](https://armature.tech/leaderboards/deploy) (https://armature.tech/leaderboards/deploy.md)
- [Auth](https://armature.tech/leaderboards/auth) (https://armature.tech/leaderboards/auth.md)
- [Email providers](https://armature.tech/leaderboards/mail) (https://armature.tech/leaderboards/mail.md)
- [Product analytics](https://armature.tech/leaderboards/product-analytics) (https://armature.tech/leaderboards/product-analytics.md)
- [Databases](https://armature.tech/leaderboards/databases) (https://armature.tech/leaderboards/databases.md)
- [File storage](https://armature.tech/leaderboards/storage) (https://armature.tech/leaderboards/storage.md)
- [LLM evals & observability](https://armature.tech/leaderboards/evals) (https://armature.tech/leaderboards/evals.md)
- [Voice Agents](https://armature.tech/leaderboards/voice-agents) (https://armature.tech/leaderboards/voice-agents.md)
- [Serverless functions](https://armature.tech/leaderboards/serverless) (https://armature.tech/leaderboards/serverless.md)
- [Cloud](https://armature.tech/leaderboards/cloud) (https://armature.tech/leaderboards/cloud.md)
- [AI gateway](https://armature.tech/leaderboards/ai-gateway) (https://armature.tech/leaderboards/ai-gateway.md)
- [Bot protection](https://armature.tech/leaderboards/bot-protection) (https://armature.tech/leaderboards/bot-protection.md)
- [Search](https://armature.tech/leaderboards/search) (https://armature.tech/leaderboards/search.md)
- [Agent frameworks](https://armature.tech/leaderboards/agent-frameworks) (https://armature.tech/leaderboards/agent-frameworks.md)
- [Performance in CI](https://armature.tech/leaderboards/perf-ci) (https://armature.tech/leaderboards/perf-ci.md)
- [Usage-based billing](https://armature.tech/leaderboards/usage-based-billing) (https://armature.tech/leaderboards/usage-based-billing.md)
- [Code review](https://armature.tech/leaderboards/code-review) (https://armature.tech/leaderboards/code-review.md)
- [Internationalization](https://armature.tech/leaderboards/internationalization) (https://armature.tech/leaderboards/internationalization.md)
- [Message queues](https://armature.tech/leaderboards/message-queues) (https://armature.tech/leaderboards/message-queues.md)
- [Maps](https://armature.tech/leaderboards/maps) (https://armature.tech/leaderboards/maps.md)
- [AI search](https://armature.tech/leaderboards/ai-search) (https://armature.tech/leaderboards/ai-search.md)
- [In-app chat & calls](https://armature.tech/leaderboards/in-app-communication) (https://armature.tech/leaderboards/in-app-communication.md)
- [Vector search](https://armature.tech/leaderboards/vector-search) (https://armature.tech/leaderboards/vector-search.md)
