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

2 days ago

Last modified

Share

🧾 Convert HTML to Markdown for AI workflows

Markdownify MCP Server converts webpage URLs into clean Markdown rows you can use in RAG pipelines, agent tools, documentation archives, and content migration jobs. Add one URL or a batch of URLs, choose static or JavaScript rendering, and get source-backed Markdown with conversion facts in the dataset.

📦 Returned data

Each successful webpage conversion is saved as one dataset row. The actor returns the submitted URL, final URL, source title, source meta description when available, Markdown content, Markdown length, conversion timestamp, and the settings used for conversion.

The conversion object shows whether the page was loaded with static fetching or JavaScript rendering. It also records the heading style, include selectors, exclude selectors, and stripped tags applied to that row. This makes each result easy to trace back to the input and easy to audit before sending it to an AI system or downstream database.

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 the input.
  2. Leave JavaScript rendering off for faster static pages, or turn it on when the page needs browser rendering.
  3. Keep the default cleanup settings, or add include and exclude CSS selectors when you need a specific page area.
  4. Choose ATX or SETEXT heading style.
  5. Add HTTP Basic Auth credentials only for pages that require them.
  6. 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 required input is startUrls, a list of webpage URLs. Optional controls let you tune the conversion:

  • useJavaScript renders pages in a browser before conversion.
  • includeSelectors limits Markdown to matching areas such as main or article.
  • excludeSelectors removes areas such as navigation, footers, ads, and sidebars.
  • stripTags removes tag names such as script, style, iframe, and noscript.
  • 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

{
"submittedUrl": "https://docs.apify.com/platform/actors",
"url": "https://docs.apify.com/platform/actors/",
"title": "Actors | Apify Documentation",
"description": "Learn how to build, run, and publish Apify Actors.",
"markdown": "# Actors\n\nActors are serverless cloud programs that can perform web scraping, automation, and data processing tasks.",
"markdownLength": 14237,
"convertedAt": "2026-07-01T12:34:56.000Z",
"conversion": {
"rendering": "static",
"headingStyle": "atx",
"includeSelectors": ["main", "article"],
"excludeSelectors": ["nav", "footer", ".advertisement", "aside"],
"strippedTags": ["script", "style", "iframe", "noscript"]
}
}

💳 Pricing

This actor uses pay-per-event pricing. You are charged for each successful webpage converted to Markdown and emitted as a dataset row. Failed URLs, empty results, and actor starts are not charged as converted-page events.

The planned event is converted-page: one webpage successfully converted to Markdown and emitted as a result.

🔌 Integrations

  • Use the dataset API to pull Markdown rows into an app, vector database, or content pipeline.
  • Export results as JSON, CSV, Excel, XML, or RSS from Apify datasets.
  • Schedule repeated runs to refresh documentation or website content snapshots.
  • Connect webhooks to start downstream processing after a run finishes.
  • Run the actor from Apify API clients when you need URL-to-Markdown conversion inside a larger workflow.

❓ 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 metadata, 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 settings, 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.

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

Made with ❤️ by Maxime Dupré