PDF to Text & Markdown Converter (PDF para Texto)
Pricing
Pay per event
PDF to Text & Markdown Converter (PDF para Texto)
Extracts the text layer of PDFs from public URLs and returns plain text and simple Markdown (headings by font size) plus the page count. No OCR, no browser, nothing stored outside your run.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Kman
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 hours ago
Last modified
Categories
Share
Extracts the text layer of PDFs you point it at by URL and returns plain text and simple Markdown, plus the page count. Built for AI, RAG and document pipelines. No browser, no proxy, no OCR.
Your responsibility
- You are responsible for having the right to process every PDF you submit: copyright, license and terms of use of the source, and any personal data inside the document (GDPR, LGPD and similar laws).
- The Actor does not look for, extract or label personal data. It returns the text exactly as the PDF contains it, and it never returns the PDF's author, creator or producer metadata.
- No OCR. Scanned or image-only PDFs have no text layer, so they come back with
status: "no_text_layer"and no text. - Nothing is stored by the Actor outside your own run. PDF bytes live only in memory while a file is processed and are discarded right after. The text appears only in the dataset of your run, never in the log, the key-value store or temporary files.
Input
| Field | Description |
|---|---|
urls | Public http(s) URLs of PDFs. Ports 80/443 only, no user:password@ in the URL. Up to 100 per run, 20 MiB per file. |
outputFormat | both (default), markdown or text. |
maxPagesPerPdf | Pages extracted per PDF, from page 1 (default and hard cap 500). |
maxTotalPages | Pages extracted per run (default and hard cap 2000). Remaining PDFs are skipped. |
Input values can only lower the built-in caps, never raise them.
Note on charges: the US$0.02 per-PDF fee is charged once a URL passes input validation and before the file is downloaded. A URL that then returns 404 or another error, is not a PDF, exceeds the size limit, or resolves to a blocked address is still charged the per-PDF fee. Pages are charged only when text is actually extracted. Please check that your URLs point to reachable, public PDF files before running.
Output
One dataset item per URL:
| Field | Meaning |
|---|---|
url | The URL you sent (credentials, if any, removed). |
status | ok, no_text_layer, encrypted, invalid_pdf, not_pdf, too_large, download_timeout, download_error, http_error, parse_timeout, memory_limit, blocked_url, invalid_url or skipped. |
http_status | HTTP status when the download did not return 2xx. |
page_count | Pages in the document. |
pages_extracted | Pages included in text / markdown. |
truncated, truncated_reason | page_limit, run_page_limit, item_size, billing_limit, margin_limit or prazo_interno (the run deadline). |
title | The document title, when it has one. |
text | Plain text. Paragraphs are separated by a blank line and pages by a form feed (\f). |
markdown | Markdown with #/##/### headings guessed from font size and <!-- page N --> markers. |
chars | Characters of extracted text. |
bytes_downloaded | Bytes received for this URL. |
The key-value store record OUTPUT has only counts, the stop reason and the events charged.
Limits
100 PDFs, 20 MiB per file, 500 pages per PDF, 2000 pages per run, about 8 MB of text per item (the item is cut at a page boundary and flagged item_size), 45 s per download, 10 s per page and 90 s per PDF, and an internal run deadline of 10 minutes. When a limit is hit the run ends with a partial summary and exit code 0, and you are charged only for work that was done.
Pricing
Pay per event. Prices: run start US$0.0005, US$0.02 per PDF processed, US$0.001 per page extracted. The PDF event is charged right before the download, so a slow, invalid or encrypted file still costs the compute it used. Page events are charged after the pages are extracted, in blocks of up to 25. Pages of a scanned PDF are not charged. URLs refused before any request (invalid or private addresses) are free. The Actor honors your maximum charge per run.
Note on charges: the US$0.02 per-PDF fee is charged once a URL passes input validation and before the file is downloaded. A URL that then returns 404 or another error, is not a PDF, exceeds the size limit, or resolves to a blocked address is still charged the per-PDF fee. Pages are charged only when text is actually extracted. Please check that your URLs point to reachable, public PDF files before running.
Safety
- Only public http(s) addresses are fetched. Private, loopback, link-local and cloud-metadata addresses are refused when connecting and on every redirect (up to 5).
- The PDF parser runs in an isolated worker thread with a memory limit and a hard deadline, with script evaluation off. It is configured so that it never makes a network request or reads a local file for fonts or character maps.
Known limitations
- No OCR. Only the first 10 pages are probed: if all of them have no text the PDF is reported as
no_text_layer. - Plain text order follows the PDF drawing order. Multi-column layouts, tables and lists are not reconstructed.
- No external CMaps or font files are bundled, so PDFs that rely on them (some older CJK documents) can return empty or partial text.
- Password-protected PDFs return
encrypted.
Third-party software
The text is extracted with pdf.js by Mozilla (Apache-2.0), in the single-file build packaged by unpdf (MIT). Both license texts are in vendor/LICENSE-pdfjs and vendor/LICENSE-unpdf.
Related Actors
More Actors from the same publisher:
- Website Health Checker: Broken Links & SEO (Saúde do Site): HTTP-only audit of a site you own: broken links, robots.txt, sitemap.xml, llms.txt and per-page SEO tags.
- EU TED Tenders Scraper (Licitações da UE): EU public procurement notices from the TED Search API v3, normalized: title, buyer, country, CPV, value and deadline.
- Brazil Public Tenders & Procurement (Licitações BR): Brazilian public tenders and procurement from the PNCP portal, with a source link on every record.
- Brazil Bankruptcy Auctions (Leilões de Falência): Auction notices in company bankruptcy and judicial recovery cases from the CNJ DJEN/Comunica feed.
Browse the full catalog: kman-br.github.io (Português).