
Unstructured is an open-source Python document ETL tool for turning raw files into structured elements. It helps teams prepare PDFs, HTML, images, and other content for RAG and LLM ingestion.
Key Features:
unstructured package from PyPI in data pipelinesWeb scraping workflow
Unstructured partitions supported documents into elements for further processing. It can sit between a crawler's file archive and the chunking or indexing stages used for search and retrieval.
Use this when one collection contains several document types but downstream consumers need a consistent processing boundary. Choosing a strategy per format can be more useful than assuming every file should be treated as plain text.
Partitioning is not a guarantee of accurate reading order, tables or semantic interpretation. Supported strategies and dependencies vary by format. Unstructured does not replace the acquisition stage; apply limits to untrusted inputs and review empty, incomplete or unexpectedly segmented results before publishing them.
Growing a website? Track its keywords, Google rankings, Search Console insights, and share of voice with bisibility. Free during beta.
Our productRepository
Unstructured-IO/unstructured
Stars
15.6KForks
1.4KLast commit
2026-10-15License
Apache-2.0Language
HTMLMetrics recorded 2026-10-16
License source: Repository license file
The Unstructured open-source library is Apache-2.0 licensed. Its hosted platform and API have separate commercial terms. Local infrastructure, model services and other connected resources can still incur costs.
Sources (checked ): Unstructured project
Verified against the Unstructured-IO/unstructured repository and the PyPI package.