Published by NutrientUpdated

Marker vs LlamaParse

Verdict

Choose Marker or the Datalab API when you want a converter that publishes its benchmark runs: Datalab's olmOCR-bench table scores Marker balanced at 76.0 and its Chandra model at 85.8, and its OmniParseBench (October 2026) places Datalab accurate at 92.7, second to Gemini 3.8 Flash at 92.9. Marker's code is Apache-2.0, but its model weights need a commercial license above $5 million in funding or revenue ($2 million for Chandra). The hosted API prices per 1,000 pages per processor with a monthly allowance on the free plan.

Choose LlamaParse when you want 130-plus input formats, tiered parsing from 1 credit per page, schema extraction with confidence and citations, and the LlamaCloud platform around it.

Choose Nutrient Data Extraction when you want a hosted API with grounded extraction and a renewing free plan, or the Nutrient PDF-to-Markdown CLI when you want free local Markdown from born-digital PDFs. Nutrient was founded as PSPDFKit in 2011. 3,000-plus organizations, including 15 percent of the Global 500, rely on it, with over a billion document interactions a year. The same extraction engine runs hosted, self-hosted in the Python and Java SDKs with no external API calls for OCR and ICR, or on a Mac in Extract Studio.

At a glance

Marker (open source) and Datalab API, LlamaParse (LlamaCloud), Nutrient Data Extraction API; facts fetched 2026-10-15 to 2026-10-16
FactMarker (open source) and Datalab APILlamaParse (LlamaCloud)Nutrient Data Extraction API
Product typeboth[1]hosted API[2]Hosted Data Extraction API, web Studio, and macOS Extract Studio[3]
LicenseCode: Apache-2.0. Model weights: modified AI Pubs Open RAIL-M; free for research, personal use, and companies under $5M funding/revenue (Marker, Surya) or $2M (Chandra); commercial license above that.[1]Proprietary commercial service (LlamaParse); the LlamaIndex framework is MIT and LiteParse Apache-2.0[2]Proprietary hosted service[4]
Output formatsMarkdown, HTML, JSON, chunks[5]Markdown, Plain text, JSON (per-page items), XLSX, HTML tables, Annotated PDF, Structured JSON to custom schema[2]Spatial JSON, Markdown, Schema-shaped JSON with citations, Ranked labels with independent 0-1 scores, Split page ranges and ZIP files[6]
OCR for scansYes[1]Yes[7]Yes: structure, understand, and agentic; text has no OCR; 100+ languages[8]
HandwritingNot published[9]Yes[10]Yes: printed-style in understand; cursive/freeform needs agentic[11]
TablesYes[1]Yes[2]Yes: spans and bounds; complex tables may need agentic mode[11]
Layout and bounding boxesYes[12]Yes[13]Yes: element and optional word bounds; word bounds exclude XLSX[11]
Per-field confidenceYes[14]Yes[15]Yes: 0-1 relative signal, not a probability[16]
Source citations and groundingYes[12]Yes[15]Yes: field boxes, match labels, confidence, and source boxes[16]
Schema extractionYes[12]Yes[17]Yes: closed JSON Schema subset; 128 KB, 2,000 nodes, depth 5[18]
Free tierFree plan: $20/month usage allowance on a work email, $10 on a personal email[12]Includes 10K credits (Free plan, $0/month)[2]5,000 credits/month; no card; all parse modes, including Auto[19]
Pricing modelPer 1,000 pages per processor (usage draws down monthly included allowance); open-source Marker is free to self-run[12]Credits per page by tier; 1,000 credits = $1.25 (i.e. $0.00125/credit). Parse v2 tiers: Fast 1, Cost-effective 3, Agentic 10, Agentic Plus 45 credits/page. Add-ons: layout extraction +3, enriched forms +10 per form page, spreadsheet 1/sheet, audio 3/min.[20]Credits/page by endpoint and mode; Auto routes each page and bills that mode's rate; subscription plus capped overage[21]
DeploymentSaaS (US, EU +25%), VPC (Enterprise), air-gapped on-prem (Enterprise), open source, local[12]SaaS (US and EU regions), VPC / hybrid cloud, single-tenant SaaS, BYOC (Azure, AWS, GCP), self-hosting[22]Hosted API: Nutrient-managed cloud, Self-hosted: Data Extraction SDK for Python and Java, no network required; OCR and ICR run on your infrastructure with zero external API calls, Local VLM: Ollama, LM Studio, or vLLM on your own hardware, or your own OpenAI or Anthropic key, Desktop: Extract Studio for Apple silicon Macs (macOS Tahoe 26.4+); the engine runs on the Mac and, with a local model, documents never leave it; Nutrient counts pages for credits, .NET data extraction SDK also offered[23]
SDKsPython (pip install datalab-python-sdk), CLI, REST API[24]Python (llama-cloud, PyPI 2.18.0 at fetch), TypeScript (@llamaindex/llama-cloud), Go, Java, CLI, REST API, n8n node[25]REST API, Python SDK, Java SDK, .NET page referenced, curl, JavaScript, and raw HTTP samples[26]
MCP or agent toolsNot published[27]Hosted LlamaParse Platform MCP at mcp.llamaindex.ai/mcp (Parse, Classify, Extract, Split, Index); docs-search MCP; agent skills/plugins for Claude Code and Codex[28]Hosted MCP, Data Extraction Studio, and agent skills[29]
Maximum file size or pages200 MB per file; 7,000 pages per request[30]{"Batches": "10,000 files per batch (Pro/Enterprise)", "Classify": "512 MB", "Extract": "100 MB, 500 pages per job", "Parse": "512 MB, no page cap", "Split": "512 MB (PDF/DOCX/PPTX)"}[31]Direct upload: 150 MB, URL input: 50 MB, URL timeout: 30 seconds, Processing: 5 minutes; HTTP 408 if exceeded, Page limit: not published, Test-key limits: lower, unpublished; Support-enabled[32]
ComplianceSOC 2 Type II, BAA / DPA (Team and Enterprise), zero data retention by default (managed platform, per README), EU data residency[12]SOC 2 Type II, GDPR, HIPAA (BAA for Enterprise)[22]SOC 2: Type 2, audited annually, BAA: no public statement, Transport: HTTPS/TLS only, No-retention plans: files discarded after processing, Retention plans: runs stored; may train/evaluate models, Payments: Paddle[33]
Public benchmarksolmOCR-bench (Datalab README table) Marker balanced 76.0 overall / 83.5 digital-only; fast 66.6; fast no-OCR 43.6 (macro-average of 8 categories), Datalab, 2026-07-20 (source)
OmniParseBench Datalab accurate 92.7 headline, balanced 91.6 (mean of text/tables/layout), Datalab, 2026-10-08 (source)
OmniExtractBench datalab-accurate accuracy 93.85, balanced 93.48 (accuracy), Datalab, 2026-09-16 (source)[1]
ParseBench public leaderboard (15 Oct 2026 snapshot) LlamaParse Agentic Plus 90.2 (#1), LlamaParse Agentic 87.0 (#2), LlamaParse Cost Effective 80.6 (#5) of 149 entries (overall 0 to 100), parsebench.ai (LlamaIndex), 2026-10-15 (source)
ParseBench (LlamaIndex, ~2,000 pages, 167K rules) LlamaParse Agentic 84.9% overall at ~1.2 cents/page; Cost Effective <0.4 cents/page; formatting 85.2% (Docling 1.0%) (overall of 5 dimensions), LlamaIndex (vendor-authored; self-benchmark), 2026-04-13 (source)
OmniParseBench LlamaParse headline 90.4 (text 88.2, tables 92.6, layout 90.4) (mean of text/tables/layout family pass rates), Datalab (competitor-authored), 2026-10-08 (source)
OmniExtractBench llamaextract agentic_plus accuracy 84.93, precision 86.57, recall 93.13, coverage 616/620 (accuracy), Datalab (competitor-authored), 2026-09-16 (source)[35]
ParseBench public row 76.4; paired nightly: 82.8 (overall 0 to 100), LlamaIndex, 2026-10-15 (source)
ParseBench nightly 82.8; paired public row: 76.4 (overall 0 to 100), Nutrient, 2026-10-15 (source)
opendataloader-bench, Nutrient's own run understand 0.933; agentic 0.930; structure 0.892; text 0.889 (overall 0 to 1), Nutrient, 2026-10-16 (source)
opendataloader.org leaderboard Nutrient row (free CLI) 0.885; opendataloader hybrid 0.907 (overall 0 to 1), opendataloader.org, 2026-09-23 (source)[37]

Licensing, which matters more than it looks

Marker's code is Apache-2.0, but the model weights use a modified AI Pubs Open RAIL-M license: free for research, personal use, and companies under $5 million in funding and revenue (Marker and Surya) or $2 million (Chandra); above that, a commercial license. LlamaParse is a proprietary service. Nutrient's CLI repository ships a proprietary license whose free Vision access is not available to organizations above 20 employees or $1 million in revenue; its standard conversion is free without an account.

Pricing side by side

Datalab: per 1,000 pages per processor; extraction processors run $6 to $20 per 1,000 pages plus fees; word bounding boxes with confidence add $3 per 1,000 pages. The free plan carries a $20 monthly allowance on a work email ($10 personal) per the pricing page, although the README and docs still say $5 in credits. EU processing adds 25 percent.

LlamaParse: $1.25 per 1,000 credits, 1 to 45 credits per page by tier. Nutrient: 1 to 18 credits per parse page; CLI standard free; CLI Vision 1,000 pages a month on the free plan.

Benchmarks, with who ran them

Nutrient's published benchmark results, as recorded on 16 October 2026: on LlamaIndex's ParseBench the public leaderboard row for Nutrient agentic is 76.4. Nutrient's own nightly run of 15 October 2026 scores 82.8 on the same test and is not on parsebench.ai yet; in that nightly run, understand mode scores 64.0. LlamaParse Agentic Plus leads the public leaderboard at 90.2. Nutrient is not on Datalab's OmniParseBench or OmniExtractBench public leaderboards. In Nutrient's own run on the opendataloader-bench corpus the API scores 0.933 in understand mode and 0.930 in agentic; on the public opendataloader.org leaderboard Nutrient's row (the free CLI) scores 0.885, behind opendataloader hybrid at 0.907.

Datalab publishes olmOCR-bench (Allen AI's benchmark, Datalab's run), OmniParseBench, and OmniExtractBench, and ranks near the top of each. LlamaIndex publishes ParseBench and ranks LlamaParse first. Nutrient publishes its opendataloader-bench run and its ParseBench results (76.4 public, 82.8 nightly), where it trails LlamaParse. Datalab's pages disagree on free credits and on rate limits (docs say Free 10 requests a minute, pricing page says 25), so confirm before you size a job.

Deployment

Marker runs locally; the Datalab API runs as SaaS (US, EU at a 25 percent premium), with VPC and air-gapped on-prem on Enterprise, and files up to 200 MB and 7,000 pages per request. LlamaParse is SaaS with Enterprise BYOC. Nutrient is a hosted API plus a local CLI and SDKs.

Where Nutrient differs

The other products on this page are parsers or extraction APIs. Nutrient's Data Extraction API is the same kind of product, built by a company that has shipped document SDKs to enterprises since 2011. The facts below come from Nutrient's own public pages.

  • Founded as PSPDFKit in 2011, and the SDKs developers knew as PSPDFKit continue as Nutrient SDKs. Thousands of organizations in 80-plus countries, including Fortune 500s and governments, use them (about page).
  • 3,000-plus organizations and 15 percent of Global 500 companies rely on Nutrient, with over a billion document interactions a year (nutrient.io).
  • One engine, four deployments: hosted API in Nutrient's cloud; the Python and Java Data Extraction SDKs, self-hosted with no network required and no external API calls for OCR and ICR, with a local VLM through Ollama, LM Studio, or vLLM (Python SDK); Extract Studio on Apple silicon, where documents never leave the Mac when the model runs locally (Extract Studio); and the wider platform in the browser with WebAssembly, on your own servers with Document Engine, or air-gapped (nutrient.io).
  • Extraction is one credit pool with parse, classify, and split, and every extracted field carries a bounding box and a match label, so a reviewer can check the source instead of trusting the model. SOC 2 Type 2 audited.

What to test before choosing

  • Run the same 20 documents through each API: five clean born-digital PDFs, five scans, five with tables that span pages, five with the fields your downstream system needs. Score reading order, table cells, and the fields you will actually consume.
  • Count the per-page cost at the mode or tier that passed your sample, not the cheapest tier on the pricing page. Every vendor here prices accuracy upward.
  • Check what the API returns when it is unsure: a confidence number, a bounding box, a not_found label, or nothing. That decides whether you can build a review queue.
  • Confirm retention and deployment in writing for the plan you will buy. Free and pay-as-you-go tiers often exclude BAAs, zero-retention, and private deployment.

Frequently asked questions

Is Marker free to use commercially?

The code is Apache-2.0, but the model weights are free only for research, personal use, and companies under $5 million in funding and revenue ($2 million for Chandra). Larger companies need a commercial license from Datalab.

Is Marker more accurate than LlamaParse?

OmniParseBench has no row for open source Marker; Datalab's hosted accurate mode scores 92.7 and LlamaParse 90.4 there (run by Datalab, October 8, 2026). Datalab's olmOCR-bench run scores Marker balanced 76.0; LlamaParse is not in that table. On LlamaIndex's ParseBench leaderboard LlamaParse Agentic scores 87.0. All vendor-run. Nutrient is not on Datalab's public leaderboards.

Does Marker do OCR?

Marker is a text-layer-first pipeline with selective OCR; Datalab's README points to Chandra for scans, and Marker balanced scores 43.2 on olmOCR-bench's old scans category. LlamaParse runs OCR automatically on pages without text. Nutrient's CLI runs no OCR in standard mode and uses --vision for scans.

Which is fastest?

No neutral speed comparison exists. Datalab's README reports Marker at 2.9 pages per second (balanced) and 23.7 (fast, no OCR) on an Nvidia B200. Nutrient's own run reports 0.004 seconds per page for CLI standard mode, which reads the text layer without OCR, on an Apple M3 Ultra. Different hardware and settings; test on yours.

Can I get bounding boxes from each?

Datalab: word boxes with confidence are a paid add-on; Marker outputs boxes in debug mode. LlamaParse: item boxes, with granular word, line, and cell boxes available. Nutrient's API returns bounds on every spatial element; the CLI documents no box output.

Sources

  1. https://github.com/datalab-to/marker — fetched
  2. https://www.llamaindex.ai/pricing — fetched
  3. https://www.nutrient.io/guides/dws-data-extraction/api-overview/ — fetched
  4. https://www.nutrient.io/legal/ — fetched
  5. https://raw.githubusercontent.com/datalab-to/marker/master/README.md — fetched
  6. https://www.nutrient.io/guides/dws-data-extraction/parsing/ — fetched
  7. https://developers.llamaindex.ai/llamaparse/parse/features/ocr-and-languages/index.md — fetched
  8. https://www.nutrient.io/guides/dws-data-extraction/parsing/processing-modes/ — fetched
  9. https://www.datalab.to/blog/omni-parse-bench — fetched
  10. https://developers.llamaindex.ai/llamaparse/parse/ — fetched
  11. https://www.nutrient.io/guides/dws-data-extraction/parsing/extract-document-elements/ — fetched
  12. https://www.datalab.to/pricing — fetched
  13. https://developers.llamaindex.ai/llamaparse/parse/features/layout-and-bounding-boxes/index.md — fetched
  14. https://documentation.datalab.to/docs/recipes/structured-extraction/confidence-scoring.md — fetched
  15. https://developers.llamaindex.ai/llamaparse/extract/guides/response-format/index.md — fetched
  16. https://www.nutrient.io/guides/dws-data-extraction/extract/citations-and-confidence/ — fetched
  17. https://developers.llamaindex.ai/llamaparse/extract/ — fetched
  18. https://www.nutrient.io/guides/dws-data-extraction/extract/define-a-schema/ — fetched
  19. https://www.nutrient.io/api/pricing/data-extraction-api/ — fetched
  20. https://developers.llamaindex.ai/llamaparse/general/pricing/ — fetched
  21. https://www.nutrient.io/guides/dws-data-extraction/pricing/ — fetched
  22. https://developers.llamaindex.ai/llamaparse/general/enterprise-readiness/ — fetched
  23. https://www.nutrient.io/sdk/python/pdf-data-extraction/ — fetched
  24. https://documentation.datalab.to/docs/welcome/sdk.md — fetched
  25. https://developers.llamaindex.ai/llamaparse/parse/guides/tiers/index.md — fetched
  26. https://www.nutrient.io/guides/dws-data-extraction/getting-started/ — fetched
  27. https://documentation.datalab.to/llms.txt — fetched
  28. https://developers.llamaindex.ai/for-agents/index.md — fetched
  29. https://www.nutrient.io/api/mcp-server-pdf-automation-llm/ — fetched
  30. https://documentation.datalab.to/docs/common/limits.md — fetched
  31. https://developers.llamaindex.ai/llamaparse/general/limitations/ — fetched
  32. https://www.nutrient.io/guides/dws-data-extraction/file-types/ — fetched
  33. https://www.nutrient.io/guides/dws-data-extraction/security/ — fetched
  34. https://www.datalab.to/blog/omni-extract-bench — fetched
  35. https://www.llamaindex.ai/blog/parsebench — fetched
  36. https://parsebench.ai/ — fetched
  37. https://www.nutrient.io/api/data-extraction-api/benchmarks/ — fetched
  38. https://opendataloader.org/docs/benchmark — fetched

Related