PDF to Text and Markdown Extractor with Reading Order avatar

PDF to Text and Markdown Extractor with Reading Order

Pricing

$2.80 / 1,000 pdf documents

Go to Apify Store
PDF to Text and Markdown Extractor with Reading Order

PDF to Text and Markdown Extractor with Reading Order

Get headings, lists and body text from a stack of PDFs. Running headers, footers and numbers are stripped; chunks of a size you set carry their section path. Costs 2.8 USD per 1,000 PDF documents.

Pricing

$2.80 / 1,000 pdf documents

Rating

0.0

(0)

Developer

BEPO Labs

BEPO Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Features

Limited permissions

Share

📄 What is PDF to Text and Markdown?

Bulk-extract text from each PDF document, by URL, and convert it into structured Markdown as JSON, with two- and three-column layouts read in sequence. Scanned image-only pages are flagged with needsOcr, so you know which ones need OCR.

  • RAG and AI agents: feed papers, manuals and reports to your vector store as clean, headed chunks
  • Search: index the text of every PDF on your site or in your archive
  • Research: pull the text of academic papers per page for reading, quoting or analysis
  • Data extraction: get the raw text of invoices, filings or contracts before parsing them

PDF to Text and Markdown: PDFs to clean text and Markdown, per page, per document or as RAG chunks, with columns in reading order and headers and footers removed.

✨ Why use this Actor?

  • ✅ New: word count and links: every row gives its wordCount and the web urls cited in it, for RAG sizing and link checks
  • ✅ Clean for LLMs: headers, footers and page numbers removed, so they do not repeat in every chunk
  • ✅ Reading order: side-by-side text blocks are read in sequence; columns reports how many were found
  • ✅ Three output shapes: split: page, document or chunk (with chunkSize)
  • ✅ Links or uploads: public PDF URLs or files in a key-value store
  • ✅ Scans flagged: needsOcr marks pages without a text layer instead of returning empty text silently
  • ✅ Fair price: 0.0028 USD per PDF with 20 pages included

📦 What data can you get with PDF to Text and Markdown?

📝 Plain textⓂ️ Markdown🔢 Page number and page count
🔗 Source URL or key🏷️ PDF title🔠 Characters
🗞️ Columns detected🔎 Needs OCR flag

🚀 How to use PDF to Text and Markdown

PDF to Text and Markdown works in a few clicks, no coding needed:

  1. Create a free Apify account (the free plan includes 5 USD of monthly credit).
  2. Open PDF to Text and Markdown and click Try for free.
  3. Paste one or more PDF links (or keys of uploaded files) and choose page, document or chunk output.
  4. Click Start and wait for the run to finish (most runs take seconds).
  5. Download your data as JSON, CSV, Excel, XML or HTML, or send it straight to Google Sheets, Make, Zapier or your AI agent.

How PDF to Text and Markdown works

⬇️ Input

Give pdfUrls or storeKeys; the defaults return one row per page with headers and footers removed.

Split

Choose page (default), document or chunk; chunks hold about chunkSize characters with the heading path above.

Limits

maxPages and maxSizeMb default to 300 and 50 and protect you from huge files; a cut PDF is named in the run summary under truncated.

FieldTypeWhat it doesDefault
PDF URLs (pdfUrls)arrayDirect links to PDF files (http or https).["https://arxiv.org/pdf/1706.03762"]
Uploaded files (storeKeys)arrayKeys of PDF files stored in this run's default key-value store (upload them with the API before the run starts).
Rows (split)stringHow the dataset is cut."page"
Chunk size (chunkSize)integerCharacters per chunk when Rows is Chunks; chunks end at paragraph or sentence boundaries.2000
Max pages per PDF (maxPages)integerPages read per PDF, from the first; the rest are skipped and the PDF is marked truncated.300
Max file size (MB) (maxSizeMb)integerLarger files are refused before they are downloaded.50
Remove running headers and footers (removeHeadersFooters)booleanDrop lines repeated at the top or bottom of at least half the pages (page numbers, report titles).true
Include plain text (includeText)booleanOff: Markdown only, smaller rows.true
Retries (maxRetries)integerRetries per download on network errors, 429 and 5xx, with exponential backoff.3

PDF to Text and Markdown input form

Input example

{
"pdfUrls": [
"https://arxiv.org/pdf/1706.03762"
],
"split": "page",
"maxPages": 3
}

⬆️ Output

Each page, PDF or chunk becomes a row with text and Markdown. The run summary (OUTPUT) counts PDFs, failures and scans that need OCR.

PDF to Text and Markdown output table

Output example

One row of the dataset (page 2 of arXiv 1706.03762, a real run of 2026-10-16, text shortened):

