URL to Markdown - Clean Web Page Text for LLMs avatar

URL to Markdown - Clean Web Page Text for LLMs

Pricing

$2.00 / 1,000 page converteds

Go to Apify Store
URL to Markdown - Clean Web Page Text for LLMs

URL to Markdown - Clean Web Page Text for LLMs

Turn any web page into clean Markdown and plain text for LLMs, RAG and summaries. Finds the real article, drops menus, cookie banners and scripts, keeps headings, lists, links, images, quotes and code, and returns title, author, date and language. No browser. Failed pages are free.

Pricing

$2.00 / 1,000 page converteds

Rating

0.0

(0)

Developer

Scrapewise Data

Scrapewise Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

URL to Markdown: clean web page text for LLMs

Give it a list of page URLs and get back clean Markdown and plain text, ready to paste into a prompt, index in a RAG pipeline or store as a document. No browser, no API key, no HTML cleanup on your side.

What comes out

FieldWhat it holds
markdownheadings, lists, links, images, quotes and code blocks, with every link absolute
textthe same content as plain text, for embeddings and search
wordCount, charCount, headingCount, linkCount, imageCountsize and shape of what was found
title, description, author, publishedAt, language, siteName, imageUrl, canonicalUrlthe metadata a document pipeline usually wants
finalUrl, statusCode, htmlBytes, renderedByJavaScriptwhat actually happened when fetching

Why it is not just "strip the tags"

  • It finds the article. <article>, <main>, [role=main], or the densest block of paragraphs, and drops navigation, footer, sidebar, cookie banner, script and style.
  • It survives minified HTML. Attributes without quotes (href=/docs class=x) are common in production builds and break naive parsers; here they are handled.
  • It tells you when a page is JavaScript-only. renderedByJavaScript is true when the HTML is big but the text is tiny, so you know the page needs a browser instead of getting a stub and not noticing.
  • You can set a floor. minWords turns anything thinner into a free error row, so a broken page never enters your dataset as if it were content.

Errors, all free

errorCodeMeaning
NOT_FOUND404 or 410
BLOCKED401 or 403: the site refused. Turn the proxy on and try again.
FETCH_FAILEDDNS, timeout or a server error that did not clear on retry
TOO_LITTLE_TEXTThe page came back with less text than your minWords
ITEM_UNREADABLEThe page came in a shape this Actor cannot read
UNEXPECTEDSomething unforeseen broke on that page; the rest of the run still delivers

Pricing

US$ 2.00 per 1,000 pages, pay per event: no monthly fee, no charge per run, error rows free. A thousand pages for a RAG index cost US$ 2.00.

FAQ

How is this different from stripping the tags myself? The Actor picks the content block (<article>, <main>, [role=main] or the densest block of paragraphs) and drops navigation, footer, sidebar, cookie banner and script, so what you get is the article and not the whole page.

What if the page only renders with JavaScript? You still get whatever is in the HTML, and renderedByJavaScript is set to true so you can route those URLs to a browser-based Actor instead of silently indexing a stub.

Can I refuse thin pages? Yes. Set minWords and anything below it comes back as a free TOO_LITTLE_TEXT row instead of entering your dataset as content.

Are the links usable? Yes, every link and image is made absolute against the final URL, after redirects.

Do failed pages cost anything? No. 404, 403, timeouts and thin pages are all free rows.

Notes

  • Proxy is off by default and the platform cost is a fraction of the price. Turn it on for sites that block datacenter IPs.
  • This Actor does not run JavaScript. For pages that only render in a browser, markdown will be short and renderedByJavaScript will be true.