PDF Text Extractor: Text and Pages from PDF Links | $1/1K avatar

PDF Text Extractor: Text and Pages from PDF Links | $1/1K

Pricing

from $1.00 / 1,000 results

Go to Apify Store
PDF Text Extractor: Text and Pages from PDF Links | $1/1K

PDF Text Extractor: Text and Pages from PDF Links | $1/1K

$1 per 1,000 results, platform usage included. Extracts text, page count and document details (title, author, dates) from PDF files at web links, one row per PDF or per page. Text layer only, no OCR. Up to 25 MB per file. No login or API key.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

One Dollar Store

One Dollar Store

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

PDF Text Extractor: text, pages and document details from PDF links

$1 per 1,000 results. Platform usage included. No rental, no minimum.

The four most used PDF text extractor actors on Apify Store charge $3.00 to $20.00 per 1,000 results (Store prices checked 10 October 2026). Some of them also read scanned files with OCR or return Markdown and tables, which this actor does not. For PDFs that already have a text layer, this actor returns the text for $1 per 1,000 PDFs (one PDF is one result in the default mode).

Open it in Apify Console

New to Apify? [Create a free account](https://www.apify.com?fpr=ymnoit) (referral link). Runs from a free plan account return the first 10 results; any paid plan returns everything you ask for, up to your limit.

What it costs

PDFsThis actorMost used PDF text extractor actors on the Store
1,000$1.00$3.00 to $20.00
10,000$10.00$30 to $200
100,000$100.00$300 to $2,000

Plus $0.001 per run. In page mode each page is one result, so a 10 page PDF costs $0.01. A daily run of 50 PDFs costs $0.051 ($0.05 for the rows and $0.001 for the run), or about $1.53 a month.

Why people switch

  • One flat price. Platform usage is included and the actor uses no proxy, so the bill follows the number of results and nothing else.
  • Two shapes of output. One row per PDF with all the text, or one row per page, which suits search indexes and AI chunking. In a test run a 194 page report came back as 194 page rows in 9.6 seconds.
  • Page ranges. Read any block of a long report with startPage and maxPagesPerPdf. You pay only for the rows you get.
  • Document details too. Page count, title, author, subject, keywords, creator, producer, PDF version, and creation and modification dates when the file has them.
  • Failed files are not charged. A file that is not a PDF, is password protected, is too large or has no text layer gives no row, and the run summary says why.

Quick start

  1. Open the actor, add one PDF link per line, press Start.
  2. Or paste this input:
{ "urls": ["https://www.irs.gov/pub/irs-pdf/fw9.pdf"], "outputMode": "document", "maxPagesPerPdf": 5, "maxItems": 10 }
  1. Download the results as JSON, CSV or Excel, or read them through the API.

Use it from code

curl -X POST "https://api.apify.com/v2/acts/one_dollar_store~pdf-text-extractor-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"urls": ["https://www.irs.gov/pub/irs-pdf/fw9.pdf"], "maxPagesPerPdf": 5, "maxItems": 10}'
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("one_dollar_store/pdf-text-extractor-scraper").call(
run_input={"urls": ["https://www.irs.gov/pub/irs-pdf/fw9.pdf"], "maxPagesPerPdf": 5, "maxItems": 10}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["fileName"], item["pageCount"], item["wordCount"])

Use it from an AI assistant

Claude, ChatGPT, Cursor and other assistants can call this actor through Apify's MCP server. Add it with this server address:

https://mcp.apify.com?tools=one_dollar_store/pdf-text-extractor-scraper

Then ask, for example: "Extract the text of the first 10 pages of this PDF link and summarise it."

Switching from another PDF text extractor actor

Most PDF actors take a list of PDF links. Here it is urls, with outputMode, maxPagesPerPdf, startPage and maxItems. The core fields are url, fileName, pageCount, text and the document details. There is no OCR, table detection, Markdown output or file upload. The text layer is read with the open source pdf.js library and returned as plain text.

Input

FieldTypeDefaultWhat it does
urlslist of textnoneLinks to PDF files, one per line. Public links only, up to 25 MB per file.
outputModedocument or pagesdocumentOne row per PDF, or one row per page.
maxPagesPerPdfnumber100The most pages to read from each file (1 to 2,000).
startPagenumber1Page to start reading from. With maxPagesPerPdf 20, a startPage of 10 reads pages 10 to 29.
includePageTextstrue or falsefalseIn document mode, also add pageTexts, the text of each page.
maxItemsnumber100The run stops after this many rows (10 to 100,000).

The same link listed twice is read once.

Output fields

FieldMeaning
url, finalUrl, fileNameThe link as given, the link after redirects, and the file name.
title, author, subject, keywordsDocument details, when the file has them.
creator, producer, pdfVersionThe program that created the original document, the program that produced the PDF, and the PDF version.
createdAt, modifiedAtCreation and modification dates in UTC.
pageCountPages in the whole file.
textThe text (the whole document, or one page). Long text is cut at 1.5 million characters.
wordCountWords in the text.
Document mode onlyfileSizeBytes, pagesRead, firstPageRead, morePagesNotRead (true when your page limit, or the time or text limit for one file, stopped the read before the last page), charCount, textTruncated and, with includePageTexts, pageTexts.
Page mode onlypageNumber, the page the row belongs to (counted from 1 in the whole file).
scrapedAtTime of the extraction in UTC.

Details the file does not have are left out of the row.

Sample results

Real rows from test runs on 9 October 2026 (long text and one long subject shortened, and a web address inside one producer value left out). The first two are document mode, the third is page mode.

[
{"url": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf", "finalUrl": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf", "fileName": "dummy.pdf", "author": "Evangelos Vlachogiannis", "creator": "Writer", "producer": "OpenOffice.org 2.1", "createdAt": "2007-02-23T15:56:37.000Z", "pdfVersion": "1.4", "fileSizeBytes": 13264, "pageCount": 1, "pagesRead": 1, "firstPageRead": 1, "text": "Dummy PDF file", "wordCount": 3, "charCount": 14, "scrapedAt": "2026-10-09T04:42:29.484Z"},
{"url": "https://www.irs.gov/pub/irs-pdf/fw9.pdf", "finalUrl": "https://www.irs.gov/pub/irs-pdf/fw9.pdf", "fileName": "fw9.pdf", "title": "Form W-9 (Rev. March 2024)", "author": "SE:W:CAR:MP", "subject": "Request for Taxpayer Identification Number and Certification", "keywords": "Fillable", "creator": "Designer 6.5", "producer": "Designer 6.5", "createdAt": "2024-03-06T13:18:13.000Z", "modifiedAt": "2024-03-06T13:18:13.000Z", "pdfVersion": "1.7", "fileSizeBytes": 140815, "pageCount": 6, "pagesRead": 5, "firstPageRead": 1, "morePagesNotRead": true, "text": "Form W-9\n(Rev. March 2024)\n\nRequest for Taxpayer\nIdentification Number and Certification\n\nDepartment...", "wordCount": 5801, "charCount": 34905, "scrapedAt": "2026-10-09T04:42:29.624Z"},
{"url": "https://www.rfc-editor.org/rfc/rfc9110.pdf", "finalUrl": "https://www.rfc-editor.org/rfc/rfc9110.pdf", "fileName": "rfc9110.pdf", "title": "RFC 9110: HTTP Semantics", "author": "Roy T. Fielding, Mark Nottingham, Julian Reschke", "subject": "The Hypertext Transfer Protocol (HTTP) is a stateless applic...", "creator": "xml2rfc 3.12.10", "producer": "cairo 1.16.0", "createdAt": "2022-06-06T04:15:02.000Z", "modifiedAt": "2022-06-06T18:15:19.000Z", "pdfVersion": "1.5", "pageNumber": 1, "pageCount": 194, "text": "RFC 9110\nHTTP Semantics\n\nAbstract\n\nThe Hypertext Transfer Protocol (HTTP) is a stateless application...", "wordCount": 235, "scrapedAt": "2026-10-09T04:46:58.511Z"}
]

Limits

  • Text layer only, no OCR. A scanned PDF is a set of pictures with no text inside, so it gives no row and no charge. A password protected PDF gives no row either. If only some pages are pictures, page mode skips them and document mode joins the text of the other pages.
  • The link must lead straight to a public PDF file. No login, cookies or custom headers. Some sites answer a program with a web page instead of the file. In one test 4 of 8 public PDF links did, and the actor skipped them without a charge.
  • 25 MB per file. A larger file gives no row. Downloading one file stops after 90 seconds, and at most 5 redirects are followed.
  • Only http and https links. Local, private, link local and reserved addresses are refused, and so is a link that contains a user name or password. If a site's certificate fails the check, the public file is still read.
  • Up to 2,000 pages per file in one run (100 by default). Use startPage to read further into a longer file. A start page past the last page gives no row.
  • Time and text caps. Reading one file stops after 120 seconds and returns the pages read so far. A row holds at most 1.5 million characters, and in document mode reading stops once the text passes that size (textTruncated is true). morePagesNotRead tells you when pages were left.
  • Layout is not rebuilt. Lines and paragraphs are worked out from where the text sits on the page. Columns, tables and forms come out as lines of text, perhaps not in screen order. Images are not read.
  • Row order follows the files that finish first. Two are read at once, so match rows to your list with url.
  • Memory is set to 1,024 MB. A 194 page file peaked at about 100 MB in a test.

FAQ

What is the cheapest PDF text extractor on Apify? This actor costs $1 per 1,000 results with platform usage included. The most used PDF text extractor actors on the Store charged $3.00 to $20.00 per 1,000 when we checked on 10 October 2026. Some of them also offer OCR, Markdown or tables, which this actor does not, so choose by what your files need.

How much does it cost to extract text from 10,000 PDFs? $10, plus $0.001 for each run. In page mode 10,000 pages also cost $10.

Do I pay for compute or proxy on top? No. Platform usage is included in the $1 per 1,000 price, and the actor uses no proxy.

Does it read scanned PDFs, and why did a PDF give no row? No, it reads the text layer only, and a scanned file has none. The RUN_SUMMARY record in the run's key value store lists every skipped link with its reason, for example a web page instead of a file, password protected, over 25 MB or no text layer. Skipped links are not charged.

How do I get one row per page for AI search? Set outputMode to pages. Each row has pageNumber, pageCount, url and text, so you can load the rows into a search index or a vector store as they are. Each page is one result.

Is it legal? The actor fetches only the exact links you give it, with no login, and does not crawl. Whether you may copy, store or share a document depends on its owner's rights and the law where you live, and a PDF can contain personal data. Use files you are allowed to use that way.

Is this an official Adobe product? No. It is an independent tool and is not affiliated with or endorsed by Adobe.

Do I need an Apify account? Yes. Actors run from an Apify account, and a free account is enough to start: it includes $5 of platform usage every month. You can sign up here. This is a referral link and it costs you nothing.

Is there a limit on the free plan? Yes. A run started from a free plan account delivers the first 10 results, then ends with a message and a link to the plans. Any paid plan returns everything you ask for, up to your own limit. The price per result is the same on every plan.

More from The One Dollar Store

Every actor here costs $1 per 1,000 results, platform usage included. See the whole store: https://apify.com/one_dollar_store

Website tools

Changelog

  • October 2026: first release.