OrbTop

HTML to Markdown & Reader Mode Extractor

AIDEVELOPER TOOLSNEWS

Independent tool. Trademarks referenced on this page are the property of their respective owners and are used only to identify the public website this tool reads. No affiliation or endorsement.

HTML to Markdown & Reader Mode Extractor

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

Mode Best for How it works
readability (default) News articles, blog posts, documentation Mozilla Readability strips navigation, ads, and boilerplate; then Turndown converts the clean article HTML to markdown
turndown Preserving the full page structure Direct Turndown conversion of the full HTML without article extraction — no stripping
trafilatura Noisy pages, forums, user-generated content Cheerio removes script/style/nav/header/footer elements, targets the main content area, then converts to markdown

Input

Field Type Default Description
inputs array Required. Array of {url?: string, html?: string} objects
mode string readability Extraction mode: readability / turndown / trafilatura
output string markdown Output format: markdown / plaintext / both
includeImages boolean true Include images list in output
preserveLinks boolean true Include links list and preserve hyperlinks in markdown
renderJs boolean false Fetch JS-rendered pages via browser (requires more memory)
maxItems integer 15 Max 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:

Field Type Description
input string (JSON) Original input {url?, html?}
title string Extracted page title
byline string Author / byline
publishedAt string Published timestamp (ISO 8601, when detectable)
language string Detected language code (ISO 639-1)
markdown string Markdown output
plaintext string Plain-text output
wordCount number Word count
readingTimeMin number Estimated reading time (at 240 wpm)
images string (JSON) [{src, alt}] image references
links string (JSON) [{href, text}] hyperlinks
mode string readability / turndown / trafilatura
finalUrl string URL after redirects (URL inputs only)
status string success / timeout / error
errorMsg string Error 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