PDF Text & Metadata Extractor (pay per PDF)
Pricing
from $3.00 / 1,000 pdf extracteds
PDF Text & Metadata Extractor (pay per PDF)
Give a list of PDF URLs, get per-page text, page count, document metadata and table-like line grouping. Failed URLs return an error item and are not charged.
Pricing
from $3.00 / 1,000 pdf extracteds
Rating
0.0
(0)
Developer
Penny Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
PDF to Markdown and RAG chunks for LLMs. Set outputFormat to markdown for headings, lists and tables preserved, and chunkSize (for example 800 tokens, chunkOverlap 100) to get one dataset item per chunk with pageStart/pageEnd, ready for a vector database. Still one flat charge per PDF, however many chunks it yields. Defaults stay plain text, one item per PDF.
Give it a list of public PDF URLs. You are charged only for PDFs that yield extractable text; failed, non-PDF and scanned/image-only PDFs (no text layer) are free. For each one you get a dataset item with:
text(whole document) andpages[](page,text,charCount,tableLikeLineCount, optionallines[])pageCountandmetadata(title, author, subject, keywords, creator, producer, creation/modification date, PDF version)lines[]: text grouped by visual row, split intocellsat wide horizontal gaps; rows with 3+ cells are flaggedtableLike(a lightweight way to recover simple tables, not a full table-structure parser)
Broken URLs, non-PDF responses, oversized files and timeouts produce an item with status: "error" and an error message. The run continues with the next URL.
Input
| Field | Description |
|---|---|
urls | PDF URLs (required) |
maxFileSizeMB | Skip files larger than this (default 25) |
maxPages | Extract only the first N pages, 0 = all |
includeLines | Include per-page line/cell grouping (default true) |
outputFormat | text (default) or markdown (headings from font size, bullets, pipe tables) |
chunkSize | 0 = one item per PDF (default). Above 0 = one item per RAG chunk of about this many tokens, with chunkIndex, pageStart, pageEnd, pages |
chunkOverlap | Tokens repeated between consecutive chunks (default 0) |
maxPdfs | Process at most this many URLs per run (default 100) |
timeoutSecs | Download timeout per PDF (default 60) |
Switching from another PDF text extractor
Saved tasks, API calls and integrations written for other Store PDF text extractors (for example gochujang/pdf-text-extractor and automation-lab/pdf-text-extractor) run here after you change only the actor id. These input fields are accepted:
| Field you already use | What happens here |
|---|---|
urls (strings or {url} objects) | used as is |
url, pdfUrls, startUrls, sources | merged into urls |
urlsText (one URL per line) | split and merged into urls |
timeoutPerPdfSecs | same as timeoutSecs |
maxPdfMb | same as maxFileSizeMB |
endPage | same as maxPages (first N pages) |
includePages: false | drops pages[], keeps text |
maxConcurrency, password, chunkSize, chunkOverlap, extractImages | ignored |
Not supported (a note is written to the run log and the run continues): base64Pdfs (URLs only), startPage above 1, extractTables, outputFormat other than the default (every item carries text, pages[] and metadata), and password-protected PDFs. Output field names are this actor's own (text, pages, pageCount, metadata), so check your downstream mapping. Not affiliated with those actors or their authors.
Pricing
Pay per event: one pdf-extracted event (USD 0.003) per PDF that is parsed successfully. Errors and PDFs with no extractable text (status: "no_text") are not charged. At most maxPdfs (default 100) URLs are processed per run.
Price per PDF
This actor charges USD 0.003 per PDF parsed successfully, flat for every plan, with no per-run start fee. A comparable Store actor (automation-lab/pdf-text-extractor, prices read from its public Store page on 2026-10-21) lists a USD 0.005 per-run start fee plus USD 0.00345 per PDF on the free plan. Example: 10 PDFs in one run cost USD 0.03 here versus about USD 0.0395 there. Check each actor's current pricing before you compare; prices change.
Limits
- Text-based PDFs only. Scanned/image PDFs contain no text layer, so they return empty text (no OCR).
- Password-protected PDFs return an error item.
- Only public http(s) URLs; localhost/private network addresses are refused.
Built with pdfjs-dist (Apache-2.0) and the Apify SDK.
Local run
mkdir -p storage/key_value_stores/defaultecho '{"urls":[{"url":"https://example.com/a.pdf"}]}' > storage/key_value_stores/default/INPUT.jsonnpm install && npm start
Non-affiliation
Not affiliated with or endorsed by Adobe or any PDF publisher whose files you supply.
AI disclosure
Built with AI assistance (Claude); maintained by the publisher.
Related PennyData actors
- Website Screenshot & URL to PDF: full-page screenshots and URL/HTML to PDF with headless Chromium.
- Website Contact Extractor: public emails, phones and social links from website pages.
I built this and earn from its runs. Written with AI assistance (Claude).