HTML to Markdown & Reader Mode Extractor avatar

HTML to Markdown & Reader Mode Extractor

Pricing

Pay per usage

Go to Apify Store
HTML to Markdown & Reader Mode Extractor

HTML to Markdown & Reader Mode Extractor

Convert any URL or raw HTML to clean markdown, plaintext, and reader-mode metadata. Choose Readability (articles), Turndown (verbatim), or Trafilatura (noisy pages). Outputs title, byline, published date, language, word count, and reading time. FREE — the one-call URL-to-markdown primitive.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Convert any URL or raw HTML to clean markdown, plaintext, and reader-mode metadata. A FREE, one-call primitive for LLM pipelines, text-processing workflows, and content extraction.

What it does

Pass a URL or raw HTML, get back:

  • Markdown — clean, ready for LLM ingestion
  • Plaintext — stripped of all markup
  • Reader-mode metadata — title, byline, published date, language, word count, reading time
  • Images[{src, alt}] list
  • Links[{href, text}] list

All in a single run. No crawler config needed.

Extraction modes

ModeBest forHow it works
readability (default)News articles, blog posts, documentationMozilla Readability strips navigation, ads, and boilerplate; then Turndown converts the clean article HTML to markdown
turndownPreserving the full page structureDirect Turndown conversion of the full HTML without article extraction — no stripping
trafilaturaNoisy pages, forums, user-generated contentCheerio removes script/style/nav/header/footer elements, targets the main content area, then converts to markdown

Input

FieldTypeDefaultDescription
inputsarrayRequired. Array of {url?: string, html?: string} objects
modestringreadabilityExtraction mode: readability / turndown / trafilatura
outputstringmarkdownOutput format: markdown / plaintext / both
includeImagesbooleantrueInclude images list in output
preserveLinksbooleantrueInclude links list and preserve hyperlinks in markdown
renderJsbooleanfalseFetch JS-rendered pages via browser (requires more memory)
maxItemsinteger15Max inputs to process

Example input

{
"inputs": [
{ "url": "https://en.wikipedia.org/wiki/Markdown" },
{ "html": "<html><body><h1>Hello</h1><p>World</p></body></html>" }
],
"mode": "readability",
"output": "markdown"
}

Output

One dataset record per input:

FieldTypeDescription
inputstring (JSON)Original input {url?, html?}
titlestringExtracted page title
bylinestringAuthor / byline
publishedAtstringPublished timestamp (ISO 8601, when detectable)
languagestringDetected language code (ISO 639-1)
markdownstringMarkdown output
plaintextstringPlain-text output
wordCountnumberWord count
readingTimeMinnumberEstimated reading time (at 240 wpm)
imagesstring (JSON)[{src, alt}] image references
linksstring (JSON)[{href, text}] hyperlinks
modestringreadability / turndown / trafilatura
finalUrlstringURL after redirects (URL inputs only)
statusstringsuccess / timeout / error
errorMsgstringError message on failure

Example output record

{
"input": "{\"url\":\"https://en.wikipedia.org/wiki/Markdown\"}",
"title": "Markdown",
"byline": "Contributors to Wikimedia projects",
"publishedAt": "2005-08-09T19:56:00Z",
"language": "en",
"markdown": "# Markdown\n\nMarkdown is a lightweight markup language...",
"wordCount": 2459,
"readingTimeMin": 11,
"images": "[{\"src\":\"/static/images/icons/enwiki-25.svg\",\"alt\":\"Wikipedia\"}]",
"links": "[{\"href\":\"/wiki/Main_Page\",\"text\":\"Main page\"}]",
"mode": "readability",
"finalUrl": "https://en.wikipedia.org/wiki/Markdown",
"status": "success",
"errorMsg": null
}

Pricing

FREE. Compute-billed only — you pay for the Apify platform run time, not per-record. Ideal as a preprocessing step before paid downstream actors (e.g., translation, summarization).

Use cases

  • LLM context preparation — fetch and clean web pages before passing to GPT/Claude/Gemini
  • RAG pipeline ingestion — extract clean text from arbitrary URLs at scale
  • Content archiving — convert live pages to portable markdown
  • Article extraction — strip ads and navigation from news/blog content
  • Text analytics — feed clean plaintext into NLP models

Technical notes

  • HTTP fetch via got-scraping (Chrome TLS fingerprint, follows redirects)
  • Concurrency: up to 20 inputs processed in parallel per worker
  • Memory: 512 MB default; increase to 1024 MB if renderJs: true
  • Timeout: 30 seconds per URL fetch

Further reading: Technical Data Utilities: DNS Audits, SSL Checks, Satellite Elements, and Bulk Parsing