* * * PDF TO MARKDOWN FOR LLMS * * *

PDF to Markdown, for LLM Context.

LLMs reason dramatically better over markdown than over raw PDF text extraction: headings survive, tables stay tables, reading order holds. PennyOCR turns any PDF — scanned or born-digital — into exactly that, with page_results[] so your model can cite page numbers.

START FREE — 100 PAGES
$0.75 / 1,000 PAGES
1,333 PAGES PER DOLLAR · NO CREDIT CARD
01 / TRY IT

ONE ENDPOINT.

POST a file, get JSON back — the extracted text, per page and joined. PDF, PNG, JPEG, WebP or TIFF.

curl https://api.pennyocr.com/v1/ocr \
  -H "Authorization: Bearer $PENNYOCR_API_KEY" \
  -F "file=@report.pdf"

# $0.75 per 1,000 pages, first 100 free
02 / USE CASES

WHERE IT SLOTS IN.

RAG PIPELINES
Chunk markdown by heading instead of by arbitrary character count — retrieval quality follows document structure.
AGENT CONTEXT
Via MCP (mcp.pennyocr.com) an agent pulls exactly the pages it needs: read_document with pages: '12-18'.
TABLE-HEAVY DOCS
Financial statements and spec sheets keep their table structure as HTML — the format models parse most reliably.
CITATIONS
Per-page results mean 'according to page 14' is checkable, not vibes.
03 / PRICE CHECK

HALF THE PRICE OF THE BIG CLOUDS.

Per 1,000 pages, public list prices, first tier.

PENNYOCR$0.75
AWS TEXTRACT$1.50
GOOGLE CLOUD VISION$1.50
AZURE DOC INTELLIGENCE$1.50
YOU KEEP50%
WHY NOT JUST PYPDF TEXT EXTRACTION?
Free extraction loses structure and fails entirely on scans. If your PDFs are pristine born-digital text and structure doesn't matter, use pypdf. Everything else is why we exist.
HOW BIG CAN DOCUMENTS BE?
50 MB / 500 pages per request, with page ranges for slicing. A 500-page read costs $0.375.
MARKDOWN FLAVOR?
Standard markdown with HTML tables, figures noted, LaTeX-ish inline math. Plain-text mode strips all markup.