URL to Markdown – HTML to Markdown Converter for LLM & RAG
Pricing
from $0.60 / 1,000 page converteds
URL to Markdown – HTML to Markdown Converter for LLM & RAG
Convert web page URLs or raw HTML into clean GitHub-flavoured Markdown for LLM prompts, RAG ingestion and content migration: headings, links, lists, tables, code and images, main content first. No browser, no API key. $1 per 1,000 pages; failed pages are free.
Pricing
from $0.60 / 1,000 page converteds
Rating
0.0
(0)
Developer
Chris Elder
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Convert web page URLs or raw HTML into clean, GitHub-flavoured Markdown for LLM prompts, RAG / vector-database ingestion, docs migration and content audits. Give it a list of page URLs (or paste HTML) and get one dataset row per page with the markdown, page title, meta description and character count.
✅ Pay per result: $1 per 1,000 pages · 🆓 Failed pages are never charged · 🔑 No API key · ⚡ No headless browser, so it is fast and cheap
▶ Try it with one click · 📄 Real example · 💲 Pricing · 🔌 API & integrations · ❓ FAQ
What does URL to Markdown do?
- Bulk URL to Markdown: fetch many web pages in parallel and convert each one
- Raw HTML to Markdown: paste HTML you already have (from a scraper, CMS export or email)
- Keeps structure: H1–H6, paragraphs, links, bold/italic, ordered and unordered lists, tables, fenced code blocks and images
- Main content first: uses
<article>or<main>when the page has one; drops scripts, styles, forms, nav, header and footer elements - Optional metadata: page title, meta description and source URL at the top of each Markdown document
- Per-page timeout and size cap so one slow page never blocks the run
Who is it for?
- LLM and RAG builders – turn documentation, help centres and blog posts into Markdown before chunking and embedding
- AI agent developers – give an agent a "read this web page as Markdown" step through the Apify API or MCP
- Content and SEO teams – export existing pages to Markdown for rewrites, audits or migration to a static site
- Scraper users – chain it after a crawler or Sitemap URL Extractor to turn a URL list into readable text
How to use it
- Click Try for free. The prefill converts
example.comand a gov.uk help page (well under one cent). - Paste your own URLs into Page URLs (one per line), or put HTML in Raw HTML.
- Download the dataset as JSON, CSV or Excel, or read it through the API. Each row has a
markdownfield.
Input example
{"urls": ["https://docs.python.org/3/tutorial/introduction.html","https://en.wikipedia.org/wiki/Markdown"],"includeMetadata": true,"maxConcurrency": 5,"timeoutSecs": 20}
Real example output
From a public run on 20 Oct 2026 (run 8sDFOdc6Ujc3T6ge5): 3 URLs in, 2 pages converted and charged, 1 unreachable domain recorded as an error and not charged. The markdown value is shortened here.
{"url": "https://docs.python.org/3/tutorial/introduction.html","ok": true,"charged": true,"statusCode": 200,"title": "3. An Informal Introduction to Python — Python 3.15.0 documentation","description": "In the following examples, input and output are distinguished by the presence or absence of prompts (>>> and …) …","markdown": "# 3. An Informal Introduction to Python — Python 3.15.0 documentation\n\n…\n\nSource: https://docs.python.org/3/tutorial/introduction.html\n\n# 3. An Informal Introduction to Python …","markdownChars": 20659}
{"url": "https://this-domain-does-not-exist-xyz123.com","ok": false,"charged": false,"error": "fetch failed"}
The Wikipedia "Markdown" article in the same run produced 47,782 characters of Markdown.
Output fields
| Field | Meaning |
|---|---|
url, finalUrl | Requested URL and the URL after redirects |
ok, charged | Whether the page converted, and whether it was billed |
statusCode, contentType | HTTP response details |
title, description | Page title and meta description |
markdown | The converted Markdown document |
markdownChars | Length of the Markdown, handy for estimating tokens |
error | Why a page failed (timeout, HTTP 4xx/5xx, DNS) |
Pricing (pay per event)
| Event | Price |
|---|---|
| Actor start | $0.00005 (once per run) |
| Page converted | $0.001 ($1 / 1,000) on Free/Bronze; lower on higher Apify plans |
| Failed page | Free |
Example: 2,000 documentation pages, 40 of which time out → 1,960 × $0.001 ≈ $1.96 plus the start fee.
Integrations (API, AI agents, Make, Zapier, n8n)
Run it through the Apify API or client libraries, on a schedule, or as a step after another Actor. Typical chain: Sitemap URL Extractor → URL to Markdown → your vector database. Send results to a spreadsheet with Google Sheets Sync.
Limits and good to know
- It reads the HTML the server returns. Pages that only render content with JavaScript (single-page apps) may come back nearly empty; use a browser-based crawler for those.
- Pages without
<article>or<main>can include some navigation text, as in the Python docs example above. - Relative image and link paths are kept as written in the page.
- Only convert pages you have the right to use.
FAQ
Does it run a headless browser? No. It fetches HTML over HTTP and converts it, which keeps it fast and cheap.
Is the output good for LLMs and RAG? It produces plain Markdown with headings kept, which is easy to split by heading for chunking. It does not call any LLM or summarise content.
Can I convert PDFs? Not with this Actor. For PDFs use PDF to Markdown.
Am I charged for 404s or timeouts? No. Only pages that convert successfully are charged.
Support
Open an Issue on this Actor. Built by GPT Shop Ltd with AI-assisted development; every release is reviewed and tested.