Private OCR: Image & Scanned PDF to Text and Markdown avatar

Private OCR: Image & Scanned PDF to Text and Markdown

Pricing

from $4.00 / 1,000 page ocr’ds

Go to Apify Store
Private OCR: Image & Scanned PDF to Text and Markdown

Private OCR: Image & Scanned PDF to Text and Markdown

Extract text from images and scanned PDFs on-platform. No Google Lens, no third-party AI APIs. Returns clean text, paragraph-aware markdown and optional line boxes. Pay per page.

Pricing

from $4.00 / 1,000 page ocr’ds

Rating

0.0

(0)

Developer

Nookforgestudio

Nookforgestudio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Share

Private OCR: Image & Scanned PDF to Text and Markdown

Turn images and scanned PDFs into clean text and paragraph-aware markdown. OCR runs inside the Actor on Apify. Your files are never sent to Google Lens, OpenAI or any other third-party service, and nothing depends on scraping a website, so runs don't break when someone else's UI changes.

  • 📄 Images and PDFs: JPG, PNG, WebP, TIFF (multi-page), BMP, GIF, and PDFs of any length
  • ⚡ Digital PDFs are exact and fast: if a page already has a text layer, it is used directly; scanned pages are OCR'd
  • 🧾 LLM-ready output: reading-order text plus markdown with paragraphs and headings, ready for RAG, search or an AI agent
  • 📐 Optional line boxes: every line with [x0, y0, x1, y1] and confidence, for redaction, highlighting or form parsing
  • 🔗 Chain after any scraper: point it at a dataset and the field holding image or PDF links
  • 💸 Pay per page, failed files are free

Who uses it

  • Document pipelines: invoices, receipts, contracts, scanned archives into searchable text
  • AI agents (MCP): give Claude, ChatGPT or Cursor a reliable "read this image/PDF" tool
  • E-commerce and listings: read text on product photos, labels and packaging scraped by other Actors
  • Compliance-sensitive teams: keep documents off third-party AI APIs

Ready-made examples

How it compares

Tesseract-based OCRGoogle Lens / cloud OCR APIsPrivate OCR
EngineTesseractVendor modelPP-OCR (deep learning), strong on photos and messy scans
Files sent to a third partyNoYesNo, runs inside the Actor
Digital PDFsUsually re-OCR'dRe-OCR'dText layer used directly when present
OutputPlain textJSONText, paragraph-aware Markdown, optional line boxes

How to use

  1. Paste file links into File URLs (or set Read URLs from a dataset).
  2. Pick One row per page or One row per file.
  3. Click Start. Results appear in the Output tab and can be exported as JSON, CSV or Excel.

Input example

{
"urls": [
"https://example.com/scans/invoice-0042.pdf",
"https://example.com/photos/receipt.jpg"
],
"outputMode": "page",
"includeLines": false,
"maxPagesPerPdf": 50
}

Output example

Real output for a photographed receipt (text truncated):

{
"source": "https://upload.wikimedia.org/wikipedia/commons/0/0b/ReceiptSwiss.jpg",
"fileType": "image",
"page": 1,
"pageCount": 1,
"method": "ocr",
"width": 2448,
"height": 3264,
"lineCount": 18,
"meanConfidence": 0.8027,
"text": "Berghotel\nGrosse Scheidegg\n3818 Grindelwald\n...\n2xlatte Macchiato 4.50 CHF 9.00\n...\nTotal : CHF 54.50\n...",
"markdown": "Berghotel\n\n## Grosse Scheidegg\n\n3818 Grindelwald\n..."
}

method is ocr for scanned pages and embedded-text when a digital PDF's own text layer was used.

Pricing

EventPriceWhen
Page OCR'd$0.004Each image or PDF page with text extracted
Actor start$0.00005 per GBOnce per run
ExampleCost
100 receipt photos$0.40
A 25-page scanned PDF$0.10
1,000 pages$4.00

Platform usage is included. Files that fail to download or decode are free. Cap spending with Max pages per PDF or the run's maximum cost; the Actor stops cleanly at the limit.

Use with AI agents (MCP)

$claude mcp add --transport http apify "https://mcp.apify.com?tools=nookforgestudio/private-ocr"

Then ask: "Extract the text from this PDF: https://..."

Use via API

curl -X POST "https://api.apify.com/v2/acts/nookforgestudio~private-ocr/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"urls": ["https://example.com/receipt.jpg"]}'

Languages and limits

  • Best on English and Chinese printed text, including numbers and symbols. Other Latin-script languages usually work; accents may be dropped.
  • Handwriting and very stylized fonts are not reliable.
  • Multi-column layouts are read line by line across columns.
  • Files up to 60 MB; images larger than 4000 px on the long side are downscaled.

FAQ

Are my files stored? Only in your own run's storage on Apify, under your account's retention settings.

Is the text for digital PDFs re-OCR'd? No. With Use embedded PDF text on (default), a page's existing text layer is returned as-is when it holds at least 20 characters. Near-empty text layers are OCR'd instead.

Need something custom? Handwriting, forms, tables or a full document pipeline: contact Nookforge Studio.

Something wrong with a file? Open an issue in the Issues tab with the file link and the row output.