PDF to Markdown for LLMs and RAG (no file retention)
Pricing
$30.00 / 1,000 results
PDF to Markdown for LLMs and RAG (no file retention)
Convert PDF to clean Markdown for LLM context windows, RAG ingestion, and agent pipelines. Keeps multi-column pages in true reading order. Privacy-first: inputs deleted the moment the conversion finishes, outputs within about an hour. Scanned PDFs fail loudly (no OCR); failed runs are never charged.
Pricing
$30.00 / 1,000 results
Rating
0.0
(0)
Developer
Nir Diamant
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
Share
Convert a PDF to clean Markdown for LLM context windows, RAG ingestion, and agent pipelines through a privacy-first conversion API. Give the actor a direct file URL; get back a .md file in the run's key-value store plus a dataset row with the metadata, including a direct download link.
Why this converter
- Reading order that survives two-column layouts. The pipeline (a layout pass, then structured conversion) keeps multi-column pages in true reading order instead of interleaving the columns line by line, which is the failure mode that silently poisons RAG chunks.
- No file retention. The input is deleted the moment the conversion finishes. The output is kept for about an hour, then deleted. Your documents are not stored, mined, or used for anything.
- Honest failures. Scanned (image-only) PDFs are rejected with an explicit
no_ocrerror; no OCR is performed and no charge is made for a failed run.
How do I convert a PDF to Markdown on Apify?
- Press Start with the prefilled sample, or paste your own direct PDF URL.
- Wait for the run to finish; a typical document takes 10 to 20 seconds.
- Download the .md from the run's Storage tab (the
OUTPUTrecord), or follow theoutputUrlin the dataset row.
Input
{"fileUrl": "https://example.com/paper.pdf"}
fileUrl(required): direct http(s) URL of the PDF, up to 50 MB.fileName(optional): base name for the output file.maxWaitSeconds(optional): how long to wait before failing, default 300.
Output
- The Markdown is stored as the
OUTPUTrecord of the run's key-value store (the dataset row carries its directoutputUrl). - One dataset row per successful conversion:
pair,fileName,outputFileName,inputBytes,outputBytes,durationSeconds,outputUrl.
How much does it cost?
$0.03 per successful conversion, platform usage included - the price you see
is the whole price. A failed run (including the explicit no_ocr rejection of
scanned PDFs) produces no dataset item and no charge. A free Apify account is
enough to use it; conversions bill against your Apify usage balance.
Run it from code
JavaScript (apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('hushvert/pdf-to-markdown').call({fileUrl: 'https://example.com/paper.pdf',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0].outputUrl); // direct .md download link, valid ~1 hour
Python (apify-client):
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('hushvert/pdf-to-markdown').call(run_input={'fileUrl': 'https://example.com/paper.pdf'})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items[0]['outputUrl'])
Plain HTTP (one call, returns the dataset row):
curl -X POST \'https://api.apify.com/v2/acts/hushvert~pdf-to-markdown/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN' \-H 'content-type: application/json' \-d '{"fileUrl": "https://example.com/paper.pdf"}'
Can I use it from n8n, Make, Zapier, or LangChain?
Yes. Like any Apify actor, it plugs into
n8n,
Make,
Zapier, and
LangChain through
Apify's official integrations; select the actor by name,
hushvert/pdf-to-markdown. AI agents can also call it as a tool through
Apify's MCP server, which
makes it a natural document-intake step for agent pipelines.
Is it private?
- The conversion runs on hushvert's server lane, not inside this actor. The chain is pdf2docx into a structural pandoc pass (GitHub-flavored Markdown). Retention: inputs deleted at conversion end, outputs auto-deleted after about an hour.
- Your documents are never stored beyond that window, never mined, and never used to train anything.
FAQ
Does it OCR scanned PDFs?
No, and it says so instead of guessing: scanned or image-only PDFs fail loudly
with no_ocr and are never charged. What comes back is the PDF's real text,
not a recognition guess.
Why does reading order matter for RAG?
A converter that walks a two-column page line by line interleaves the columns: every chunk you embed mixes two unrelated passages, retrieval quality drops, and nothing errors. This pipeline runs a layout pass first so the Markdown follows the page's true reading order.
Do tables survive?
Text-based tables come out as Markdown (GFM) tables through the structured pandoc pass, not as flattened text lines.
What is the file size limit?
50 MB per file.
What happens when a conversion fails?
The run fails with the converter's real error message, produces no dataset item, and charges nothing.
More private converters from hushvert
- Document to Markdown: the wider intake funnel - PDF, DOCX, PPTX, XLSX, HTML, EPUB, RST, LaTeX to Markdown, inline in the dataset.
- PDF to DOCX: PDF back to editable Word, real text and tables, correct Hebrew/Arabic reading order.
- DOCX to PDF: Word to PDF.
- Office to PDF: Word, Excel, PowerPoint, OpenDocument, RTF, HTML in; PDF out.
- HTML to PDF: real Chromium render, paste HTML inline for invoices and reports.
- Video to MP4: MOV, MKV, WEBM, AVI, GIF to universal MP4, files up to 500 MB.
Who is behind this actor?
Built by the hushvert founder. The browser-side conversion engine is MIT open
source (@hushvert/engine on npm); formats a browser can convert (images, HEIC,
audio, archives, PDF page ops) are free and client-side at
https://hushvert.com and are deliberately not sold here. Developer API docs:
https://hushvert.com/for-developers