Markdownify MCP Server avatar

Markdownify MCP Server

Pricing

from $0.90 / 1,000 converted pages

Go to Apify Store
Markdownify MCP Server

Markdownify MCP Server

Markdownify MCP Server converts webpage URLs to clean Markdown for AI, RAG, docs, and migration workflows. Batch URLs, render JavaScript pages, tune selectors, and export source-backed results.

Pricing

from $0.90 / 1,000 converted pages

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 days ago

Last modified

Share

🧾 Convert HTML to Markdown for AI workflows

Markdownify MCP Server converts one or more webpage URLs into clean Markdown for AI agents, RAG pipelines, documentation workflows, knowledge bases, and content migration. Add target pages, optionally render JavaScript, choose the content scope, remove common page sections, and get one dataset row for each successful conversion.

📦 Returned data

Each successful webpage conversion is saved as one dataset row. The dataset includes:

FieldDescription
sourceUrlWebpage URL that was successfully converted to Markdown.
titlePage title found on the source webpage, when available.
markdownLengthNumber of characters in the converted Markdown content.
markdownClean Markdown converted from the source webpage.

Failed pages are handled per URL. One bad target does not block successful rows from other URLs in the same run.

🚀 How to run

  1. Add one or more webpage URLs in startUrls.
  2. Leave renderJavaScript off for static pages, or turn it on when the page needs browser rendering.
  3. Choose mainContent or fullPage with contentScope.
  4. Select any common page sections to remove with removeSections.
  5. Choose the Markdown headingStyle.
  6. Add HTTP Basic Auth credentials only for pages that require them.
  7. Run the actor and open the dataset, API endpoint, or export file.

Good first targets include docs pages, help center articles, blog posts, product documentation, and public knowledge base pages.

🧩 Input

The main input is startUrls, a list of exact webpage URLs. The actor converts only the supplied pages and does not crawl the rest of the site.

Optional controls:

  • renderJavaScript renders pages in a browser before conversion.
  • contentScope chooses main readable content or full page content before cleanup.
  • removeSections removes common areas such as navigation, headers, footers, sidebars, forms, ads, cookie banners, comments, scripts, and styles.
  • headingStyle sets Markdown headings to ATX (# Heading) or Setext.
  • basicAuthUsername and basicAuthPassword support HTTP Basic Auth protected pages.

No source API key, cookie, browser extension, or external paid API is required for ordinary public pages.

📄 Output example

{
"sourceUrl": "https://example.com/docs/getting-started",
"title": "Getting started",
"markdownLength": 4280,
"markdown": "# Getting started\n\nInstall the package and follow these steps..."
}

💳 Pricing

This actor uses pay-per-event pricing. You are charged only when the actor saves an accepted converted page to the dataset. Empty runs and setup checks should not be described as charged unless the pricing handoff says otherwise.

🔌 Integrations

Use this actor with Apify integrations, API clients, webhooks, scheduled runs, and dataset exports. Send results to spreadsheets, BI tools, databases, or your own app after each run.

❓ FAQ

🐍 Can I use this for HTML to Markdown Python workflows?

Yes. Run the actor with URLs, then fetch the dataset rows from the Apify API in Python. The output includes Markdown text and source page data, so your Python code does not need to parse the page HTML itself.

📚 Is this the same as the markdownify Python package?

No. The actor is a hosted URL-to-Markdown conversion workflow. It fetches webpages, optionally renders JavaScript, applies cleanup choices, and returns dataset rows. The Python package is a library you run inside your own code.

🛠️ Can it replace Pandoc HTML to Markdown for webpages?

It can help when your source is live webpages and you want Apify runs, datasets, exports, schedules, and API access. It is not a general local document converter and does not claim to support every Pandoc format.

🌐 Can it convert JavaScript-heavy pages?

Yes. Turn on JavaScript rendering for pages where important content appears only after browser rendering. Static fetching remains available for simpler pages.

🔐 Can I convert password-protected pages?

Yes, if the page uses HTTP Basic Auth. Add the username and password in the Basic Auth fields. The actor does not support logging into arbitrary websites with forms or cookies.

🔎 Does it crawl a whole website?

No. It converts the webpage URLs you provide. If you need discovery first, use a crawler to collect URLs, review the targets, then pass selected pages to this actor.

🧪 Why not use the website API?

Many websites do not expose a clean API for page content, and APIs often return structured data instead of readable Markdown. This actor works from webpage URLs and returns Markdown for documentation, RAG, and migration workflows.

🔁 What are website-to-Markdown alternatives?

Alternatives include running a local converter such as Pandoc or markdownify in your own code, using another Apify URL-to-Markdown actor, or writing a custom scraper. This actor is useful when you want hosted runs, batching, dataset exports, and Apify integrations.

📝 Changelog

  • 0.1: Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

🔗 Other actors