> Unstructured macht aus PDFs, Word-Dateien und Bildern typisierte Elemente für RAG: eine Apache-2.0-Bibliothek und eine Plattform mit 0,015 Dollar pro Seite nach 10.000 freien Seiten.
>
> Web page: https://balazscsorba.com/de/blog/unstructured · Language: Deutsch · Also available in: [English](https://balazscsorba.com/blog/unstructured.md) · [Magyar](https://balazscsorba.com/hu/blog/unstructured.md)
> Author: Balázs Csorba · Published: 2026-05-21 · Keywords: unstructured.io, unstructured library python, unstructured vs llamaparse, document parsing for rag, pdf partitioning hi_res, unstructured pricing, chunk by title, document ingestion pipeline

[Blog](https://balazscsorba.com/de/blog)/Retrieval & Suche

# Unstructured-Review: Dokumente für RAG parsen

Unstructured macht aus PDFs, Word-Dateien und Bildern typisierte Elemente für RAG: eine Apache-2.0-Bibliothek und eine Plattform mit 0,015 Dollar pro Seite nach 10.000 freien Seiten.

[Balázs Csorba](https://balazscsorba.com/de/about)·21\. Mai 2026·11 Min. Lesezeit

-   Document parsing
-   RAG ingestion
-   PDF extraction
-   Chunking
-   ETL

![Drei verschieden geformte Blätter laufen in einen Maschinenrahmen, gleiche kleine Quadrate verlassen ihn auf einer Schiene.](https://balazscsorba.com/images/blog/unstructured/cover.webp?v=4a9c35bae9)

## Das Wichtigste in Kürze

-   Unstructured ist eine Apache-2.0-Python-Bibliothek, die PDFs, Word-Dateien und Bilder in typisierte Elemente wie Titel, Tabellen und Listen verwandelt, dazu eine gehostete Plattform mit Konnektoren und der VLM-Strategie.
-   Die Plattform berechnet 0,015 Dollar pro Seite nach den ersten 10.000 freien Seiten, die Bibliothek läuft lokal ohne Seitenzahl.
-   Im eigenen Benchmark des Anbieters über 1.000 Unternehmensseiten erreicht das Open-Source-Bauhaus 0,426 Tabellenzellen-Inhalt gegen 0,820 bei der besten Plattform-Pipeline.
-   Tabellenstruktur und Leserichtung scheitern ohne Fehler, deshalb sollte eine Stichprobe des Korpus gelesen werden, bevor das Embedding-Modell gewählt wird.
-   Telemetrie lässt sich mit DO\_NOT\_TRACK und SCARF\_NO\_ANALYTICS abschalten; mit der Bibliothek verlassen die Dokumente die Maschine nicht.

Auf dieser Seite

1.  [Was es ist](https://balazscsorba.com/#what-it-is)
2.  [Wie es funktioniert](https://balazscsorba.com/#how-it-works)
3.  [Erste Schritte](https://balazscsorba.com/#getting-started)
4.  [Performance und Kosten](https://balazscsorba.com/#performance)
5.  [Preise](https://balazscsorba.com/#pricing)
6.  [Wo es scheuert](https://balazscsorba.com/#where-it-shingles)
7.  [Fazit](https://balazscsorba.com/#verdict)
8.  [Quellen](https://balazscsorba.com/#sources)

Diesen Artikel anhören

0:000:00

Unstructured ist die Dokument-Parsing-Schicht, mit der die meisten Retrieval-Pipelines beginnen: eine Apache-2.0-Python-Bibliothek, die PDFs, Word-Dateien, HTML, Bilder und Tabellen in typisierte Elemente verwandelt, Titel, Tabellen, Listen und Fließtext, dazu eine gehostete Plattform, die Konnektoren, Änderungserkennung und die Strategien ergänzt, die die Bibliothek nicht mitliefert. **Die Bibliothek ist für fast jeden der richtige Einstieg; die Plattform lohnt sich nur dann zu bezahlen, wenn Tabellen oder gescannte Archive darüber entscheiden, ob die Pipeline überhaupt funktioniert.**

Die Schicht steht vorn im Stack, vor Chunking, Embedding und Retrieval, und konkurriert mit LlamaParse, Docling, Reducto, Azure Document Intelligence und den Parsing-Endpunkten der großen Cloud-Anbieter. Ihr Vorteil ist nicht, dass sie jeden Benchmark gewinnt, die eigenen veröffentlichten Zahlen sagen für das Open-Source-Bauhaus das Gegenteil, sondern dass der Kern lokal unter einer freien Lizenz läuft: Diese Schicht schreibt weder eine Vektordatenbank, noch einen Chunker noch einen Hosting-Ort vor.

## Was es ist

Installation mit `pip install "unstructured[all-docs]"`, dann `partition()` auf eine Datei aufrufen und man erhält eine Liste von Element-Objekten mit Typ, Text und Metadaten wie Seitenzahl und Bounding-Box. Das Argument `strategy` wählt die Pipeline: `auto`, `fast`, `hi_res` und `ocr_only` in der Bibliothek, `vlm` kommt von der Plattform und schickt Seiten durch ein Vision-Modell. Darum herum liegt eine Kette, partition, chunk, enrich, embed und load, die die Plattform als Job ausführt und die Bibliothek als normale Funktionen.

-   Lizenz und Eigentümer: Apache-2.0 für die Bibliothek; die Plattform ist ein kommerzielles Produkt von Unstructured mit Gratis-Tarif, Pay-as-you-go und individuellem Tarif.
-   Abdeckung: die Preisliste nennt über 45 unterstützte Dateitypen und über 40 Konnektoren, verteilt auf mehr als 20 Quellen und mehr als 20 Ziele.
-   Ausgabe: typisierte Elemente wie Title, NarrativeText, Table, ListItem und Image, mit Seitenzahlen, Koordinaten und Element-Metadaten statt einer Textwand.
-   Strategien: `auto`, `fast`, `hi_res` und `ocr_only` lokal, dazu `vlm` und die Anreicherungsschritte auf der Plattform.
-   Chunking: nach Titel, nach Seite, nach Zeichenzahl und nach Ähnlichkeit, kontextuelles Chunking gibt es als Plattform-Funktion.
-   Benchmarks: Unstructured veröffentlicht Ergebnisse über 1.000+ Unternehmensseiten gegen Reducto, LlamaParse, Docling, Snowflake, Databricks und NVIDIA.
-   Telemetrie: die Bibliothek meldet anonyme Nutzungsdaten, solange `DO_NOT_TRACK` oder `SCARF_NO_ANALYTICS` nicht gesetzt ist.

## Wie es funktioniert

Ein Lauf liest die Datei, rendert die Seiten, wenn die Strategie Pixel braucht, und klassifiziert dann Bereiche in Elemente. `fast` nimmt den eingebetteten Text und beschriftet ihn; `hi_res` läuft Layout-Erkennung und OCR über das Seitenbild, deshalb langsamer, deshalb mit installiertem Modell-Stack, und deshalb die Strategie, die noch Tabellen liefert, die sich lohnen; `ocr_only` ist die Rückfallebene, wenn eine Seite überhaupt keinen Textlayer hat. Danach fasst das Chunking Elemente unter einem Zeichenbudget zusammen und versucht dabei, eine Überschrift nicht von ihrem Absatz zu trennen.

![Wie ein Dokument zu durchsuchbarem Text wird Quelldateien kommen oben hinein und werden vom Partition-Schritt in typisierte Elemente zerlegt, der das Layout liest und OCR ausführt. Die Elemente werden nach Titel, Seite oder Größe zu Chunks zusammengefasst, mit Metadaten und Tabellenstruktur angereichert, in Vektoren eingebettet und in eines von über zwanzig Ziel-Systemen geladen.](https://balazscsorba.com/images/blog/unstructured/diagram-7.webp?v=de8eea60a5)

Jeder Schritt ist in der Bibliothek ein eigener Aufruf und auf der Plattform ein eigener Schritt, deshalb lässt sich eine Pipeline ab der Mitte neu starten, ohne das gesamte Korpus neu zu parsen.

Das Ergebnis steht und fällt mit der Elementgrenze. Eine Tabelle, die als HTML mit intakter Kopfzeile herauskommt, wird zu einem nützlichen Knoten; dieselbe Tabelle als Fließtext gelesen wird zu mehreren Chunks, von denen jeder die Hälfte einer Zahl enthält. Das ist das ganze Argument für diese Schicht, und zugleich der ganze Grund, das Parser-Ergebnis zu lesen, bevor man das Embedding-Modell wechselt.

## Erste Schritte

Das Quickstart der Bibliothek ist ein einziger Funktionsaufruf. Das Snippet unten parst ein PDF mit der High-Resolution-Strategie, behält die Tabellenstruktur, chunkt nach Titel und schreibt das Ergebnis als JSON.

```
from unstructured.partition.auto import partition
from unstructured.chunking.title import chunk_by_title
from unstructured.staging.base import elements_to_json

# strategy: auto, fast, hi_res or ocr_only; hi_res is the one that keeps table structure
elements = partition(
    filename="report.pdf",
    strategy="hi_res",
    infer_table_structure=True,
)
chunks = chunk_by_title(elements, max_characters=1_200, combine_under=300)

elements_to_json(chunks, filename="report.elements.json")
print(len(elements), "elements,", len(chunks), "chunks")
```

Für alles jenseits eines lokalen Experiments ist die Plattform der gepflegte Weg: derselbe Partition-Schritt hinter einer API oder einem geplanten Job, Konnektoren zu S3, SharePoint, Google Drive und weiteren, Änderungserkennung, damit nur neue oder geänderte Dateien verarbeitet werden, sowie die Strategie `vlm`. Die Bibliothek bleibt der Ort, an dem der eigentliche Parsing-Code lebt, und die Dokumentation ist darum herum geschrieben.

**Elemente lesen, bevor man Embeddings anfasst**

Hundert Seiten des eigenen Korpus partitionieren und das Ergebnis lesen: Elementtypen, Tabellenstruktur, Leserichtung. Der Fehler in dieser Schicht ist still, ein Parser, der die halbe Tabelle verliert, liefert sauberes JSON, und jede Kennzahl weiter unten beschuldigt stattdessen den Retriever.

## Performance und Kosten

Die Plattform rechnet Seiten ab: 10.000 gratis zum Start, danach 0,015 Dollar pro Seite, ein gescanntes Archive mit 400 Seiten kostet also sechs Dollar Parsing, bevor jemand eine Frage gestellt hat. Die Bibliothek rechnet in CPU und Wandzeit ab: `fast` ist nahezu I/O-gebunden, `hi_res` führt pro Seite ein Layout-Modell und OCR aus, und `vlm` verlagert die Rechnung von Rechenzeit auf Modell-Tokens.

Pipeline

Adjusted CCT

Tokens added

Table cell content

Unstructured Plattform

0.880

0.051

0.820

Unstructured Open Source

0.715

0.119

0.426

LlamaParse VLM

0.835

0.069

0.522

Docling Standard

0.716

0.135

0.657

Die Zahlen stammen aus dem eigenen Benchmark von Unstructured über 1.000+ Unternehmensseiten, gescannte Rechnungen, verschachtelte Tabellen und Handschrift, und ein Anbieter-Vergleich ist Marketing, deshalb ist das brauchbare Signal die Lücke innerhalb eines einzigen Produkts: 0,426 gegen 0,820 Tabellenzellen-Inhalt zwischen dem Open-Source-Bauhaus und der besten Plattform-Pipeline, und 0,715 gegen 0,880 bei der bereinigten Textgenauigkeit. Element Alignment, ob ein Bereich als Überschrift, Tabelle oder Absatz beschriftet wurde, ist der Wert, bei dem alle Werkzeuge dieser Tabelle zwischen 0,53 und 0,61 zusammenliegen, und das ist die ehrliche Schwierigkeit dieser Schicht.

-   Einmal parsen und das Element-JSON behalten: dasselbe Korpus beim Chunking-Experiment neu zu partitionieren, ist der häufigste Weg, auf dem diese Schicht Geld verbrennt.
-   Die Strategie pro Dokumenttyp wählen und nicht pro Korpus: `fast` für digitalen Text, `hi_res` für Scans und alles mit Tabellen.
-   Seiten zählen und nicht Dateien, denn ein Preis pro Seite macht aus einer 400-Seiten-PDF den Kostenfaktor, nicht die Zahl der Dokumente.

Nichts davon ist speziell für diesen Anbieter, jeder Parser tauscht Recall gegen Rechenzeit. Speziell ist allein, dass die Zahlen überhaupt veröffentlicht werden, in einer Tabelle mit Namen der Wettbewerber, und das ist mehr, als der Rest der Branche offenlegt.

## Preise

Zwei Produkte, ein Name. Die Bibliothek ist Apache-2.0 und gratis: installieren, auf der eigenen Maschine laufen lassen, kein Konto und keine Seitenzahl. Die Plattform ist dasselbe Parsing, verpackt in verwaltete Jobs, Konnektoren und Compliance, abgerechnet pro Seite.

-   Bibliothek: Apache-2.0, Installation von PyPI, unbegrenzte Seiten, eigene Hardware.
-   Gratis: 10.000 Seiten zum Start, keine Karte nötig, alle Funktionen enthalten.
-   Pay-as-you-go: 0,015 Dollar pro Seite nach den ersten 10.000 Seiten, alle Funktionen enthalten.
-   Business: individueller Preis für eine dedizierte Instanz, VPC oder Bare-Metal, Mehrbenutzerkonten, rollenbasierte Zugriffskontrolle und die Compliance-Nachweise des Anbieters.

## Wo es scheuert

Mit den Schwächen beginnen. Das Open-Source-Bauhaus ist der schwächere Parser, und die eigene Tabelle des Anbieters sagt das: 0,426 Tabellenzellen-Inhalt gegen 0,820 bei der besten Plattform-Pipeline, 0,119 erfundene Tokens gegen 0,051. Der Preis geht pro Seite, was geburtsschicke PDFs belohnt und Scans bestraft, und eine Seite ist eine schlechte Einheit, wenn die eine einen Absatz enthält und die nächste eine Tabelle mit 400 Zellen. Die Funktionen, weshalb sich die Plattform mieten lässt, VLM-Partitionierung, inkrementelle Änderungserkennung, über 40 gepflegte Konnektoren und die Compliance-Geschichte, sind genau das, was die Lizenz nicht enthält. Und das Ergebnis braucht weiterhin Stichproben: Leserichtung und Tabellenstruktur sind die beiden Felder, die ohne Fehler still scheitern.

Werkzeug

Was es ist

Wo es gewinnt

Was man aufgibt

Unstructured

Bibliothek plus gehostete Plattform

Lokaler Lauf unter Apache-2.0 mit veröffentlichtem Qualitäts-Benchmark

Abrechnung pro Seite, und die starken Zahlen brauchen die bezahlte Pipeline

LlamaParse

Gehosteter Parser des LlamaIndex-Teams

Schneller Start und enge LlamaIndex-Integration

Nur gehostet, jede Seite verlässt das eigene Netzwerk

Docling

Open-Source-Parser von IBM

Eine Abhängigkeit, MIT-Lizenz, starke Tabellenausgabe

Weniger Dateitypen und keine verwaltete Konnektorebene

Reducto

Gehostete Parsing-API mit Layout-Steuerung

Tabellengenauigkeit und Layout-Steuerung als Dienst

Nur API: kein lokaler Lauf und keine Bibliothek zum Erweitern

Die eigentliche Frage ist, wer die Qualität bezahlt. Wenn das Korpus digitaler Text ist und Ausgabe reicht, kostet die Bibliothek mit `strategy="fast"` nichts pro Seite und ist für die Aufgabe die richtige Größe. Wenn Tabellen, Scans oder regulierte Daten darüber entscheiden, ob die Pipeline funktioniert, ist die Plattform oder ein Spezial-Parser der Kauf, und der einzige Test, der zählt, ist einhundert Seiten der eigenen Dokumente, bewertet an genau den Feldern, die man wirklich liest.

**Telemetrie und was das Gerät verlässt**

Mit der Bibliothek bleiben die Dokumente lokal, aber das Paket meldet standardmäßig anonyme Nutzungsdaten; `DO_NOT_TRACK=1` und `SCARF_NO_ANALYTICS=1` schalten das ab. Die Plattform schickt Seiten definitionsgemäß an einen gehosteten Dienst, und die Sicherheitsseiten nennen Verschlüsselung beim Transport, Zero Data Retention und dedizierte Inferenz für Teams, die das nicht dürfen.

## Fazit

Unstructured ist der sicherste Standard am Anfang einer Retrieval-Pipeline, weil er langweilig, lokal und messbar ist: eine Funktion, die typisierte Elemente zurückgibt, ein Benchmark, über den man streiten kann, und eine bezahlte Stufe, in die man wechseln kann, ohne die Ingestion umzuschreiben. Tatsächlich entschieden wird, wie viel Parsing-Qualität das Produkt braucht, und die eigenen Zahlen des Anbieters sagen, dass das gratis Bauhaus nicht das bezahlte ist.

1.  Bibliothek nutzen, wenn bereits eine Pipeline existiert und typisierte Elemente statt Rohtext braucht; sie ist Apache-2.0, läuft lokal und lässt sich austauschen, ohne den Rest des Stacks anzufassen.
2.  Plattform nutzen, wenn Seiten aus S3, SharePoint oder Confluence kommen und Konnektoren, Änderungserkennung und ein Audit-Trail gebraucht werden.
3.  Nicht als Parser of Record für Finanztabellen akzeptieren, ohne die eigenen Dokumente zu bewerten; die Lücke zwischen Strategien in einem Produkt ist größer als die zwischen Anbietern.
4.  Nicht wählen, wo ein schwerer lokaler Abhängigkeitsbaum unzulässig ist, denn `unstructured[all-docs]` zieht den OCR- und Layout-Stack mit, während Docling oder eine gehostete API viel leichter sind.
5.  Von Anfang an in Seiten budgetieren; ein Preis pro Seite ist leicht modelliert und mit gescannten Archiven leicht überschritten.

> Dokument-Parsing als gemessenen Schritt behandeln und nicht als Rohrleitung: die Strategie an einer Stichprobe der eigenen Seiten wählen, das Element-JSON behalten und den Parser erst wechseln, wenn sich die Tabellenzahlen bewegen.

## Quellen

1.  [Unstructured-Dokumentation: Pipeline-Überblick](https://docs.unstructured.io/welcome)
2.  [Unstructured-Dokumentation: Transform-Quickstart](https://docs.unstructured.io/api-reference/transform/quickstart/overview)
3.  [Unstructured-Preise: freie Seiten, Preis pro Seite und Tarife](https://unstructured.io/pricing)
4.  [Unstructured-Benchmarks: 1.000+ Unternehmensseiten gegen andere Parser](https://unstructured.io/benchmarks)
5.  [Unstructured-Bibliothek auf GitHub](https://github.com/Unstructured-IO/unstructured)
6.  [Unstructured Partition-Endpoint-Container](https://github.com/Unstructured-IO/unstructured-api)

## Häufige Fragen

Ist die unstructured-Bibliothek kostenlos nutzbar?

Ja. Die Bibliothek ist Apache-2.0, wird von PyPI installiert und läuft ohne Konto und ohne Seitenlimit. Bezahlt wird die gehostete Plattform: 10.000 freie Seiten zum Start, danach 0,015 Dollar pro Seite.

Was unterscheidet Bibliothek und Plattform?

Die Bibliothek partitioniert, chunkt und stapelt Daten im eigenen Prozess. Die Plattform ergänzt verwaltete Jobs, über 40 gepflegte Konnektoren, Änderungserkennung, damit nur neue oder geänderte Dateien laufen, die VLM-Partitionierungs-Strategie und die Compliance-Nachweise. Im Benchmark des Anbieters zeigt sich das als 0,426 gegen 0,820 Tabellenzellen-Inhalt.

Welche Partitionierungs-Strategie ist die richtige?

auto ist die Voreinstellung und wählt pro Datei, fast liest den eingebetteten Text und ist am billigsten, hi\_res läuft Layout-Erkennung und OCR und ist die Wahl für Scans und Tabellen, ocr\_only behandelt Seiten ohne Textlayer. Die VLM-Strategie gibt es nur auf der Plattform.

Was kostet die Verarbeitung eines großen Dokumentsatzes?

Nach den ersten 10.000 freien Seiten kostet 0,015 Dollar pro Seite ein 500-seitiges Scan im Pay-as-you-go-Tarif 7,50 Dollar. Die Bibliothek selbst zu hosten kostet nur Rechenzeit, deshalb werden große Archive meist lokal geparst und nur schwierige Dokumente gehen an die Plattform.

Geschrieben von Balázs Csorba

Senior Fullstack & AI Engineer in der Steiermark – über 10 Jahre Vue, Nuxt, Node.js und PHP, heute baue ich Werkzeuge für KI-Agenten.

[KI-Entwicklung & MCP-Server →](https://balazscsorba.com/de/expertise/ai-engineer)[Über mich →](https://balazscsorba.com/de/about)

## Weitere Artikel

-   [Embedding-Modell wählen 2026: Leaderboards, Kosten und ein Vergleichstest mit eigenen Daten](https://balazscsorba.com/de/blog/embedding-model-selection-2026)
-   [Contextual Retrieval und Late Chunking: RAG-Chunks ihren Kontext zurückgeben](https://balazscsorba.com/de/blog/contextual-retrieval-late-chunking)
-   [Zugriffskontrolle für RAG: berechtigungsbewusstes Retrieval ohne Datenlecks](https://balazscsorba.com/de/blog/rag-access-control-permissions)
-   [RAG über Produktkataloge: aus PIM-Daten Antworten machen, die halten](https://balazscsorba.com/de/blog/rag-product-catalog-pim-data)

## Klingt nach dem, was du suchst?

Erzähl mir von deinem Projekt oder deiner Stelle – ich freue mich, von dir zu hören.

[Kontakt aufnehmen](mailto:contact@balazscsorba.com) [Auf LinkedIn vernetzen](https://www.linkedin.com/in/balazs-csorba)
