PDF to Text Markdown Extractor (Digital, No OCR)
Pricing
from $4.00 / 1,000 pdf extracteds
PDF to Text Markdown Extractor (Digital, No OCR)
Extract plain text and Markdown from digital (text-based) PDFs you supply by URL or file. Batch-friendly. No OCR in v1 — scanned/image-only PDFs are reported and not charged.
Pricing
from $4.00 / 1,000 pdf extracteds
Rating
0.0
(0)
Developer
SteadyScrape
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
an hour ago
Last modified
Categories
Security
Limited permissionsShare
Who it's for: Teams that need plain text or Markdown from digital (text-based) PDFs in batch — reports, manuals, filings — without an OCR bill.
What you get: Per-file text and/or Markdown, page count and basic metadata. Clear statuses for encrypted, empty and image-only/scanned PDFs (those are free).
Price: $0.004 per successfully extracted digital PDF + $0.003 once per run, charged only if at least one PDF was extracted. Scanned/image-only, empty, encrypted and failed files are free. 1,000 PDFs in one run = $4.003.
Point the Actor at direct HTTPS PDF URLs (or Apify file upload URLs). It downloads each file and extracts text locally with pypdf. No OCR in v1 — scanned/image-only PDFs return image_only and are not charged. No third-party extraction vendor.
Made by SteadyScrape (steady-scrape).
What you can do with it
- Batch digital PDFs → text. Feed a list of direct PDF links and get one row per file.
- Markdown for docs pipelines. Optional Markdown with light heading heuristics and page breaks.
- Honest scanned handling. Image-only PDFs are labeled, not silently empty-charged.
Input
- pdfUrls (required): direct
httpslinks to PDF files. - format:
text|markdown|both(default). - maxFiles: soft cap for this run (harder env cap may apply).
- includeMetadata: PDF title/author when present.
Example:
{"pdfUrls": ["https://www.orimi.com/pdf-test.pdf"],"format": "both","maxFiles": 5}
Under LIMITED_PERMISSIONS the Actor downloads URLs itself — HTML site crawls / request-queue site walking are out of scope.
Output
| status | meaning | charged |
|---|---|---|
ok | digital text extracted | yes (pdf-extracted) |
empty | no pages/text | no |
encrypted | password-protected | no |
image_only | scanned / no extractable text (no OCR v1) | no |
too_large / too_many_pages | over env caps | no |
fetch_error / invalid / skipped | download/parse/max-charge | no |
Pricing
pdf-extracted $0.004 per successful digital PDF + actor-start $0.003 once per run (only when at least one PDF was extracted), plus Apify's standard tiny per-run start event. Non-ok files are free. Set Maximum cost per run in Apify options.
Use cases
- RAG and search indexes: split the Markdown on headings and embed the chunks, keeping
sourcefor citations. - Document archives: extract text and page counts from reports, manuals, filings and specs in batch.
- OCR triage: find which files in a batch are scanned (
image_only) before paying for OCR elsewhere.
FAQ
Does it read scanned PDFs? No. There is no OCR in this version. Scanned or image-only files return image_only and are free.
How good is the Markdown? Headings are detected heuristically (PDFs don't reliably mark them), and tables or multi-column layouts may come out as plain reading-order text.
Can it find PDFs on a website for me? No. Give direct PDF links, or upload files in the Console.
Password-protected files? They return encrypted and are free.
Worked cost example: 200 digital PDFs in one run = 200 × $0.004 + $0.003 ≈ $0.80.
Integrations
- Apify API and SDKs: call it from Python, JavaScript or any HTTP client and read results from the run's dataset.
- Schedules and webhooks: run it on a schedule in Apify and trigger your own endpoint when a run finishes.
- Make, Zapier, n8n: use Apify's own integrations for these tools to start runs and pass dataset rows on.
- AI agents (MCP): agents can call it through the Apify MCP server.
Limits (v1)
- No OCR. No vendor API.
- Env caps: max files/run, max pages/file, max bytes/file.
- Direct PDF URLs only (not “search this site for PDFs”).
More from SteadyScrape
- AI Page to JSON: URL + Schema Extractor: turn public web pages into validated JSON from your own field list or JSON Schema; failed, blocked and JS-only pages are free.
- YouTube Transcript API: Captions with Timestamps: existing YouTube captions with timestamped segments for up to 200 videos per run; videos without captions are free.
- Google News Monitor: Brand & Topic Alerts, Only New Articles: scheduled Google News alerts for brands, companies and topics that return only articles new since the last run.
See every SteadyScrape (steady-scrape) Actor on our Apify profile.