Published by NutrientUpdated

LlamaParse vs Unstructured

Verdict

Choose Unstructured when the job is ingestion at scale across many sources: its Platform pipelines ship Partition, Chunk, Enrich, Embed, and Load with 40-plus connectors, a flat $0.015 per page after 10,000 free pages, and, per its pricing page, SOC 2 Type 2, HIPAA, GDPR, and ISO 27001 on the hosted product. Its open source library (Apache-2.0, about 15,600 GitHub stars) is a free starting point that Unstructured itself says is not for production.

Choose LlamaParse when you want tiered parsing quality with prices to match (Fast 1 credit to Agentic Plus 45 credits per page at $1.25 per 1,000 credits), schema extraction with per-field confidence and citations, and the rest of LlamaCloud (Classify, Split, Index) in the same account.

Choose Nutrient Data Extraction when you want Markdown for retrieval at 1 credit per page for born-digital PDFs, OCR from 1.5 credits in structure mode, and grounded schema extraction in the same API, with 5,000 credits renewing monthly. 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

LlamaParse (LlamaCloud), Unstructured, Nutrient Data Extraction API; facts fetched 2026-10-15 to 2026-10-16
FactLlamaParse (LlamaCloud)UnstructuredNutrient Data Extraction API
Product typehosted API[1]both[2]Hosted Data Extraction API, web Studio, and macOS Extract Studio[3]
Output formatsMarkdown, Plain text, JSON (per-page items), XLSX, HTML tables, Annotated PDF, Structured JSON to custom schema[1]Markdown, JSON elements, HTML tables, chunks, embeddings[4]Spatial JSON, Markdown, Schema-shaped JSON with citations, Ranked labels with independent 0-1 scores, Split page ranges and ZIP files[5]
OCR for scansYes[6]Yes[7]Yes: structure, understand, and agentic; text has no OCR; 100+ languages[8]
HandwritingYes[9]Yes[7]Yes: printed-style in understand; cursive/freeform needs agentic[10]
TablesYes[1]Yes[11]Yes: spans and bounds; complex tables may need agentic mode[10]
Layout and bounding boxesYes[12]Yes[4]Yes: element and optional word bounds; word bounds exclude XLSX[10]
Per-field confidenceYes[13]Not published[14]Yes: 0-1 relative signal, not a probability[15]
Source citations and groundingYes[13]Not published[14]Yes: field boxes, match labels, confidence, and source boxes[15]
Schema extractionYes[16]Yes[17]Yes: closed JSON Schema subset; 128 KB, 2,000 nodes, depth 5[18]
ClassificationYes[19]Not published[14]Yes: zero-shot, 2+ labels; independent 0-1 scores; 1 credit/page[20]
Document splittingYes[21]Not published[14]Yes: boundary detection for PDF/images; 3 credits/page[22]
Free tierIncludes 10K credits (Free plan, $0/month)[1]10,000 free pages (once per account, no card required)[11]5,000 credits/month; no card; all parse modes, including Auto[23]
Pricing modelCredits 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.[24]Per page: $0.015 per page after the first 10,000; Business plan custom[11]Credits/page by endpoint and mode; Auto routes each page and bills that mode's rate; subscription plus capped overage[25]
List price examplesFree: $0/month (10K credits; 5 concurrent parse jobs; community support)
Starter: $50/month (40K credits; pay-as-you-go up to $500/mo (400K credits); basic email support)
Pro: $500/month (400K credits; pay-as-you-go up to $5,000/mo; 20 concurrent jobs; priority Slack Connect support; limited-time one-time bonus of 800K credits ($1,000) for business email domains)
Enterprise: Custom (Volume discount, 5x higher rate limits, SSO, SaaS or hybrid/VPC deployment, dedicated account manager, 100 concurrent jobs, custom BAAs)[1]
Free: $0 (10,000 free pages, no card required, all features)
Pay-As-You-Go: $0.015 per page (after first 10,000 pages; all features; SaaS)
Business: Custom (contact sales) (multi-user, dedicated instance / VPC / multi-tenant SaaS, bare metal, compliance)
Open source library: Free (Apache-2.0) (self-hosted, no SLA; reduced table/doc accuracy vs hosted per Unstructured's own docs)[11]
Per-page credits: parse 1-18; extract 7-24 (classify 1; split 3)
Auto mode: bills each page at the mode it selects (recommended starting mode; routes clean pages to structure and scans or complex forms to understand)
Free: $0/month (5,000 credits; PAYG after a $25 wallet load)
Starter: $59/month; $49/month annual (25,000 credits; $0.0028 per extra credit)
Pro: $500/month; $450/month annual (500,000 credits; $0.0012 per extra credit)[23]
DeploymentSaaS (US and EU regions), VPC / hybrid cloud, single-tenant SaaS, BYOC (Azure, AWS, GCP), self-hosting[26]SaaS, VPC, on-prem, open source[11]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[27]
SDKsPython (llama-cloud, PyPI 2.18.0 at fetch), TypeScript (@llamaindex/llama-cloud), Go, Java, CLI, REST API, n8n node[28]Python, TypeScript, Python (open source library)[29]REST API, Python SDK, Java SDK, .NET page referenced, curl, JavaScript, and raw HTTP samples[30]
MCP or agent toolsHosted LlamaParse Platform MCP at mcp.llamaindex.ai/mcp (Parse, Classify, Extract, Split, Index); docs-search MCP; agent skills/plugins for Claude Code and Codex[31]Transform MCP server (https://mcp.transform.unstructured.io), UNS-MCP server, agent skills, llms.txt and agent guide[32]Hosted MCP, Data Extraction Studio, and agent skills[33]
Maximum file size or pages{"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)"}[34]50 MB per document on Transform Upload/Parse/Extract; no page limit stated[35]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[36]
ComplianceSOC 2 Type II, GDPR, HIPAA (BAA for Enterprise)[26]SOC 2 Type 2, HIPAA, GDPR, ISO 27001[11]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[37]
Public benchmarksParseBench 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)[38]
Unstructured document parsing benchmark (1,000+ enterprise pages; vs Reducto, LlamaParse, Docling, Snowflake, Databricks, NVIDIA) (page shows '2026 (no day shown)'; date here is the fetch date) Unstructured: Adjusted CCT 0.880 (#1), tokens added 0.051, element alignment 0.574 (#4), table cell content accuracy 0.820, table cell spatial accuracy 0.813; Reducto Agentic: 0.812 / 0.124 / 0.595 / 0.708 / 0.706 (Adjusted CCT, tokens added, element alignment, table cell content/spatial accuracy), vendor (Unstructured), 2026-10-15 (source)
RD-TableBench, Unstructured included (High Res mode) Not published (table similarity), competitor (Reducto), 2024-11-04 (source)[42]
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)[44]

Output shape for chunking

LlamaParse returns Markdown, plain text, per-page JSON items, HTML tables, and, with granular bounding boxes, word, line, and table-cell boxes. Unstructured returns Markdown by default or typed JSON elements with optional coordinates and HTML tables, and it chunks in the same pipeline. Nutrient returns Markdown or spatial JSON elements with reading order, bounds, and table cells, and word-level boxes with includeWords.

Unstructured's docs warn that some elements may not carry coordinates. LlamaParse's Turbo extract tier does not produce granular boxes.

Pricing side by side

Unstructured: 10,000 free pages once per account, then $0.015 per page; Business plans are custom. A page is a page, slide, or image for PDF, PPTX, and TIFF.

LlamaParse: $1.25 per 1,000 credits; 1, 3, 10, or 45 credits per page by tier; Free 10,000 credits, Starter $50 a month for 40,000.

Nutrient: 1, 1.5, 9, or 18 credits per page by parse mode, or Auto, which routes each page and bills at that mode's rate; 5,000 free credits a month.

OCR, scans, and handwriting

All three run OCR on pages without a text layer in their OCR modes (Nutrient: structure mode and above). LlamaParse lists 80-plus OCR languages and handles handwritten annotations according to its overview. Unstructured's homepage claims scans, handwriting, and low-quality documents; its fine-tuned OCR models are platform-only, not in the open source library. Nutrient supports more than 100 OCR languages in structure, understand, and agentic modes, reads printed-style handwriting in understand mode, and recommends agentic mode for cursive.

Deployment and compliance

Unstructured: SaaS, dedicated instance, in-VPC on Azure, AWS, or GCP, bare metal on Business, and the open source library anywhere. LlamaParse: SaaS in US and EU, BYOC and self-hosting on Enterprise. Nutrient: Nutrient runs the same engine three ways: the hosted API; self-hosted in the Python and Java Data Extraction SDKs, where OCR and ICR run on your infrastructure with no external API calls and the VLM stage can run locally through Ollama, LM Studio, or vLLM; and on a Mac in Extract Studio, where documents never leave the machine when the model runs locally.

Published scores, with who ran them

Numbers here were run by the vendors named, several of them in the table above. Read them as directional and test on your own documents.

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.

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 Unstructured open source?

The Unstructured library is open source under Apache-2.0. Unstructured's own docs say the library is not production-ready and lacks the platform's latest vision models and fine-tuned OCR. The hosted Transform API and platform are commercial.

Is LlamaParse open source?

No. LlamaParse's pricing FAQ says it is not open source. The LlamaIndex framework is MIT and LiteParse is Apache-2.0.

Which is cheaper for a million pages a year?

At list, Unstructured is $0.015 per page after the free 10,000, about $14,850 for a million pages (our arithmetic). LlamaParse Fast is about $1,250 and Agentic about $12,500 per million pages from the credit price (our arithmetic), and Fast returns spatial text without Markdown. Nutrient text mode is 1 credit per page: $1,200 to $2,800 per million pages in overage at its Pro and Starter pay-as-you-go rates, before plan fees (our arithmetic). Price the tier that passes your documents.

Which gives the best Markdown for RAG?

Each vendor publishes its own benchmark: Unstructured's parsing benchmark scores itself first on adjusted CCT (0.880) against LlamaParse, Reducto, and Docling; LlamaIndex's ParseBench scores LlamaParse Agentic at 87.0 on its public leaderboard and Docling at 1.0 percent on formatting in its launch post. 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. Treat vendor-run numbers as directional.

Do any of these include chunking?

Unstructured chunks in the same pipeline and can embed and load to a vector store. LlamaParse pairs with LlamaCloud Index. Nutrient's guides name RAG ingestion as a use case; chunking happens in your code.

Sources

  1. https://www.llamaindex.ai/pricing — fetched
  2. https://docs.unstructured.io/open-source/introduction/overview.md — fetched
  3. https://www.nutrient.io/guides/dws-data-extraction/api-overview/ — fetched
  4. https://docs.unstructured.io/transform/parse.md — fetched
  5. https://www.nutrient.io/guides/dws-data-extraction/parsing/ — fetched
  6. https://developers.llamaindex.ai/llamaparse/parse/features/ocr-and-languages/index.md — fetched
  7. https://unstructured.io/ — fetched
  8. https://www.nutrient.io/guides/dws-data-extraction/parsing/processing-modes/ — fetched
  9. https://developers.llamaindex.ai/llamaparse/parse/ — fetched
  10. https://www.nutrient.io/guides/dws-data-extraction/parsing/extract-document-elements/ — fetched
  11. https://unstructured.io/pricing — fetched
  12. https://developers.llamaindex.ai/llamaparse/parse/features/layout-and-bounding-boxes/index.md — fetched
  13. https://developers.llamaindex.ai/llamaparse/extract/guides/response-format/index.md — fetched
  14. https://docs.unstructured.io/ — fetched
  15. https://www.nutrient.io/guides/dws-data-extraction/extract/citations-and-confidence/ — fetched
  16. https://developers.llamaindex.ai/llamaparse/extract/ — fetched
  17. https://docs.unstructured.io/transform/extract.md — fetched
  18. https://www.nutrient.io/guides/dws-data-extraction/extract/define-a-schema/ — fetched
  19. https://developers.llamaindex.ai/llamaparse/classify/ — fetched
  20. https://www.nutrient.io/guides/dws-data-extraction/classify/ — fetched
  21. https://developers.llamaindex.ai/llamaparse/split/ — fetched
  22. https://www.nutrient.io/api/data-extraction-api/split/ — fetched
  23. https://www.nutrient.io/api/pricing/data-extraction-api/ — fetched
  24. https://developers.llamaindex.ai/llamaparse/general/pricing/ — fetched
  25. https://www.nutrient.io/guides/dws-data-extraction/pricing/ — fetched
  26. https://developers.llamaindex.ai/llamaparse/general/enterprise-readiness/ — fetched
  27. https://www.nutrient.io/sdk/python/pdf-data-extraction/ — fetched
  28. https://developers.llamaindex.ai/llamaparse/parse/guides/tiers/index.md — fetched
  29. https://docs.unstructured.io/llms.txt — fetched
  30. https://www.nutrient.io/guides/dws-data-extraction/getting-started/ — fetched
  31. https://developers.llamaindex.ai/for-agents/index.md — fetched
  32. https://docs.unstructured.io/transform/get-started/overview.md — fetched
  33. https://www.nutrient.io/api/mcp-server-pdf-automation-llm/ — fetched
  34. https://developers.llamaindex.ai/llamaparse/general/limitations/ — fetched
  35. https://docs.unstructured.io/transform/limits.md — fetched
  36. https://www.nutrient.io/guides/dws-data-extraction/file-types/ — fetched
  37. https://www.nutrient.io/guides/dws-data-extraction/security/ — fetched
  38. https://www.llamaindex.ai/blog/parsebench — fetched
  39. https://parsebench.ai/ — fetched
  40. https://www.datalab.to/blog/omni-parse-bench — fetched
  41. https://www.datalab.to/blog/omni-extract-bench — fetched
  42. https://unstructured.io/benchmarks — fetched
  43. https://reducto.ai/blog/rd-tablebench — fetched
  44. https://www.nutrient.io/api/data-extraction-api/benchmarks/ — fetched
  45. https://opendataloader.org/docs/benchmark — fetched

Related