Web Page & PDF to Markdown avatar

Web Page & PDF to Markdown

Pricing

from $0.20 / 1,000 results

Go to Apify Store
Web Page & PDF to Markdown

Web Page & PDF to Markdown

Converts public web pages and text-based PDFs into clean Markdown, plain text, and structured JSON.

Pricing

from $0.20 / 1,000 results

Rating

0.0

(0)

Developer

Vaque Wei

Vaque Wei

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Share

Convert public HTML pages and text-based PDFs into clean Markdown, plain text, and structured JSON. The Actor produces one predictable dataset item per input URL, making it easy to connect web content to AI agents, RAG pipelines, knowledge bases, and automation workflows.

What it does

  • Accepts up to 100 public HTTP/HTTPS URLs per run
  • Detects HTML pages and PDFs automatically
  • Extracts readable Markdown and plain text
  • Follows up to five validated public redirects
  • Returns stable error codes instead of failing the whole batch
  • Optionally includes truncated raw HTML

Common use cases

  • Prepare documentation pages for an AI knowledge base
  • Normalize public PDF handbooks for search and summarization
  • Convert articles into Markdown for content workflows
  • Feed clean text into RAG, MCP, Make, Zapier, or custom APIs

Input

{
"urls": [
"https://docs.apify.com/sdk/python/docs/quick-start",
"https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"
],
"maxItems": 10,
"requestTimeoutSecs": 45,
"maxOutputChars": 40000,
"maxDownloadMbytes": 10,
"includeRawHtml": false
}

Output

Each URL produces one default dataset item:

{
"url": "https://example.com/article",
"status": "ok",
"sourceType": "html",
"finalUrl": "https://example.com/article",
"httpStatus": 200,
"contentType": "text/html; charset=utf-8",
"bytesDownloaded": 12345,
"title": "Example article",
"markdown": "# Example article\n\nClean content...",
"text": "Example article\n\nClean content..."
}

Failed URLs still produce a normalized item with status: "error", a stable errorCode, and a readable error message. Other URLs in the batch continue processing.

Safety and limitations

  • Only public HTTP and HTTPS URLs are accepted
  • Private, loopback, link-local, reserved, and credential-bearing URLs are blocked
  • Redirect destinations are validated before they are requested
  • Downloads are limited to 10 MB by default and 25 MB maximum
  • Scanned/image-only PDFs require OCR and are not supported in this version
  • The Actor does not log in, click through pages, or bypass access controls

Only process content you are authorized to access and respect source website terms and applicable law.

Local run

python -m venv .venv
.\.venv\Scripts\python -m pip install -r requirements.txt
.\.venv\Scripts\python -m src

Sync to Apify

Set APIFY_TOKEN for the current shell, then run:

.\.venv\Scripts\python .\tools\deploy_actor.py