DEV Community

Aadhithyan Annamalai
Aadhithyan Annamalai

Posted on

Convert Any URL or File to Markdown with One API Call (Free)

Convert Any URL or File to Markdown with One API Call

A free, no-API-key URL-to-Markdown conversion API that supports 11 file formats including PDF, DOCX, PPTX, and more.

If you've ever needed to feed a web page, PDF, or Word document into an LLM, you know the pain: formatting, tables, images, and nested markup don't survive copy-paste.

I built a free API that strips everything down to clean Markdown — no API key, no signup, no limits for most users.

Quick Start

# Convert a URL
curl "https://md.replyfast.co.uk/api/convert?url=https://example.com"

# Convert a file
curl "https://md.replyfast.co.uk/api/convert/file?url=https://example.com/report.pdf"
Enter fullscreen mode Exit fullscreen mode

Response:

{
  "success": true,
  "markdown": "# Example Domain\n\nThis domain is for use in documentation examples...",
  "tokens": {
    "original": 132,
    "markdown": 33,
    "saved": 99,
    "percentage_saved": 75
  }
}
Enter fullscreen mode Exit fullscreen mode

11 Supported Formats

Format Endpoint
URL (any HTML page) /api/convert?url=
PDF /api/convert/file?url=.pdf
DOCX (Word) /api/convert/file?url=.docx
PPTX (PowerPoint) /api/convert/file?url=.pptx
XLSX / XLS (Excel) /api/convert/file?url=.xlsx
PPT (Legacy) /api/convert/file?url=.ppt
CSV /api/convert/file?url=.csv
JSON /api/convert/file?url=.json
TXT / MD /api/convert/file?url=.txt

Using with Python

import requests

url = "https://md.replyfast.co.uk/api/convert"
response = requests.get(url, params={"url": "https://example.com"})
data = response.json()
print(data["markdown"])
Enter fullscreen mode Exit fullscreen mode

Using with Node.js

const res = await fetch("https://md.replyfast.co.uk/api/convert?url=https://example.com")
const data = await res.json()
console.log(data.markdown)
Enter fullscreen mode Exit fullscreen mode

Upload Files via POST

curl -X POST -F "file=@document.pdf" "https://md.replyfast.co.uk/api/upload"
Enter fullscreen mode Exit fullscreen mode

Why I Built This

Every time I wanted to paste a web article or document into Claude or ChatGPT, I had to manually strip formatting, copy text, and clean up. LLMs work best with clean Markdown — no tall tables, no nested divs, no hidden scripts.

This API does it automatically, server-side, in ~200ms. Free forever for normal usage.

Rate Limits

  • 500 URL conversions/day per IP
  • 100 file conversions/day per IP
  • No API key needed

Tech Stack

Built on Cloudflare Workers + Hono. Open source on GitHub.


Try it now: curl https://md.replyfast.co.uk/api/convert?url=https://news.ycombinator.com

Top comments (0)