Website to Markdown for LLMs & RAG — Content Extractor avatar

Website to Markdown for LLMs & RAG — Content Extractor

Pricing

from $5.00 / 1,000 page extracteds

Go to Apify Store
Website to Markdown for LLMs & RAG — Content Extractor

Website to Markdown for LLMs & RAG — Content Extractor

Turn any URL or whole site into clean, LLM-ready Markdown, text, or JSON. Strips nav/ads/boilerplate; keeps headings, links, tables, code. Sitemap-aware concurrent crawl, URL filters, robots.txt respected, rich metadata. Charged only per page extracted — no startup fee.

Pricing

from $5.00 / 1,000 page extracteds

Rating

0.0

(0)

Developer

Runlayer

Runlayer

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Share

Website to Markdown for LLMs & RAG — Clean Content Extractor

Turn any URL — or a whole site — into clean, LLM-ready Markdown, plain text, or structured JSON. Navigation, ads, cookie bars and boilerplate are stripped; headings, links, tables and code blocks survive intact. Drop the output straight into a prompt, a vector store, or a fine-tuning set.

You pay only per page actually extracted. No startup fee — most alternatives charge one on every run. Failed pages cost $0.

Quick start

{
"urls": ["https://en.wikipedia.org/wiki/Large_language_model"]
}

→ one dataset item with clean Markdown plus every metadata field you'd want:

{
"url": "https://en.wikipedia.org/wiki/Large_language_model",
"title": "Large language model",
"description": "A large language model (LLM) is a neural network trained on…",
"author": "", "publishedDate": "", "siteName": "Wikipedia", "lang": "en",
"wordCount": 13299,
"markdown": "A **large language model** (**LLM**) is a [neural network](…) …",
"links": [{ "href": "…", "text": "…" }]
}

Crawl an entire site — the fast, polite way

{
"urls": ["https://docs.example.com"],
"crawl": true,
"useSitemap": true,
"maxPages": 200,
"maxConcurrency": 8,
"includeUrlPatterns": ["*/docs/*"],
"excludeUrlPatterns": ["*/changelog/*", "*.pdf"]
}
  • Sitemap discovery seeds the crawl from the site's own sitemap.xml (including Sitemap: entries in robots.txt) — the fastest, most complete way to reach every page, no link-hopping required.
  • Include/exclude glob filters keep the crawl (and your bill) exactly on the content you want.
  • Concurrent fetching (up to 15 parallel) with per-run page caps and depth limits, so cost is always bounded and predictable.
  • robots.txt respected by default.

Features

Output formatsMarkdown (GFM: tables, fenced code), plain text, cleaned HTML, or JSON with everything
Main-content extractionReadability isolates the article; or convert the full page body — your choice
JS renderingReal Chromium for SPAs/React/Vue; switch it off for a much faster static fetch
Metadatatitle, description, author, published date, site name, language, OG image, word count
CrawlingSame-domain BFS + sitemap seeding, URL glob filters, max pages/depth/concurrency
Clean-upRemove any elements by CSS selector before extraction
ReliabilityOptional Apify Proxy (incl. residential) for bot-protected sites
Politenessrobots.txt respected by default; bounded concurrency

Built for AI pipelines

  • RAG ingestion: crawl your docs/blog → chunk the markdown field → embed. Re-run on a Schedule to keep the index fresh.
  • Agent tool: call via the Apify MCP server or API and give your agent clean page content instead of raw HTML soup.
  • Dataset building: sitemap + filters → every article on a site as uniform Markdown records with metadata.
  • Content migration: legacy CMS → Markdown files in one run.
curl -X POST "https://api.apify.com/v2/acts/runlayer~website-to-markdown/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"urls": ["https://blog.example.com"], "crawl": true, "useSitemap": true, "maxPages": 50}'

Pricing

A small fixed price per successfully extracted page, plus standard Apify platform usage for the compute your run consumes. No startup fee (most alternatives charge $0.0015–$0.09 per run before extracting anything). Failed pages are never billed. Tip: turn off jsRendering on static sites — runs get several times faster and cheaper.

FAQ

How is this different from a raw scraper? You get reading-quality content: boilerplate stripped, structure preserved, ready for a model — not a DOM dump.

Does it respect site owners? Yes — robots.txt is honored by default, sitemap seeding uses the URL list the site itself publishes for crawlers, and concurrency is bounded. Extraction is user-directed: you choose the URLs, and you're responsible for complying with the target site's terms and applicable law.

JavaScript-heavy site returns thin content? Keep jsRendering: true (default) and try waitUntil: "networkidle".

Blocked by anti-bot? Enable Apify residential proxy in the input.


Missing a feature you need? Open an issue — this actor ships improvements fast. If it saves you time, a ⭐ review helps others find it.

More tools by Runlayer

Part of a suite of fast, no-nonsense web utilities — all pay-per-result, charged only on success, no startup fee:

Use with AI agents (MCP)

This Actor is callable by AI agents through the Apify MCP server. Agents in Claude, Cursor, Windsurf, LangGraph, CrewAI and others can discover it via search-actors and run it as a tool — its inputs and outputs are fully described in the schema for reliable agent use.