Turn public PDF, Word (.docx), HTML and text files into clean Markdown or plain text, ready for LLMs, RAG pipelines, search indexes and data entry.
- PDF: text in reading order, with headings detected from font size, bullet and numbered lists, de-hyphenation, and
|between columns that sit far apart. Rotated margin text and watermarks are skipped. You also get metadata (title, author, dates, producer), page counts, optional per-page output, and a scanned-PDF flag for files with no text layer. - DOCX: headings, lists, bold/italic, links and tables.
- HTML: main-content extraction; navigation, header and footer are dropped.
- TXT / MD / CSV / JSON: passed through as UTF-8.
- Chunking for embeddings: paragraph-aware chunks with overlap.
- Big outputs are stored in the key-value store and linked from the dataset row, so you never hit item size limits.
No OCR: image-only PDFs are flagged as no-text and are not charged.
Use cases
- RAG pipelines: turn PDF and DOCX links into Markdown chunks with overlap, ready for embedding.
- AI agents: give an agent a document URL and get readable text back.
- Search indexing: extract text and metadata (title, author, pages) from document libraries.
- Research and compliance: bulk-convert filings, reports and policies.
- Data pipelines: a document-to-text step for Zapier/Make/n8n.
Input example
{
"startUrls": [{ "url": "https://arxiv.org/pdf/1706.03762" }, { "url": "https://example.com/report.docx" }],
"outputFormat": "markdown",
"includePages": false,
"chunkSize": 2000
}
Use it from AI agents, the API or no-code tools
Add Apify's hosted MCP server with just this tool:
{
"mcpServers": {
"pdf-document-to-markdown": { "url": "https://mcp.apify.com?tools=steadyline/pdf-document-to-markdown" }
}
}
Sign in with Apify (OAuth) on first connect, or send an Authorization: Bearer <APIFY_TOKEN> header. Then ask your agent, for example:
Use steadyline/pdf-document-to-markdown to convert these 5 PDF reports to Markdown, split into 1,500-character chunks, and summarize each.
See MCP setup for Claude, Cursor and VS Code or add all tools at once.
REST API
Run it and get results in one call:
curl -X POST "https://api.apify.com/v2/acts/steadyline~pdf-document-to-markdown/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"startUrls": [{"url": "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"}]}'No-code
Use the official Apify app in Zapier ("Run Actor"), Make ("Run an Actor") or n8n (Apify node), choose steadyline/pdf-document-to-markdown, then send the dataset items to Google Sheets, Slack, a CRM or a database.
Pricing
Pay per event on Apify, no subscription. Prices are read from the public Apify Store listing; the Store page is authoritative.
| Event | Price | Per 1,000 |
|---|---|---|
| Document converted One document converted to non-empty Markdown/text. Failed or empty documents are never charged. | $0.002 | $2.00 |
| Actor start (Apify standard) Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). | $0.00005 | – |
Limits
- Only publicly reachable URLs. No logins or cookies.
- Complex layouts (multi-column scientific papers, forms, tables) come out as readable text, not pixel-perfect structure.
- Legacy
.doc,.ppt,.xlsand images are not supported.
Works well with
- Website → RAG knowledge base: find document URLs with Site Discovery, convert them here, and fetch HTML pages as Markdown with HTTP Request Runner.
- Related: Site Discovery (sitemaps, robots.txt, llms.txt), Bulk HTTP Request Runner, App Store Reviews & App Details.
FAQ
Does it do OCR?
No. Scanned (image-only) PDFs are detected and flagged with likelyScanned: true so you can route them to an OCR tool.
Which formats are supported?
PDF, DOCX, HTML and plain text from public URLs. Password-protected PDFs work if you supply pdfPassword.
What does it cost?
$0.002 per document converted. Failed downloads are not charged.
Can I run it on a schedule?
Yes. Create an Apify Schedule (or a saved Task with a schedule) and connect a webhook or integration to receive results.
Need a feature or found a bug?
Open an issue on the Issues tab of the tool's Apify Store page or email hello@steadylinedata.com. Built and maintained by Steadyline Data.
Acceptable use
Convert only documents you have the right to access and process. Respect copyright and the source site's terms. You're responsible for how the extracted content is stored and used.
Built and maintained by Steadyline Data. PDF parsing uses Mozilla pdf.js (Apache-2.0); DOCX uses mammoth (BSD-2-Clause).