PDF Text Extractor & Parser: PDF to Text and JSON, Bulk URLs
Pricing
from $0.80 / 1,000 pdf extracteds
PDF Text Extractor & Parser: PDF to Text and JSON, Bulk URLs
Extract text from PDF URLs in bulk: PDF to text and JSON with full text, per-page text, page ranges, keyword hits, title/page count/dates metadata and a scanned-PDF flag. Export JSON, CSV or Excel. Text-layer PDFs only (no OCR). No start fee. $0.80-$1.20 per 1,000 PDFs.
Pricing
from $0.80 / 1,000 pdf extracteds
Rating
0.0
(0)
Developer
Tidyflow Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
PDF Text Extractor & Parser: PDF to Text and JSON from URLs, in Bulk
This PDF text extractor and PDF parser turns PDF URLs into clean text and JSON in bulk (PDF to text, PDF to JSON): the full text, optional per-page text (ideal for RAG chunking and citations), page ranges, keyword counts with page numbers, and document metadata (title, subject, page count, created/modified dates, file size, SHA-256) plus a scanned-PDF flag. Export as JSON, CSV or Excel or call it from the API, Make, Zapier or n8n. No start fee, no OCR surcharges. Pay per result from $0.80 per 1,000 PDFs.
Why use this PDF text extractor
- ✅ Bulk: paste or upload hundreds of PDF links; 5 are processed in parallel by default.
- ✅ Per-page text and page ranges (
1-3,7,5-) so you only process what you need. - ✅ Keyword finder: counts each keyword and lists the pages it appears on.
- ✅ Layout mode keeps table/column spacing for forms and statements.
- ✅ Honest failures: broken links, non-PDF files and password-protected PDFs come back as an item with a clear
errorand are never charged. - ✅ Low price per PDF: $0.80–$1.20 per 1,000 PDFs with no start fee (popular alternatives charged $3.45–$5 per 1,000 plus a start fee when we checked on Oct 24, 2026).
- ✅ Pay only for results: $1.20 per 1,000 PDFs on the Free plan, down to $0.80 on Gold+. No start fee.
Use cases
- RAG and AI pipelines: per-page text with page numbers for chunking and citations.
- Document monitoring: hash + keyword hits to spot changes in policies, filings or price lists.
- Research and compliance: pull text from reports, regulations and public filings at scale.
- Data entry automation: extract text from invoices, statements and forms you're allowed to process.
How to extract text from PDFs (PDF to text and JSON)
- Add your PDF URLs (or upload a list).
- Optional: set page ranges, turn on per-page text, add keywords.
- Click Start, then export the dataset or use the API.
An empty input {} runs a demo on three public IRS forms (W-9, W-4, 1040).
Input example
{"pdfUrls": [{"url": "https://www.irs.gov/pub/irs-pdf/p15.pdf"},{"url": "https://www.irs.gov/pub/irs-pdf/p17.pdf"}],"pages": "1-20","includePageTexts": true,"keywords": ["deadline", "penalty"],"maxTextLength": 2000}
| Field | What it does |
|---|---|
pdfUrls | Direct PDF links |
pages | Page ranges, e.g. 1-3,7 or 5- (empty = all) |
includePageTexts | Adds a pages array: [{page, text}] |
keywords | Case-insensitive count + page list per keyword |
preserveLayout | Keep visual spacing (tables, forms) |
maxTextLength | Truncate text (0 = full) |
maxPagesPerPdf, maxFileSizeMb, maxConcurrency | Safety and speed limits |
Sample results (real rows from our test run, Oct 24, 2026, pages 1-20, keywords "deadline" and "penalty")
| Title | Pages | Words (p.1-20) | "penalty" hits (pages) | Time | |
|---|---|---|---|---|---|
| p17.pdf | 2025 Publication 17 | 142 | 23,809 | 15 (5, 8, 13, 16, 18) | 1.2 s |
| p15.pdf | 2026 Publication 15 | 59 | 19,187 | 6 (10, 12, 17) | 1.9 s |
| i1040gi.pdf | 2025 Instruction 1040 | 126 | 14,025 | 0 | 2.5 s |
| notapdf_xyz.pdf | (error: 404 Not Found, not charged) | 0.8 s |
Output example
{"url": "https://www.irs.gov/pub/irs-pdf/fw9.pdf","fileName": "fw9.pdf","success": true,"fileSizeBytes": 140815,"sha256": "2d420cbb4123dcf1fb82595b2359cfbb5d81f00b9df9d359fcc7af361d093f53","title": "Form W-9 (Rev. March 2024)","subject": "Request for Taxpayer Identification Number and Certification","producer": "Designer 6.5","createdAt": "2024-03-06T08:18:13","pageCount": 6,"pagesExtracted": 6,"encrypted": false,"charCount": 37734,"wordCount": 6520,"hasTextLayer": true,"text": "Form W-9\n(Rev. March 2024)\nRequest for Taxpayer\nIdentification Number and Certification\n...","textTruncated": false,"durationSec": 0.31}
With includePageTexts you also get "pages": [{"page": 1, "text": "..."}], and with keywords you get "keywordHits": {"penalty": {"count": 6, "pages": [10, 12, 17]}}.
Limits
- Reads the PDF's text layer. Scanned image-only PDFs return little or no text and are flagged with
hasTextLayer: false(no OCR). - Password-protected PDFs return an error.
- Author/creator personal names in PDF metadata are intentionally not output.
Pricing
Pay per result, live since Oct 24, 2026: you pay only for PDFs saved to the dataset. No start fee, no monthly rental. Failed or skipped PDFs are never charged.
| Apify plan | Price per 1,000 PDFs |
|---|---|
| Free | $1.20 |
| Bronze | $1.00 |
| Silver | $0.90 |
| Gold, Platinum, Diamond | $0.80 |
Apify platform usage is included. Set Maximum cost per run in the run options to cap spend; the run stops charging at your limit.
FAQ
Does it work with Google Drive or Dropbox links? Use a direct-download link that returns the PDF file itself.
Does it follow robots.txt? Yes. URLs disallowed by a site's robots.txt are skipped and reported.
Is this legal? Only process PDFs you have the right to use. The Actor downloads only the links you provide; it does not crawl sites.
Found a bug or need a field? Open an issue on the Issues tab.
More tools
- Career Page Jobs Scraper: every open job from company career pages on Greenhouse, Lever, Ashby and Workable in one dataset.
- SAM.gov Contract Opportunities: federal bids and solicitations from SAM.gov's official public data, no API key.
- Remote Jobs Aggregator: remote jobs from We Work Remotely and Remote OK, deduplicated, with salary and a new-jobs monitor.
- Sitemap URL Extractor: every URL from a website's sitemap.xml with lastmod, hreflang and regex/date filters.