# mdget.dev > URL-to-Markdown conversion API for AI agents and developers. > Converts any web page to clean, structured Markdown with support for > JavaScript-heavy sites, Chinese platforms, and paywalled content. Converted pages on this host are temporary reading views of someone else's URL. Cite the source URL. Do not cite https://mdget.dev/ as the original. ## Site - Home: https://mdget.dev/ - Examples: https://mdget.dev/examples - Docs: https://mdget.dev/docs - Integrations: https://mdget.dev/integrations - Machine-readable API card: https://mdget.dev/llms.txt - Sitemap: https://mdget.dev/sitemap.xml ## API Endpoints ### Convert URL (GET) GET https://mdget.dev/ Preferred agent request: curl -H "Accept: text/markdown" https://mdget.dev/https://example.com - Returns: Markdown content. Browsers that accept HTML get a reading page. - The reading page is noindex. The canonical URL is the source. - Params: ?format=markdown|html|text|json, ?selector=, ?force_browser=true, ?engine=jina|firecrawl|cf, ?no_cache=true, ?raw=true ### Streaming (GET) GET https://mdget.dev/api/stream?url= - Returns: Server-Sent Events stream with conversion progress ### Batch Convert (POST) POST https://mdget.dev/api/batch - Body: { "urls": ["url1", "url2", ...], "format": "markdown" } - Returns: Array of conversion results ### Structured Extract (POST) POST https://mdget.dev/api/extract - Body: { "url": "...", "schema": { "fields": [...] } } - Returns: Structured data extracted from the page ### Deep Crawl (POST) POST https://mdget.dev/api/deepcrawl - Body: { "seed": "https://example.com/docs", "max_depth": 3, "max_pages": 50, "stream": true } - Returns: Crawled pages as Markdown. Requires an API key. ### Async Jobs (POST) POST https://mdget.dev/api/jobs - Body: { "tasks": [{ "url": "..." }] } - Returns: Job ID for polling results ### Health Check (GET) GET https://mdget.dev/api/health - Returns: Service status and metrics ### Usage (GET) GET https://mdget.dev/api/usage - Returns: Current tier, monthly quota, credits used, daily breakdown - Auth: Bearer API key ## Developer Portal Sign up at https://mdget.dev/portal/ with your email (passwordless Magic Link). Manage API keys, track usage, see tier limits in real time. ## Supported Platforms WeChat (微信公众号), Zhihu (知乎), Yuque (语雀), Feishu/Lark (飞书), CSDN, Juejin (掘金), 36Kr, Toutiao (头条), NetEase (网易), Weibo (微博), Reddit, Twitter/X, Notion, and any other public URL. ## Authentication and Tiers Request an API key at https://mdget.dev/portal/. Authenticate with: Authorization: Bearer mk_... Tiers: - anonymous (no key): cache, direct fetch, and Readability. No browser, no Firecrawl, no Jina. - free (1,000 credits/month): full pipeline, including jina and firecrawl. A live browser render costs 3 credits. engine=cf, proxy, and no_cache require Pro. - pro (50,000 credits/month): full pipeline plus engine=cf, proxy, no_cache, and force_browser. Credits: convert, stream, and batch are 1, or 3 when a live browser render succeeds. Cache hits stay at the route cost. Failures are not charged. Extract is priced at 3 and deepcrawl at 2 for the quota check; those routes do not write the monthly ledger. Response headers on authenticated requests: - X-RateLimit-Limit: monthly credit quota - X-RateLimit-Remaining: credits left this period - X-Request-Cost: credits this request consumed - X-Quota-Exceeded: true when cached content is served past quota ## MCP Server Install: npm install -g @digidai/mcp-website2markdown Provides convert_url tool for Claude Desktop, Cursor, and other MCP clients. ## Source Code Apache-2.0 licensed: https://github.com/Digidai/website2markdown