Bulk OCR: Images and Scanned PDFs to Text avatar

Bulk OCR: Images and Scanned PDFs to Text

Pricing

Pay per usage

Go to Apify Store
Bulk OCR: Images and Scanned PDFs to Text

Bulk OCR: Images and Scanned PDFs to Text

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Venture Ace

Venture Ace

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

an hour ago

Last modified

Categories

Share

OCR for lists of image and PDF URLs, using Tesseract (Apache-2.0) on CPU, with pypdfium2 (Apache-2.0/BSD) rendering PDF pages and Pillow for images.

  • Input: files (direct URLs, or keys in the run's key-value store), languages (default eng; also deu, fra, spa, ita, por, nld), minConfidence (0.5), maxPages (200, hard cap 1,000), pdfDpi (200), outputFormats (text, lines, markdown).
  • Output: one dataset row per page: source, page, status, error, language, confidence, text, width, height (plus lines and markdown if asked). Status is ok, no_text, unreadable (mean word confidence under minConfidence), too_big or fetch_failed.
  • One bad file (dead link, not an image, page URL, too large, corrupt PDF) gives a row with the reason; the run continues and succeeds. Nothing is kept after the run beyond the dataset you asked for.
  • Limits: 100 MB per file, 60 s per download and 60 s per page, 60 megapixels per page. Localhost, private, link-local and CGNAT addresses are refused on every request and redirect hop.
  • It is OCR, not vision: it reads printed text; handwriting, low-resolution scans and skewed photos read poorly. No tables, no layout analysis; markdown is paragraphs only. Every PDF page is rendered and read; a PDF text layer is not used.
  • Confidence is Tesseract's own mean word confidence, not a measure of accuracy: a blurred page can score high and still drop words or misread figures.
  • Speed: one page at a time, about 2.5 s per page on the platform at 2 GB, so a 200-page run takes about 8 minutes. Up to 1,000 files per run (extra files are skipped with a log line).
  • Pricing: pay per usage of the platform (no actor fee yet). A page that is read but comes back unreadable or no_text still uses compute.

Local test: from this folder with Pillow, pypdfium2, httpx, apify and tesseract-ocr installed, python -m unittest src.test_guard src.test_ocr.