Priced per document, not per surprise.

Metered on one honest unit: a document extracted. No per-page arithmetic, no per-megabyte fine print.

Hobby

$0/month

Free, permanently — for side projects and trying it out.

  • 500 documents / month
  • 10 MB max file size
  • Community support
Get started

most popular

Developer

$19/month

For production pipelines that stay lean.

  • 10,000 documents / month
  • 50 MB max file size
  • Priority support
Get started

Scale

$99/month

For ingestion at serious volume.

  • 100,000 documents / month
  • 200 MB max file size
  • Priority support
  • Uptime SLA (planned)
Talk to us

Billing: Hobby is free, forever, with no card required. Developer and Scale are billed monthly via Stripe. Upgrade, downgrade, or cancel anytime from your dashboard.

The meter counts successes only. A failed extraction never counts against your monthly quota. Hitting a limit returns a typed 429. rate_limited and quota_exceeded are different error codes. Both carry a Retry-After header. See the error reference → and the full list of limits →.

Coming from a per-page vendor? See how per-document pricing changes the math.

Every plan includes every response mode and quality tier: format=markdown, format=json, and quality=premium. A document is one document, whatever shape it comes back in. See what comes back →.

Cheapest plan

—

Monthly price

—

Cost / 1,000 docs

—

capability matrix

Every plan, side by side.

Rows marked same on every plan are not filler. OCR, every format, and every response mode ship on Hobby too.

Capability vs plan
CapabilityHobbyDeveloperScale
Documents / month 50010,000100,000
Max file size 10 MB50 MB200 MB
Requests per minute Base rateHigher rateHighest rate
Supported formats same on every planAll 615 supported formatsAll 615 supported formatsAll 615 supported formats
OCR for scans & images same on every planIncludedIncludedIncluded
format=markdown same on every planIncludedIncludedIncluded
format=json same on every planIncludedIncludedIncluded
quality=premium same on every planIncludedIncludedIncluded
Async jobs same on every planIncludedIncludedIncluded
Idempotency keys same on every planIncludedIncludedIncluded
Document retention same on every planNone — never storedNone — never storedNone — never stored
Priority OCR queue Standard queueStandard queuePriority (planned)
Uptime SLA Not offeredNot offeredPlanned

Per-minute request rate rises with the plan. Every metered response carries an X-RateLimit-Limit header. A client reads its own limit from that header. See the full list of limits →.

faq

Questions we'd ask too.

What counts as a document?
One extraction request: one URL fetched or one file uploaded. A 300-page PDF is still one document.
Which file formats are supported?
Apache Tika detects 1,683 media types and has a real parser behind 615 of them, checked against the exact build txtfetch runs (see txtfetch.com/formats/coverage). Supported formats include PDF, DOCX, PPTX, XLSX, ODF, HTML, EPUB, EML/MSG email, RTF, and plain-text families. Scanned documents and images go through OCR.
Do you keep my documents?
No. Documents are processed in memory and discarded when the response is returned. We store request metadata (timestamps, sizes, status) for metering. We never store content.
How do I get an API key?
Sign up at app.txtfetch.com. The free Hobby plan gets you a key instantly, no card required.
What happens if extraction fails?
You get an explicit error response with a machine-readable reason (unsupported format, encrypted file, fetch failure). It's never a silent empty string, with one exception we found: a ZIP with an encrypted member returns success and only the member names. Failed extractions don't count against your quota.
What happens when I hit a rate limit or my monthly quota?
You get a typed 429. It's rate_limited if you've exceeded your API key's per-minute request rate, or quota_exceeded if you've used up your plan's monthly document allowance. Both codes are disambiguated by error.code, and both carry a Retry-After header telling you exactly when to retry. Failed extractions never count against your monthly quota, only successful ones. Need a larger plan? Upgrade in your dashboard.

Get a key and send your first file.

Create an account and get an API key in minutes. The free Hobby plan needs no card.

Get started →