For a library for parsing unstructured data, the strongest matches are microsoft/markitdown (This tool is a purpose-built engine for transforming unstructured), zipstack/unstract (Unstract is a comprehensive platform for unstructured data extraction) and ucbepic/docetl (Docetl is a purpose-built ETL framework that uses LLMs). vikparuchuri/marker and opendatalab/mineru round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Find the best unstructured data parsers for your project. We ranked top GitHub repositories by activity and features to help you pick the right one.
This project is an AI-powered document processing engine designed to transform diverse file formats into structured Markdown. By leveraging multimodal language models, it performs complex layout analysis and semantic text extraction, allowing for the conversion of both unstructured files and scanned images into machine-readable content. The toolkit distinguishes itself through a modular, plugin-based architecture that orchestrates multi-stage extraction pipelines. Users can steer the parsing behavior by injecting custom instructions, enabling the system to adapt to domain-specific document st
This tool is a purpose-built engine for transforming unstructured documents and images into structured Markdown using LLM-based semantic extraction and layout analysis, directly addressing the need for automated data ingestion and parsing.
Unstract is an unstructured data extraction system and ETL pipeline orchestrator that uses large language models to convert documents, images, and scans into structured JSON. It provides a document extraction API for integrating these capabilities into external automation tools and includes a Model Context Protocol server to connect AI agents to structured information retrieval. The system ensures data accuracy through a verification tool featuring dual-model verification and human-in-the-loop review with coordinate-based document highlighting. It utilizes natural language extraction schemas
Unstract is a comprehensive platform for unstructured data extraction that leverages LLMs for parsing, supports document layout analysis, and provides robust ETL pipeline integration with schema enforcement.
docetl is an AI-powered document ETL tool and map-reduce orchestrator designed to transform large collections of unstructured documents into structured, queryable tables using language models. It provides a declarative pipeline framework for extracting, cleaning, and transforming data from sources such as PDFs and text files into predefined schemas. The project distinguishes itself through a semantic data integration suite that enables joining datasets and resolving duplicate entities based on embedding-based similarity. It includes an interactive prompt playground for developing and optimizi
Docetl is a purpose-built ETL framework that uses LLMs to extract and structure data from documents, offering the exact pipeline-based approach, schema enforcement, and document processing capabilities required for this category.
Marker is an LLM-powered document parser and OCR pipeline designed to convert PDFs and unstructured files into structured markdown, JSON, and HTML. It functions as a data preprocessor that transforms complex documents into machine-readable formats while preserving tables, equations, and layout structures. The system utilizes large language models to refine OCR accuracy, clean mathematical notation, and merge fragmented tables across multiple pages. It employs model-based layout analysis to predict block types and bounding boxes, ensuring a more precise conversion of document elements. Capabi
Marker is a specialized document parsing pipeline that uses LLM-based analysis and OCR to convert complex, unstructured PDFs into structured formats like JSON and markdown, directly addressing your need for document-to-machine-readable data extraction.
MinerU is a document parsing pipeline designed to transform unstructured files into machine-readable, structured data. It utilizes deep learning models to perform layout analysis, identifying document regions and extracting complex content such as mathematical expressions. By combining these neural network inferences with geometric heuristics, the system reconstructs the reading order and structural hierarchy of documents to ensure accurate data representation. The project distinguishes itself through a multi-stage processing workflow that integrates layout detection, optical character recogn
MinerU is a comprehensive document parsing pipeline that uses deep learning for layout analysis and content extraction to convert unstructured files into structured, machine-readable formats, directly addressing the need for automated data extraction and pipeline integration.
Langextract is a framework designed to transform unstructured text into structured, machine-readable data using language model orchestration. It provides a high-performance pipeline that processes large volumes of narrative text by utilizing parallel execution and sequential extraction passes. The library is built to handle complex data extraction tasks, including specialized support for clinical information and medical entity relationship recognition. The project distinguishes itself through a plugin-based architecture that supports both local hardware execution and cloud-hosted model endpoi
Langextract is a framework specifically built to orchestrate LLM-based extraction pipelines for transforming unstructured text into structured data, directly addressing the core requirements for schema enforcement and pipeline integration.
pdfminer is a Python library for parsing PDF files to extract text, analyze layouts, decrypt content, and convert documents into HTML or XML formats. It functions as a text extraction engine and layout analysis tool designed to retrieve characters and words while preserving the structural organization of the original document. The project provides utilities for converting PDF content into structured HTML or XML to maintain visual layout and a decryption tool for unlocking restricted documents using encryption keys. It identifies the positions and groupings of text elements to reconstruct page
This library is a specialized tool for extracting text and layout information from PDF documents into structured formats, though it lacks the LLM-based extraction capabilities required for more complex, semantic data parsing.
Scrapegraph-ai is a Python framework that uses large language models to automate the extraction of structured data from websites and documents. It functions as an AI-driven data extraction pipeline that converts unstructured web content into structured formats using natural language processing and graph-based logic. The project utilizes graph-based task orchestration to model scraping workflows as interconnected nodes. It features a pluggable model interface for connecting to cloud or local artificial intelligence providers and can generate executable Python code on the fly to handle site-spe
This framework uses LLMs to automate the extraction of structured data from web content and documents, providing a pipeline-based approach that aligns well with your requirements for AI-driven parsing and schema enforcement.
This project is an LLM-powered web crawler and data extractor that uses large language models to navigate websites and parse content into structured JSON or Markdown formats. It functions as an automated browser orchestrator and domain discovery engine, interpreting plain English instructions to identify relevant pages and extract specific information. The system distinguishes itself through agentic browser automation, allowing it to perform human-like interactions such as clicking buttons and scrolling based on natural language commands. It employs goal-oriented crawling to analyze website s
This tool uses LLM-based agents to navigate websites and parse unstructured web content into structured formats, fitting the core requirements for automated data extraction and schema-based parsing.
Docling is a modular framework designed for document parsing, layout analysis, and structured data extraction. It transforms unstructured files and web content into a unified, hierarchical data model that preserves the spatial and semantic relationships between text, tables, images, and layout elements. By normalizing diverse input formats into a consistent internal representation, the library enables uniform processing across various document types. The project distinguishes itself through a schema-driven approach that maps document regions to strongly-typed objects, ensuring data accuracy t
Docling is a comprehensive framework that handles document layout analysis, multi-format parsing, and schema-driven extraction, making it a direct fit for building structured data pipelines from unstructured documents.
Surya is a document processing platform designed to transform unstructured files into structured, machine-readable data. It provides a comprehensive suite of tools for text recognition, layout analysis, and reading order detection, enabling the conversion of PDFs and images into formats such as JSON, HTML, or markdown. The platform is built to handle complex document workflows, offering capabilities for data extraction, document segmentation, and automated form completion. The platform distinguishes itself through a robust pipeline-based architecture that allows users to chain analysis tasks
Surya is a comprehensive document processing platform that provides the exact pipeline-based architecture, layout analysis, and structured data extraction capabilities required to convert unstructured documents into machine-readable formats.
Parsr is an unstructured data extractor and document parsing pipeline that converts raw files and images into cleaned, machine-readable formats. It functions as a document layout analyzer and a pipeline for extracting structured data and labels using large language models. The system includes a document parsing visualizer, providing a graphical interface to upload documents and inspect the resulting structured data output. The project covers document digitization workflows, including layout analysis to detect headings, tables, and lists, and automated data entry through the cleaning and enri
Parsr is a comprehensive document parsing pipeline that performs layout analysis and uses LLM-based extraction to transform unstructured files into structured, machine-readable formats, directly addressing all your requirements.
Docling is a multimodal content converter and document parser designed to transform PDFs, Office files, and HTML into structured Markdown or JSON for generative AI applications. It functions as an OCR document processor and a PDF layout analyzer that extracts tables, charts, and hierarchical structures while preserving the original page layout. The system operates as a local-first inference engine, allowing for the processing of sensitive data in air-gapped environments without external network connectivity. It can also be deployed as an API or a Model Context Protocol server to provide parsi
Docling is a comprehensive document parsing and extraction tool that handles layout analysis, table reconstruction, and multi-format conversion, making it a direct fit for building structured data pipelines for AI applications.
Unstructured is an enterprise-grade data orchestration engine designed to transform raw, unstructured files into structured, machine-readable formats. It functions as a comprehensive platform for document ingestion, partitioning, and enrichment, specifically engineered to prepare complex data for retrieval-augmented generation and agentic AI workflows. The platform distinguishes itself through its sophisticated document processing strategies, which combine rule-based extraction with vision-language models to handle diverse file layouts, tables, and images. It provides a modular architecture t
Unstructured is a comprehensive data orchestration engine that provides the exact document ingestion, layout analysis, and LLM-based extraction capabilities required to transform raw files into structured formats for AI workflows.
Scrapy is a comprehensive framework designed for automated web data extraction and large-scale crawling. It operates on an asynchronous, event-driven engine that manages non-blocking network requests and data processing tasks, allowing for the efficient retrieval of structured information from web documents using path-based selectors. The system distinguishes itself through a highly modular architecture that supports complex data collection workflows. Users can implement custom middleware and signal handlers to intercept and modify request flows, while a priority-based scheduler manages concu
Scrapy is a powerful framework for web data extraction that excels at crawling and parsing structured data from web pages, though it relies on manual selector-based logic rather than LLM-based extraction.
SeaTunnel is a distributed data integration engine designed to synchronize structured and unstructured data across diverse sources and sinks. It functions as a multi-engine execution framework that can run data integration tasks across different distributed computing backends to optimize workload performance. The project is distinguished by a visual data pipeline designer for configuring workflows without manual code and a specialized change data capture tool for streaming incremental database updates. It also includes an enrichment pipeline that integrates large language models and embedding
SeaTunnel is a distributed data integration engine that provides the necessary pipeline infrastructure and LLM-based enrichment capabilities to extract and transform unstructured data into structured formats.
Maxun is an open-source web scraping and automation platform designed to transform dynamic website content into structured data. By leveraging artificial intelligence to interpret natural language prompts, the system identifies page elements and extracts information without requiring manual selector configuration. It serves as a bridge between raw web content and intelligent workflows, providing structured outputs in formats optimized for large language model ingestion and agent-based applications. The platform distinguishes itself through its ability to handle complex, authenticated, and dyn
Maxun is a web scraping and automation platform that uses AI to transform dynamic web content into structured data, directly addressing the need for extracting and formatting unstructured information for downstream pipelines.
dlt is a Python data ingestion tool and ETL pipeline framework designed to fetch data from diverse sources and persist it into structured destinations. It functions as a schema inference engine that automatically detects data types and flattens nested JSON structures into relational tables, moving data from sources to lakehouses, warehouses, or vector databases. The project distinguishes itself through AI-powered pipeline generation, using large language models to scaffold extraction code and connectors for REST APIs. It also supports multimodal vector storage and specialized population of ve
This is a data ingestion and ETL framework that automates schema inference and pipeline creation, making it a highly effective tool for structuring and loading data from diverse sources into analytical destinations.
PrivateGPT is a private AI document assistant and local knowledge base manager designed for querying private files and documents using retrieval-augmented generation. It functions as a local language model application and API gateway, allowing users to obtain cited answers from unstructured data without sending information to external servers. The system differentiates itself by acting as a tool integrator that connects language models to external functions, including web search, tabular data analysis, and custom action extensions. It provides a standardized API layer that allows local infere
PrivateGPT is a local document assistant that leverages retrieval-augmented generation and LLM-based processing to ingest and query unstructured data, serving as a functional tool for extracting information from private files.
Duckling is a deterministic named entity recognizer and natural language entity extractor. It transforms unstructured text into machine-readable data by mapping language-specific input strings to universal structured formats. The system utilizes a rule-based engine and composable language rules to resolve entities without relying on probabilistic models. It supports multilingual text parsing across various regional locales, employing a logic-driven approach to normalize diverse natural language expressions into standardized numeric values. The project covers the extraction and normalization
Duckling is a deterministic, rule-based library for extracting and normalizing specific entities like dates, numbers, and units from unstructured text, serving as a specialized tool for structured data extraction.
This project is a retrieval augmented generation framework designed to build pipelines that connect unstructured data and knowledge graphs with large language models. It functions as a vector database orchestrator for indexing text and multimodal content, as well as a system for translating natural language queries into structured database commands. The framework integrates a hybrid retrieval engine that combines dense vector search with sparse keyword matching to increase the precision of retrieved contexts. It further enhances reasoning and relationship mapping through a graph-augmented ret
This framework provides a comprehensive pipeline for processing and structuring unstructured data into knowledge graphs and vector stores using LLM-based extraction, though its primary focus is on retrieval-augmented generation rather than standalone document parsing.
Rig is a framework for building large language model applications, featuring a multi-provider client and a workflow builder for retrieval-augmented generation systems. It serves as an orchestrator for creating autonomous agents that can maintain conversation state and execute complex tasks through custom prompting and plugins. The project provides standardized interfaces for both completion and embedding model providers, allowing for unified request and response patterns across different engines. It also includes a vector database integration layer that defines a common interface for indexing
Rig is a framework for building LLM-based applications that includes the necessary orchestration and pipeline capabilities to implement unstructured data extraction and document processing workflows.
Kotaemon is an orchestration framework designed for building modular, agentic workflows that integrate document processing, retrieval-augmented generation, and multi-step reasoning. It provides a comprehensive platform for developing document-based question answering systems, allowing users to chain language models, prompt templates, and external tools into complex, automated pipelines. The system distinguishes itself through a highly modular architecture that emphasizes component-based composition and schema-driven data exchange. It supports autonomous agents capable of decomposing complex q
Kotaemon is an orchestration framework that provides the necessary components for document layout analysis, multi-format parsing, and schema-enforced extraction within automated RAG pipelines.
LangChain is an orchestration framework designed for building, managing, and deploying applications powered by large language models. It provides a unified integration layer that normalizes disparate model provider APIs into a consistent set of primitives, enabling developers to build complex, multi-step AI workflows that manage state, memory, and tool execution. The project distinguishes itself through a durable execution runtime that maintains persistent state across long-running processes by checkpointing progress to external storage. It models agent workflows as directed graphs, allowing
LangChain is an orchestration framework that provides the essential primitives, document loaders, and schema-enforcement tools required to build complex pipelines for extracting and structuring unstructured data.
Haystack is an orchestration framework designed for building complex search and generative AI pipelines. It functions as an agentic workflow engine, enabling the construction of automated sequences that allow AI agents to perform multi-step reasoning and data analysis. The framework utilizes a modular, component-based architecture that connects processing steps into directed acyclic graphs. By employing a provider-agnostic integration layer, it decouples core logic from specific external AI services and vector databases, allowing for the flexible exchange of underlying technologies. This desi
Haystack is an orchestration framework that provides the necessary components for building complex pipelines to extract, parse, and structure unstructured data using LLMs and document processing modules.
OpenRefine is a data cleaning tool and wrangling platform used to transform raw, messy datasets into consistent and structured formats. It operates as a Java-based data processor that runs a local server and provides a web browser interface for managing and manipulating data. The platform includes a data reconciliation engine for matching local entries against external knowledge bases to standardize entities. It also functions as a web data augmentation tool, allowing users to fetch and integrate information from external web sources to enrich their datasets. The system provides a transforma
OpenRefine is a powerful data wrangling and cleaning platform that excels at transforming messy, semi-structured datasets into consistent formats, though it focuses more on manual and rule-based manipulation than on automated LLM-based document extraction.
pdfminer.six is a programmatic tool for extracting text, layout information, and metadata from PDF documents into machine-readable formats. It functions as a document parser that converts internal PDF objects and structures into accessible data objects for analysis. The project includes utilities for decrypting RC4 and AES encrypted files to enable content extraction. It also provides a layout analyzer to identify fonts, colors, and text locations to determine the organizational structure of pages. The system covers a broad range of extraction capabilities, including the retrieval of embedde
This is a specialized PDF parsing library that provides the foundational document layout analysis and text extraction capabilities required to build data transformation pipelines, though it lacks built-in LLM-based extraction features.
Camelot is a Python library and processing engine designed to extract tabular data from PDF documents. It converts unstructured tables into machine-readable formats such as CSV, JSON, and Excel. The project provides specialized toolsets for different document types, using line detection for ruled tables and whitespace analysis for borderless tables. It includes an optical character recognition system to recover structured data from image-based scanned PDFs that lack a digital text layer. The library handles complex document layouts, including encrypted files, rotated pages, and tables that s
Camelot is a specialized library for extracting tabular data from PDFs, providing robust layout analysis and multi-format export capabilities that directly address the need for structuring unstructured document data.
Tika is a content analysis toolkit and Java library designed for detecting and extracting metadata and text from thousands of different file types. It functions as a universal document text extractor and metadata extraction engine, converting complex files into plain text or XHTML. The system employs a specialized MIME type detector that identifies document formats using magic bytes and metadata to determine the correct parser. It serves as an OCR integration gateway, connecting to external text recognition tools to extract content from image files. The project covers a broad range of extrac
Apache Tika is a comprehensive toolkit for extracting text and metadata from a vast array of file formats, serving as a foundational engine for document parsing pipelines even though it relies on external integrations for advanced LLM-based structuring.
Hyper-Extract is a framework designed for automated knowledge extraction, graph construction, and retrieval-augmented generation. It functions as a command-line tool that transforms unstructured text into structured knowledge graphs and hypergraphs, enabling users to build interconnected, searchable, and machine-readable data repositories from their documents. The system distinguishes itself through its focus on personal knowledge management and incremental processing. It allows users to update existing knowledge bases by processing only new document deltas, avoiding redundant computation. Th
This tool uses LLMs to transform unstructured text into structured knowledge graphs and hypergraphs, directly addressing the core requirement for extracting and structuring data into machine-readable formats.
This project is a comprehensive retrieval-augmented generation platform designed for building, managing, and deploying knowledge-based AI applications. It provides a unified environment for organizing datasets, configuring conversational chat assistants, and developing autonomous agents that execute multi-step reasoning workflows. By integrating document intelligence with advanced retrieval pipelines, the platform enables the creation of grounded, verifiable responses supported by traceable citations. The platform distinguishes itself through deep document understanding and sophisticated know
This platform provides robust document parsing and deep layout understanding as part of its RAG pipeline, making it a capable tool for extracting and structuring unstructured data for downstream AI applications.
pipet is a command-line tool that turns web scraping into a piped data flow through Unix filters. It provides a set of specialized scrapers — for CSS selector extraction, headless browser JavaScript rendering, JSON API querying, and change monitoring — each outputting structured data that can be transformed by chaining additional commands. The tool uses declarative selectors (CSS and JSON path expressions) to define what to extract, automatically follows pagination links to collect data across multiple pages, and serializes results into JSON, custom-delimited text, or rendered templates. It c
This tool provides a command-line interface for extracting and structuring data from web pages into machine-readable formats like JSON, though it relies on declarative selectors rather than LLM-based extraction.
Layout-parser is a deep learning document layout parser and image analysis framework. It provides a toolkit for extracting structural information and layout patterns from scanned documents and digital images, transforming them into programmatic data structures for automated analysis. The framework integrates layout detection with optical character recognition to convert tabular regions into machine-readable data. It utilizes neural networks to identify and classify structural elements within document images without relying on manual rule-based systems. The system covers a broad range of docu
This framework provides the necessary deep learning tools to detect document layouts and extract structural data, serving as a specialized component for document-based information extraction pipelines.
Postlight Parser is a command-line tool that extracts the main article content from any web page URL, returning clean structured data including the title, author, date, excerpt, and lead image while stripping away ads and clutter. It uses a readability-based heuristic that scores HTML elements on text density and structural cues to identify the article body, and can accept pre-fetched HTML strings directly for parsing instead of fetching the URL. The tool distinguishes itself through a modular architecture that supports domain-specific extractor overrides, allowing custom JavaScript modules t
This tool is a specialized parser for extracting structured article content from web pages, serving as a focused utility for web-to-data transformation even though it lacks LLM-based extraction capabilities.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| microsoft/markitdown | 154.5K | Python | MIT | |
| zipstack/unstract | 6.7K | Python | AGPL-3.0 | |
| ucbepic/docetl | 3.6K | Python | mit | |
| vikparuchuri/marker | 36.2K | Python | GPL-3.0 | |
| opendatalab/mineru | 67.7K | Python | NOASSERTION | |
| google/langextract | 36.9K | Python | Apache-2.0 | |
| euske/pdfminer | 5.3K | Python | MIT | |
| scrapegraphai/scrapegraph-ai | 27.3K | Python | MIT | |
| oxylabs/ai-crawler-py | 2.7K | — | — | |
| docling-project/docling | 61.7K | Python | MIT |