Bulk OCR: Images and Scanned PDFs to Text
Pricing
Pay per usage
Go to Apify Store
Bulk OCR: Images and Scanned PDFs to Text
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Venture Ace
Maintained by CommunityActor 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(defaulteng; 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(pluslinesandmarkdownif asked). Status isok,no_text,unreadable(mean word confidence underminConfidence),too_bigorfetch_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;
markdownis 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
unreadableorno_textstill 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.