🔓 unclaimed — this page was auto-generated from GitHub. Are you the creator?
Claim this page →
unstract
LLM-Driven Extraction of Unstructured Data — Built for API Deployments & ETL Pipeline Workflows
git clone https://github.com/Zipstack/unstract
What is Unstract?
Unstract uses LLMs to extract structured JSON from documents — PDFs, images, scans, you name it. Define what you want to extract using natural language prompts, and deploy as an API or ETL pipeline.
Built for teams in finance, insurance, healthcare, KYC/compliance, and much more.
Current State vs. Unstract
| Task | Without Unstract | With Unstract |
|---|---|---|
| Schema definition | Write regex, build templates per vendor | Write a prompt once, handles variations |
| New document type | Days of development | Minutes in Prompt Studio |
| LLM integration | Build your own pipeline | Plug in any provider (OpenAI, Anthropic, Bedrock, Ollama) |
| Deployment | Custom infrastructure | ./run-platform.sh or managed cloud |
| Output | Unstructured text blobs | Clean JSON, ready for your database |
⭐ If Unstract helps you, star this repo!
✨ Key Features
Prompt Studio — Define document extraction schemas with natural language. Docs →

API Deployment — Send a document over REST API, get JSON back. Docs →

ETL Pipeline — Pull documents from a folder, process them, load to your warehouse. Docs →
MCP Server — Connect to AI agents (Claude, etc.) via Model Context Protocol. Docs →
n8n Node — Drop into existing automation workflows. Docs →
🚀 Quickstart (~5 mins)
System Requirements & Prerequisites
- Linux or macOS (Intel or M-series)
- Docker & Docker Compose
- 8 GB RAM minimum
- Git
Run Locally
# Clone and start
git clone https://github.com/Zipstack/unstract.git
cd unstract
./run-platform.sh
That's it!
- Visit http://frontend.unstract.localhost in your browser
- Login with username:
unstractpassword:unstract - Start extracting data!
📦 Other Deployment Options
Docker Compose
# Pull and run entire Unstract platform with default env config.
./run-platform.sh
# Pull and run docker containers with a specific version tag.
./run-platform.sh -v v0.1.0
# Upgrade existing Unstract platform setup by pulling the latest available version.
./run-platform.sh -u
# Upgrade existing Unstract platform setup by pulling a specific version.
./run-platform.sh -u -v v0.2.0
# Build docker images locally as a specific version tag.
./run-platform.sh -b -v v0.1.0
# Build docker images locally from working branch as `current` version tag.
./run-platform.sh -b -v current
# Display the help information.
./run-platform.sh -h
# Only do setup of environment files.
./run-platform.sh -e
# Only do docker images pull with a specific version tag.
./run-platform.sh -p -v v0.1.0
# Only do docker images pull by building locally with a specific version tag.
./run-platform.sh -p -b -v v0.1.0
# Upgrade existing Unstract platform setup with docker images built locally from working branch as `current` version tag.
./run-platform.sh -u -b -v current
# Pull and run docker containers in detached mode.
./run-platform.sh -d -v v0.1.0
🔐 Backup Encryption Key
[!WARNING] This key encrypts adapter credentials — losing it makes existing adapters inaccessible!
Copy the value of ENCRYPTION_KEY from backend/.env or platform-service/.env to a secure location.
🏗️ Unstract Architecture
┌────────────────────────────────────────────────────────────┐
│ Unstract │
├─────────────┬─────────────┬─────────────┬──────────────────┤
│ Frontend │ Backend │ Worker │ Platform Service │
│ (React) │ (Django) │ (Celery) │ (FastAPI) │
├─────────────┴─────────────┴─────────────┴──────────────────┤
│ Cache (Redis) │
├────────────────────────────────────────────────────────────┤
│ Message Queue (RabbitMQ) │
├────────────────────────────────────────────────────────────┤
│ Database (PostgreSQL) │
├────────────────────────────────────────────────────────────┤
│ LLM Adapters │ Vector DBs │ Text Extractors │
│ (OpenAI, etc.) │ (Qdrant, etc.) │ (LLMWhisperer) │
└────────────────────────────────────────────────────────────┘
Also see architecture.
📄 Document File Formats
| Category | Formats |
|---|---|
| Documents | PDF, DOCX, DOC, ODT, TXT, CSV, JSON |
| Spreadsheets | XLSX, XLS, ODS |
| Presentations | PPTX, PPT, ODP |
| Images | PNG, JPG, JPEG, TIFF, BMP, GIF, WEBP |
🔌 Connectors & Adapters
LLM Providers
| Provider | Status | Provider | Status |
|---|---|---|---|
| OpenAI | ✅ | Azure OpenAI | ✅ |
| OpenAI Compatible | ✅ | Anthropic Claude | ✅ |
| AWS Bedrock | ✅ | Google Gemini | ✅ |
| Ollama (local) | ✅ | Mistral AI | ✅ |
| Anyscale | ✅ |
Vector Databases
| Provider | Status | Provider | Status |
|---|---|---|---|
| Qdrant | ✅ | Pinecone | ✅ |
| Weaviate | ✅ | PostgreSQL | ✅ |
| Milvus | ✅ |
Text Extractors
| Provider | Status |
|---|---|
| LLMWhisperer | ✅ |
| Unstructured.io | ✅ |
| LlamaIndex Parse | ✅ |
ETL Sources & Destinations
Sources: AWS S3, MinIO, Google Cloud Storage, Azure Blob, Google Drive, Dropbox, SFTP
Destinations: Snowflake, Amazon Redshift, Google BigQuery, PostgreSQL, MySQL, MariaDB, SQL Server, Oracle
🛠️ Development
Change Default Credentials
Follow these steps to change the default username and password.
Local Development
# Install pre-commit hooks
./dev-env-cli.sh -p
# Run pre-commit checks
./dev-env-cli.sh -r
🏢 Use Cases by Industry
Finance & Banking → | Insurance → | Healthcare → | Income Tax →
☁️ Cloud & Enterprise
For teams that need managed infrastructure, advanced accuracy features, or compliance certifications.
- ✅ LLMChallenge — dual-LLM verification
- ✅ SinglePass & Summarized Extraction — reduce LLM token costs
- ✅ Human-in-the-Loop — review interface with document highlighting
- ✅ SSO & Enterprise RBAC — SAML/OIDC integration with granular role-based access control
- ✅ SOC 2, HIPAA, ISO 27001, GDPR Compliant — third-party audited security certifications
- ✅ Priority Support with SLA — dedicated support team with response time guarantees
📚 Cookbooks
- Unstract + PostgreSQL + DeepSeek
- Unstract + n8n
- Unstract + Snowflake
- Unstract + BigQuery
- Unstract + Crew.AI
- Unstract + PydanticAI
- Unstract MCP Server
🤝 Contributing
We welcome contributions! The easiest way to start:
- Pick an issue tagged
good first issue - Submit a PR
Report Bug → | Request Feature →
👋 Community
Join the LLM-powered document automation community:
📊 A Note on Analytics
Unstract integrates Posthog to track minimal usage analytics. Disable by setting REACT_APP_ENABLE_POSTHOG=false in the frontend's .env file.
📜 License
Unstract is released under the AGPL-3.0 License.
Built with ❤️ by Zipstack
// compatibility
| Platforms | cli, api, web |
|---|---|
| Operating systems | — |
| AI compatibility | claude |
| License | AGPL-3.0 |
| Pricing | open-source |
| Language | Python |
// faq
What is unstract?
LLM-Driven Extraction of Unstructured Data — Built for API Deployments & ETL Pipeline Workflows. It is open-source on GitHub.
Is unstract free to use?
unstract is open-source under the AGPL-3.0 license, so it is free to use.
What category does unstract belong to?
unstract is listed under mcp-servers in the Claudeers registry of Claude-compatible tools.
// embed badge
[](https://claudeers.com/unstract)
// retro hit counter
[](https://claudeers.com/unstract)
// reviews
// guestbook
// related in Data & Analytics
Apache Airflow - A platform to programmatically author, schedule, and monitor workflows
Wrap Antigravity, ChatGPT Codex, Claude Code, Grok Build as an OpenAI/Gemini/Claude/Codex compatible API service, allowing you to enjoy the free Gemini 3.1 P…
Marketing skills for Claude Code and AI agents. CRO, copywriting, SEO, analytics, and growth engineering.
CLI tool for configuring and monitoring Claude Code
// built by
1 of its contributors also build on official projects — claude-cookbooks, claude-quickstarts
→ see how unstract connects across the ecosystem
