Show HN: Save, an API that turns any URL into clean Markdown for LLMs Save, a new API that converts any URL into clean Markdown optimized for large language models, launched with a free tier of 1,000 pages per month. The service fetches web pages server-side, optionally renders JavaScript, and strips clutter like navigation and ads to produce LLM-ready content. Paid plans start at $29 per month for higher usage limits. Any URL to clean Markdown. One API call turns any web page into LLM-ready Markdown. Built for AI agents, RAG pipelines, and scrapers β€” fetch, render JavaScript, strip the clutter. You get the content, not the noise. 1,000 pages/mo free Β· no card Β· plans from $29/mo Get a free API key 1,000 pages a month, free. No credit card. Your key works instantly. need higher limits or a paid plan? talk to us /cdn-cgi/l/email-protection 9af2fff6f6f5dae9fbecfff7fbe8f1fef5edf4b4f9f5a5e9eff8f0fff9eea7c9fbecffbfa8aadbcad3bfa8aafffbe8f6e3bfa8aafbf9f9ffe9e9 A tiered engine that only spends what it must Fetch We fetch the URL server-side with a real browser fingerprint and a strict SSRF guard. Static and server-rendered pages stop here. Render if needed If a page is a JavaScript shell, we escalate to a headless render β€” only when the content is too thin, so you never overpay. Extract Nav, ads, cookie banners and boilerplate are stripped. You get headings, lists, links, images and code as clean Markdown. One call, clean Markdown back curl -X POST https://api.savemarkdown.co/v1/convert \ -H "Authorization: Bearer sk live ..." \ -H "Content-Type: application/json" \ -d '{"url": "https://example.com/article"}' js const res = await fetch "https://api.savemarkdown.co/v1/convert", { method: "POST", headers: { "Authorization": Bearer ${process.env.SAVE API KEY} , "Content-Type": "application/json", }, body: JSON.stringify { url: "https://example.com/article" } , } ; const { markdown, meta } = await res.json ; console.log markdown ; // clean Markdown python import os, requests res = requests.post "https://api.savemarkdown.co/v1/convert", headers={"Authorization": f"Bearer {os.environ 'SAVE API KEY' }"}, json={"url": "https://example.com/article"}, print res.json "markdown" Response { "markdown": "πŸ“„ Title: Example Article\nπŸ”— Source: ...\n\n---\n\n Heading\n\nClean body...", "meta": { "tier": 1, "cached": false, "domain": "example.com", "template": "markdown" }, "usage": { "credits": 1 } } Simple plans that grow with you Start free, no card. Move up when you need more. Every account begins on the free tier. Free 1,000 pages / month - βœ“ Any URL to clean Markdown - βœ“ Automatic JavaScript rendering - βœ“ No credit card - βœ“ 300+ site-specific extractors Get your free key get-key Starter 25,000 pages / month - βœ“ Everything in Free - βœ“ 25k pages a month - βœ“ AI-formatted output - βœ“ Email support Start free https://buy.stripe.com/7sY8wO1Bidus9kLeq68og07 Pro 150,000 pages / month - βœ“ Everything in Starter - βœ“ 150k pages a month - βœ“ Priority rendering - βœ“ Higher rate limits Start free https://buy.stripe.com/3cIfZgcfWaiggNda9Q8og08 Scale 600,000 pages / month - βœ“ Everything in Pro - βœ“ 600k pages a month - βœ“ Whole-site crawl coming - βœ“ Direct line to the maker Talk to us /cdn-cgi/l/email-protection fd9598919192bd8e9c8b98909c8f9699928a93d39e92c28e889f97989e89c0ae9c8b98d8cfcdbcadb4d8cfcd989c8f9184d8cfcd9c9e9e988e8e pages = URL to Markdown, JS rendering included Β· AI-formatted output on Starter+ Β· need more? talk to us /cdn-cgi/l/email-protection d6beb3babab996a5b7a0b3bbb7a4bdb2b9a1b8f8b5b9e9a5a3b4bcb3b5a2eb85b7a0b3f3e4e697869ff3e4e6b3b7a4baaff3e4e6b7b5b5b3a5a5 POST /v1/convert Authenticate with Authorization: Bearer sk live … . Keys are server-side only β€” never ship one in a browser or app bundle. url string required The page to convert. http s only. template string optional Omit for raw Markdown. Pass an AI template clean, summary, outline… for LLM formatting token-metered . render "auto" | "never" | "always" optional JavaScript rendering. Default "auto" escalates to Tier 2 only when a page is a JS shell. fresh boolean optional Bypass the 24h cache and refetch. Walled gardens: YouTube routes through its official transcript API. X / Instagram / TikTok are best-effort. We never use ghost accounts or scrape behind logins. The web, readable by your agent LLMs read Markdown, not HTML. Point an agent, a RAG ingest job, or a research loop at any URL and get back tokens worth keeping. This spec is also available as plain Markdown at /api.md /api.md . The API is discoverable through our llms.txt /llms.txt , agent-skills index /.well-known/agent-skills/index.json , and API catalog /.well-known/api-catalog.json . Ship the web as Markdown Get a free key and convert your first page in under a minute. Get a free key get-key free to start Β· plans from $29/mo Β· cancel anytime