{
"source": "https://arxiv.org/pdf/1706.03762",
"title": null,
"pageCount": 15,
"page": 2,
"text": "1 Introduction\n\nRecurrent neural networks, long short-term memory [13] and gated…",
"markdown": "1 Introduction\n\nRecurrent neural networks, long short-term memory [13] and gated…",
"chars": 3631,
"columns": 1,
"needsOcr": false
}

View the results as a table or JSON in the Output tab and download them as JSON, CSV, Excel, XML, HTML or RSS, all fields or only those you pick.

💰 How much does PDF to Text and Markdown cost?

PDF to Text and Markdown is priced per event: 2.8 USD per 1,000 PDFs (0.0028 USD each), with no monthly rental. Each one counts once with 20 pages included, plus 0.0002 USD for every extra sheet; failures cost nothing.

You getYou pay
100 PDFs0.28 USD
1,000 PDFs2.8 USD
10,000 PDFs28 USD
100,000 PDFs280 USD

💡 Apify's free plan gives you 5 USD of credit every month, enough for about 1,785 PDFs at no cost. Set a spending limit per run and the Actor stops there.

⚖️ PDF to Text and Markdown vs. the alternatives

PDF to Text and MarkdownBasic PDF text extractorsCopy and paste
Headers and footers removed✅rarely❌
Columns in reading order✅varies❌
Markdown and RAG chunks✅rarely❌
Scanned pages flagged✅❌–

🔌 Integrations, API and MCP

Connect PDF to Text and Markdown to your AI agent (MCP)

Give Claude, ChatGPT, Cursor or any MCP client direct access to PDF to Text and Markdown through the Apify MCP server. Add this URL to its settings:

https://mcp.apify.com/?actors=bepolabs/pdf-to-text

For Claude Desktop, add it under mcpServers in claude_desktop_config.json:

{
"mcpServers": {
"pdf-to-text": {
"command": "npx",
"args": [
"-y",
"@apify/actors-mcp-server",
"--actors",
"bepolabs/pdf-to-text"
],
"env": {
"APIFY_TOKEN": "<your Apify API token>"
}
}
}
}

Then ask: "Read this PDF report and give me its text as Markdown chunks of 2,000 characters for my knowledge base."

Run it from your code

Python (pip install apify-client):

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("bepolabs/pdf-to-text").call(run_input={"pdfUrls":["https://arxiv.org/pdf/1706.03762"],"split":"page","maxPages":3})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript (npm install apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('bepolabs/pdf-to-text').call({"pdfUrls":["https://arxiv.org/pdf/1706.03762"],"split":"page","maxPages":3});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

No-code integrations

Send results to Google Sheets, Slack, Airtable, HubSpot, Make, Zapier, n8n and more from the Integrations tab, start runs on a schedule, or trigger your own endpoint with a webhook when a run finishes. The Apify API gives you full control over runs and datasets.

❓ FAQ

Does it do OCR?

No. It reads the PDF's text layer; pages without one are marked needsOcr: true so you can send them to an OCR tool.

How large can a PDF be?

Up to maxSizeMb (50 MB) and maxPages (300) unless you raise them.

Can I upload my own files?

Yes: put them in a key-value store and list their keys in storeKeys.

The Actor reads only the PDFs you give it. Make sure you may process them; copyright and confidentiality of the documents stay your responsibility.

What if something is missing or does not work?

Open an issue on the Issues tab; we read each one and reply. Feature requests are welcome too.

💬 Your feedback

Tell us what PDF to Text and Markdown should add on the Issues tab or leave a review; your notes decide what we work on next.

ActorWhat it does
🔤 Image OCRExtract text from images in 29 languages: plain text, clean Markdown and every word with its pixel box and confidence.
🎓 OpenAlex Research PapersResearch papers in bulk from OpenAlex: search, DOI or citing works to clean rows with citations, abstracts and free PDF links.
📝 Website to MarkdownAny web page or docs site to clean Markdown for LLMs, RAG and AI agents, with headings, links and ready-made chunks.
🧪 Clinical Trials DataClinicalTrials.gov studies by condition, drug, sponsor or NCT id, with sites, eligibility and posted results.
🎙️ Audio and Video TranscriberWhisper transcripts of audio and video files: full text, timed segments, SRT and WebVTT. No API key.
💊 openFDA DataFDA adverse events, recalls, drug labels and 510(k) clearances for any drug or device, as clean rows.
📰 RSS Feed ReaderAny RSS, Atom or JSON feed, or just a website URL, to one clean list of articles, with full text on request.
🏛️ SEC EDGAR FilingsTickers or CIK numbers to SEC filings: 10-K, 10-Q, 8-K, Form 4 and any other form, with document links.
⌂ 换网址