extractor
2 credits per document · no subscription

Any document in.
Clean text out.

Point Extractor at a URL or hand it a file — PDF, Word, PowerPoint, Excel, HTML, Markdown, an image — and get back markdown, plain text, or JSON in the exact shape you asked for. One call, one document, and nothing to pay when there was nothing to extract.

Accepts files
  • .pdf
  • .docx
  • .pptx
  • .xlsx
  • .html
  • .md
  • .txt
  • .csv
  • .png
  • .jpg
What comes off

The hard part isn't reading a page. It's knowing what to throw away.

Every source arrives wrapped in things nobody wants to read — and a model that reads them anyway pays for them in tokens and quotes them back at you. Extractor separates the document from its packaging and returns only the part that was ever the point.

strippedmenusstrippedcookie bannersstrippedfooterskeptheadings
  1. Navigation & chrome
    menus, breadcrumbs, headers, tab bars
  2. Interruptions
    cookie banners, newsletter modals, ads
  3. Boilerplate
    footers, legal blocks, share widgets
  4. The document
    headings, paragraphs, lists, tables, code
Three shapes, one call

Ask for the shape you actually need.

The same extraction can come back as markdown for a model, flat text for an index, or JSON matching a schema you supply. It is one parameter, not three products — and the price does not change.

Headings, lists and tables intact — what you feed a model.

One source · board-report.pdf
Q3 Board Report
Revenue
Revenue reached $4.2M, up 31% YoY.
Headcount
142 employees across 3 offices.
extracted.md2 credits
# Q3 Board Report
 
## Revenue
Revenue reached $4.2M, up 31% YoY.
 
## Headcount
142 employees across 3 offices.
What it does not do

Audio and video go somewhere else.

Speech is billed by the minute, not by the document. Rather than half-support it at the wrong price, Extractor returns a 400 and names the tool that does it properly.

transcribe.ounie.com →
For developers & AI agents

Four doors, one meter.

Extractor was built for something that reads documents at 3am with nobody watching. Every rail runs the same engine and draws the same wallet, and a call is refused before it can overdraw — an agent can spend your credits, never more than you have.

REST

One POST, one document

Send a URL as JSON or a file as multipart. Authenticate with a xtr_live_ key in the Authorization header — or as ?api_key= when your client can't set headers.

curl2 credits
curl -X POST https://extract.ounie.com/api/extract \
  -H "Authorization: Bearer xtr_live_..." \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/report","format":"markdown"}'
MCP

A tool your model can reach for

Streamable HTTP at /api/mcp. Works with Claude, Cursor, ChatGPT and the Ounie AI Team — that last one can't set static headers, so the key rides the URL.

mcp.json
{
  "extractor": {
    "url": "https://extract.ounie.com/api/mcp?api_key=xtr_live_..."
  }
}
x402

No account at all

An agent with a wallet and no Ounie login pays $0.024 in USDC on Base per document. The first response is a 402 with terms; sign it and retry. Payment is verified first and only settled once the text is out, so an empty document costs nothing.

curl$0.024 USDC
curl -X POST https://extract.ounie.com/api/x402/extract \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/report"}'
# → 402 { accepts: [ { network: "base", payTo: "0x…" } ] }
UI

And a place for humans

The dashboard runs the same endpoint your agents do, keeps every document you have extracted, and shows what each one cost. Reading anything you already ran is free, forever.

Also in the dashboard
  • · Mint and revoke keys (5 active max)
  • · Full extraction history with per-run cost
  • · Download any result as .md, .txt or .json
Full API docs
What it costs

2 credits a document. That is the whole price list.

A credit is one cent. There is no plan, no minimum and no monthly fee — you draw the same Ounie wallet every other Ounie app draws. Credits are reserved before the work starts and settled on what the document actually turned out to be.

121 × 50-page block
You pay
2credits
$0.02

Every 50 pages adds 2credits. Pages with no text layer don't count toward a block.

Longer PDFs bill in blocks

Up to 50 pages is one document. Past that it is 2 credits per 50-page block — counted on pages that actually carried text, so a 200-page scan with a text layer on 30 pages bills one block, not four.

Nothing extractable, nothing charged

If a scan has no text layer or a page answers with an empty shell, the reserve refunds in full and no ledger row is written. We would rather return nothing than bill you for it.

Re-reading is free

Every extraction stays in your history. Fetching it again, exporting it, or downloading it as markdown costs nothing — you paid for that document once.

Out of credits? Top up on ounie.com. Audio and video are billed per minute, not per document — those go to Transcriber.

Questions

Before you send the first document

What can it actually read?
Web pages, PDFs, Word documents, PowerPoint decks, Excel workbooks, HTML files, CSV, plain text, Markdown, and images (which go through OCR). A URL that points straight at a file is fetched and parsed like an upload; a URL that points at a page is rendered first, because half the modern web only exists after JavaScript runs.
Why not audio and video?
Because the honest billable unit for speech is a minute, not a document, and pretending otherwise would either overcharge a voice memo or undercharge a two-hour recording. Send those to transcribe.ounie.com. Extractor returns a 400 pointing there rather than failing quietly.
What happens to my documents?
The extracted text is stored so you can read it again without paying twice. Long documents spill to private storage and are deleted after 30 days; the row keeps only its metadata after that. Uploaded source files are parsed in memory and never persisted at all.
How accurate is the JSON mode?
It only fills a field from text that is actually in the document. If the document doesn't state a value the field comes back null and the name appears in missing_fields— we would rather hand you a gap you can see than a number that looks right and isn't.
Do I need a subscription?
No. Extractor has no plans and no tiers. You spend Ounie credits per document from the same wallet the rest of the Ounie apps use, and you can stop any time without cancelling anything.
Can an agent run this without an account?
Yes — that is what the x402 endpoint is for. An agent with a USDC wallet on Base pays per call with no login, no key and no wallet of ours to top up. Everything else needs an Ounie account, because credits belong to someone.

Point it at something messy.

A URL, a PDF, a deck someone emailed you. Two credits, a couple of seconds, and text you can actually use.

No subscription — pay in Ounie credits