> Source: https://txtfetch.com/compare/unstructured > Plain-text twin — every page on txtfetch.com has one. https://txtfetch.com/text --- # txtfetch vs Unstructured.io Unstructured.io is open-core etl for rag pipelines, priced per page. Here's an honest comparison: pricing math, capabilities, and where each tool wins. at a glance Unstructured.io **Billing**: per page (pay-as-you-go) **Rate used below**: $0.03/page **Free tier**: 15,000 pages/month free. txtfetch **Billing**: per document, regardless of page count **Rate used below**: flat monthly quota (see plans) **Free tier**: 500 documents/month, free, ongoing (Hobby plan) capability table | Capability | Unstructured.io | txtfetch | | --- | --- | --- | | Billing unit | per page | per document | | Format coverage | ~25 file types | 615 formats (Apache Tika, checked) | | OCR for scans / images | yes | yes | | Table extraction | yes | yes* | | Complex layout fidelity | partial | partial* | | Structured field extraction | no | not yet* | | Self-hosted option | yes | no* | | Single HTTP endpoint | partial | yes | Vendor-published benchmarks are marked directional throughout. See sources below. \* txtfetch notes: Tables come back as structured rows and cells, not flattened text. Use ?format=markdown for GFM pipe tables, or ?format=json for table elements with a cells array. Output is clean linear or structured text, not a visual layout reconstruction. That's by design, but worth knowing. Structured markdown and element-JSON document output ship today (?format=markdown / ?format=json). Schema-defined field extraction means pulling typed fields per your own schema. That feature is on the roadmap, not shipped yet. We won't claim it early. No shipped self-host or VPC artifact today. It is on the roadmap. Apache Tika itself is free to run yourself. See the page below for what that takes. Weighing self-hosting against either API? See [what running Apache Tika yourself actually takes](https://txtfetch.com/compare/self-hosted-tika). the cost calculator ## Per page vs per document, worked out. A 300-page PDF is 300 units of billing to Unstructured.io. It's one document to txtfetch. Adjust the numbers to your own workload. [Interactive cost calculator — adjust pages per document and documents per month to compare pricing against Unstructured.io] where unstructured wins - Purpose-built chunking strategies (by-title, by-similarity) tuned specifically for RAG retrieval, not just text extraction. - Open-source core you can self-host and modify if you need full control over the pipeline. - Deep partitioning options per element type (titles, narrative text, tables, images) for teams that want to post-process structure, not just plain text. where txtfetch wins - Breadth: 615 formats, each with a real Apache Tika parser behind it. That's [checked against the exact build we run](https://txtfetch.com/formats/coverage), not a curated list of a dozen file types. - One HTTP endpoint. Pass a URL or upload a file, and get text back. No SDK and no async job polling required. - Priced per document, so a 300-page report doesn't cost 300x a one-pager. - A durable free tier (500 documents/month, ongoing) rather than a time-boxed trial. What we don't claim yet: schema-defined structured field extraction, or an uptime SLA. Those ship later. See the capability table above. next step Ready to switch? See [what your code looks like after migrating from Unstructured.io](https://txtfetch.com/migrate/unstructured): the call you run today, the call that replaces it, and a drop-in adapter. sources - [Unstructured.io: Pricing](https://unstructured.io/pricing) Accessed 2026-07 ## Check the numbers yourself. The benchmark runs against a committed corpus. You can re-run it. [See the benchmarks →](https://txtfetch.com/benchmarks) [Get an API key →](https://app.txtfetch.com/signup)