
Who Unstructured is for#
Data engineers building RAG pipelines from mixed document sources
Unstructured handles the ingestion stage: connecting to document repositories, partitioning each file type correctly, and loading clean chunks into a vector database. The 20+ source connectors and 20+ destination connectors mean you configure endpoints rather than writing custom connectors for each source.
Skip if:
Your data sources are already in structured formats (JSON, CSV, clean HTML via existing APIs). Unstructured's value is extracting from unstructured file formats; if your pipeline already has clean data, a lighter-weight chunking library is simpler.
Enterprise compliance teams processing regulated documents at scale
The commercial platform carries SOC 2 Type 2, HIPAA, GDPR, ISO 27001, and FedRAMP High certifications and can run in a dedicated isolated instance or inside your own VPC. Finance, healthcare, insurance, and government customers process earnings reports, clinical trial protocols, insurance forms, and procurement records without sending documents to shared infrastructure.
Skip if:
Your document volumes are low and your compliance requirements do not restrict cloud processing. A managed API like LlamaParse or Google Document AI will be faster to set up for small-volume workloads with no regulated-data constraints.
AI developers building agent tools that need to read documents
MCP and Transform API access let AI agents call document parsing as a tool call, parsing PDFs or other formats on demand during agent execution. The Python library integrates with LangChain and LlamaIndex for agent orchestration frameworks.
Skip if:
Your agents only need to read short, clean text inputs. Multi-page PDFs and scanned documents are where Unstructured's processing depth matters; for simple string inputs, standard chunking is simpler and cheaper.
Teams migrating from Google Document AI, LlamaParse, or Reducto
The feature set covers the same core capabilities (OCR, table extraction, multi-format support) that paid APIs provide, with self-hosting giving cost predictability at high volumes. The Python SDK and HTTP API match interface patterns teams already use with commercial alternatives.
Skip if:
You need the highest accuracy on complex documents and are unwilling to upgrade to the Transform API tier. Teams replacing a paid API purely to cut costs may see accuracy regressions on complex documents; the open source library benchmarks behind the paid API on difficult inputs.
The problem it solves#
Feeding real documents into AI systems is harder than it looks. PDFs, scanned forms, and multi-column reports are not plain text: they contain tables that break when linearized, reading order that shifts across pages, images with critical text locked inside, and handwritten fields that most parsers miss entirely.
At scale, this becomes an engineering burden. Teams building RAG pipelines, document copilots, or automated extraction workflows typically cobble together a PDF extractor for one format, a separate OCR pass for scanned images, custom code to fix reading order, and a chunking stage to prepare output for vector databases. Every file type is a new edge case. Every preprocessing step that fails propagates bad data into the model, producing hallucinations and wrong answers downstream. Commercial document APIs address part of this, but at a cost: per-page billing adds up fast, your documents leave your infrastructure, and integration breaks if the API changes its output format.
How it solves it#
65+ File Type Support
Parses PDFs, scanned images, Word, Excel, PowerPoint, HTML, email, CSV, and more through one unified API. Each file type gets a specialized extraction path; there is no generic fallback that quietly loses structure. Calling `partition()` auto-detects the file format and routes it to the correct extractor without any manual configuration.
Table Extraction That Preserves Structure
Extracts tables from PDFs and documents while keeping rows, columns, headers, and multi-page relationships intact. The open source library scores 0.426 on table cell content accuracy in Unstructured's published benchmark against 1,000+ pages; the commercial Transform API scores 0.866 on the same benchmark, so teams with complex tabular documents can choose the tier that fits their accuracy bar.
OCR for Scanned Documents and Handwriting
Applies optical character recognition to scans, image-only PDFs, and handwritten forms using Tesseract-backed pipelines. System dependencies are `tesseract-ocr` and `poppler-utils`, both available via standard package managers. High-quality scans produce reliable output; degraded or low-resolution sources benefit from the higher-accuracy Transform API tier.
20+ Source and Destination Connectors
Reads from S3, SharePoint, Google Drive, Databricks, Snowflake, and more. Writes structured output directly to every major vector database. You configure the source and destination; the library runs the partition, chunk, embed, and load steps between them without custom glue code.
MCP and API Access
The Transform API is available via HTTP and as an MCP (Model Context Protocol) server, letting AI agents call document parsing directly from agent workflows. The open source library exposes Python functions that integrate with LangChain, LlamaIndex, and similar orchestration frameworks.
Apache-2.0 License with Full Self-Hosting
The open source library is Apache-2.0 licensed, permitting unrestricted commercial use, modification, and redistribution. Run it on your own servers with no per-document fees, no usage quotas, and no dependency on external infrastructure. The README explicitly states the library is and will stay completely free.
Strengths and trade-offs#
Strengths
- Format-aware processing for every file typeMost document parsers apply a generic extraction pass and lose structure. Unstructured routes each file through a format-specific pipeline: PDFs get layout analysis, scans get OCR, spreadsheets get table extraction. The modular architecture means a broken extractor for one format does not degrade extraction for others.
- Full self-hosting with Apache-2.0 licenseThe open source library runs entirely on your own infrastructure. Unlike LlamaParse (API-only) or Google Document AI (Google Cloud-only), you keep documents inside your environment with no per-document billing. Apache-2.0 permits commercial use without open-sourcing your application code.
- Purpose-built for regulated data environmentsThe commercial platform meets SOC 2 Type 2, HIPAA, GDPR, ISO 27001, and FedRAMP High standards and can run in a dedicated isolated instance or fully within your own VPC. The open source library runs in any air-gapped environment with no data leaving your network.
- Plugs into existing AI infrastructure without rewiringOutput integrates with LangChain, LlamaIndex, and every major vector database. The connector architecture covers 20+ sources and 20+ destinations, so teams add it to an existing pipeline rather than rebuilding around it. Customer deployments include SAP, IBM, Intel, and Teradata.
- Active development with 15,500+ GitHub starsOver 15,500 GitHub stars and 1,300+ forks, with active commits through October 2026, indicate active commercial backing and community contribution. Open issues sit at 336, typical for a widely-deployed library, and the last push is recent.
Trade-offs
- -Open source accuracy lags the commercial APIThe README benchmarks show the open source library produces text accuracy of 0.715 and table cell accuracy of 0.426 on a 1,000+ page test set. The commercial Transform API scores 0.878 text accuracy and 0.866 table accuracy on the same test. Teams with strict quality requirements on complex or degraded documents will need the paid API tier or significant post-processing.
- -Heavy system dependencies for full file-type coverageFull document parsing requires `libmagic-dev`, `poppler-utils`, `tesseract-ocr`, and `libreoffice` at the system level. Docker images bundle these, but bare-metal installs need manual setup. Partial installs limit which file types are supported: the base `pip install unstructured` package handles plain text, HTML, and email only.
- -336 open issues across edge-case file formatsThe public GitHub tracker carries 336 open issues, notable for a focused library. Most are parsing edge cases in specific document formats or layout configurations rather than core instability, but teams that process unusual or non-standard document structures should expect to work around or contribute fixes for their specific cases.
Unstructured vs alternatives#
Unstructured vs LlamaParse
Both tools extract structured content from documents for RAG pipelines and AI workflows, but they differ in deployment model and intended use. LlamaParse is a managed API designed for the LlamaIndex ecosystem; Unstructured is an open source ETL library that runs on your own infrastructure and supports direct integration with any LLM framework.
| Feature | Unstructured | LlamaParse |
|---|---|---|
| License | Apache-2.0 (open source tier) | Proprietary |
| Self-hosting | Yes | No |
| File types | 65+ | Primarily PDFs |
| Source connectors | 20+ (S3, SharePoint, Databricks) | Limited |
| Destination connectors | 20+ vector databases | Limited |
| Pricing model | Free self-hosted; usage-based Transform API | Per-document API credits |
| Framework integration | LangChain, LlamaIndex, custom | LlamaIndex-native |
Unstructured is the stronger choice when you need to process formats beyond PDF (scanned images, Excel, email, Word), connect to enterprise sources like SharePoint or Snowflake, or self-host the pipeline for data-residency requirements. LlamaParse is faster to set up if you are already in the LlamaIndex ecosystem and your documents are primarily clean PDFs.
Unstructured vs Google Document AI
Google Document AI is a managed Google Cloud service that extracts structured data from documents using Google's vision and NLP models. It handles similar use cases but requires Google Cloud infrastructure and charges per page processed.
| Feature | Unstructured | Google Document AI |
|---|---|---|
| License | Apache-2.0 (open source tier) | Proprietary |
| Self-hosting | Yes | No (Google Cloud only) |
| Cloud lock-in | None (open source tier) | Google Cloud |
| Pricing | Free self-hosted | Per-page fees |
| FedRAMP support | Via commercial platform | Yes |
Google Document AI is worth choosing when your infrastructure is already on Google Cloud and you need high-accuracy parsing for specific document types with pre-built extractors (receipts, identity documents, procurement forms). Unstructured is the better fit when you need to process a broader range of file types, want self-hosting for cost control or compliance, or need connectors to non-Google data sources and destinations.
Quick start#
Install via pip or deploy using Docker; all document type dependencies are bundled in both paths.
```bash
pip install "unstructured[all-docs]"
docker pull downloads.unstructured.io/unstructured-io/unstructured:latest
```What it's built on#
- Languages
- Python
- Frameworks
- LangChain
FAQ#
Is Unstructured free to use?
The open source Python library is Apache-2.0 licensed and completely free to self-host and use commercially. The Transform API, which offers higher extraction accuracy, has a free tier and paid plans for production volume. The README states the open source library "is, and will stay, completely free."
What file types does Unstructured support?
Unstructured supports 65+ file types including PDFs (text-based and scanned), Word (.docx), Excel, PowerPoint, HTML, email (.eml), CSV, images (JPEG, PNG), and more. Each file type routes through a specialized extraction path; calling partition() handles format detection automatically without requiring you to specify the file type.
How does Unstructured compare to LlamaParse or Google Document AI?
All three extract text and structure from documents, but they differ in deployment model. Unstructured's open source library runs on your own infrastructure with no per-document fees and Apache-2.0 licensing. LlamaParse and Google Document AI are managed APIs with per-request billing and no self-hosting option. Unstructured's commercial Transform API offers comparable accuracy to those managed services for teams who want hosted delivery with the option to move to self-hosting later.
Can Unstructured handle scanned documents and handwriting?
Yes. Unstructured applies OCR to scans, image-only PDFs, and handwritten forms using Tesseract-backed pipelines. It requires tesseract-ocr and poppler-utils at the system level, or use the Docker image which bundles those dependencies. For high-accuracy OCR on degraded or complex scans, the commercial Transform API produces better results than the open source tier.
Does Unstructured connect to cloud storage and vector databases?
Yes. The library connects to 20+ sources including S3, SharePoint, Google Drive, Databricks, and Snowflake, and writes to 20+ destinations covering every major vector database. You configure the source and destination endpoints; Unstructured handles partitioning, chunking, embedding, and loading between them.
Similar open-source tools#
Marker
Convert documents to clean markdown and JSON with open source AI.
MinerU
Document parsing for LLM workflows, OCR, and agent reading.
pdf-inspector
Rust-powered PDF parser with smart OCR routing for AI pipelines
PaddleOCR
Self-hosted OCR toolkit turning PDFs and images into LLM-ready data
MarkItDown
Convert PDFs, Office files, and images to Markdown, free
Bifrost
Open-source AI gateway with 23+ providers, failover, and MCP support.
