PDF to Text & Markdown: Bulk Extractor for AI and RAG
Pricing
$0.30 / 1,000 page extracteds
PDF to Text & Markdown: Bulk Extractor for AI and RAG
Extract clean text or Markdown from PDF links in bulk: reading order rebuilt, headings detected, paragraphs joined. Title, author, dates, page and word counts, token estimate, per-page output. Scanned pages are flagged, not charged. Priced per page.
Pricing
$0.30 / 1,000 page extracteds
Rating
0.0
(0)
Developer
SwiftKit
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 days ago
Last modified
Categories
Share
Paste PDF links and get clean, readable text, ready for ChatGPT, Claude, a RAG index or plain analysis.
- Reading order rebuilt: words joined into lines, lines into paragraphs, wrapped lines merged
- Markdown with headings: larger-font lines become
#/##headings - Metadata: title, author, subject, creator app, created and modified dates
- Counts: total pages, pages with text, words and approximate tokens
- Per-page text (optional), handy for citations ("see page 4")
- Scanned PDFs flagged: pages that are only images are detected and not charged
- Priced per page with text, no start fee
Who it's for
- AI and RAG builders: index reports, papers, manuals and contracts.
- Researchers and analysts: pull text from many PDFs into one table.
- Operations teams: read the text of forms and documents in bulk.
Input
| Option | Default | What it does |
|---|---|---|
| PDF links | – | Direct links to PDF files |
| Output format | Markdown | Markdown, plain text or both |
| Also give text per page | off | Adds a pages array |
| Max pages per PDF | 200 | Read at most this many pages |
Output
Real result (first 3 pages of a well-known paper, shortened):
{"url": "https://arxiv.org/pdf/1706.03762","status": "ok","title": null,"createdAt": "2024-04-10","totalPages": 15,"pagesExtracted": 3,"pagesWithText": 3,"likelyScanned": false,"wordCount": 1315,"markdown": "…\n\n# Attention Is All You Need\n\n…\n\nAbstract\n\nThe dominant sequence transduction models are based on …"}
| status | meaning |
|---|---|
ok | Extracted. |
unreachable | The link didn't load. Not charged. |
not_pdf | The link isn't a PDF. Not charged. |
password_protected / unreadable | Can't be opened. Not charged. |
too_large | Over 100 MB. Not charged. |
Use it from your AI agent (MCP)
Claude, Cursor and other MCP clients can call this tool directly through Apify's MCP server. Add it as an MCP server / connector:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=swiftkit/pdf-text","headers": { "Authorization": "Bearer <YOUR_APIFY_TOKEN>" }}}}
Then just ask, for example: "Extract the text of this PDF and list its main findings: https://…/report.pdf". Each call is billed like a normal run.
Pricing
You pay per page that has text. Scanned (image-only) pages and failed PDFs are free. See the Pricing tab.
Limits, honestly
- No OCR. Scanned PDFs (photos of paper) have no text layer; they're flagged with
likelyScanned: trueand not charged, but no text comes out. - Tables are flattened into lines of text, and complex layouts like multi-column forms can mix columns. Ordinary single-column documents, reports and most papers come out clean.
- Title and author come from the PDF's own metadata, which many PDFs leave empty.
- Links must point straight at the PDF file (not a viewer page or a login).
More tools from SwiftKit
- Website to Markdown for AI: clean page content as Markdown, with token counts and RAG chunks
- Sitemap Extractor & Broken Link Checker: every URL from a site’s sitemaps, plus 404 and redirect checks
- RSS Feed Reader: news, blogs and podcasts from any feed or website, only new items
Questions?
Open an issue on the Issues tab.