Web Data
Hand it a URL and get back clean markdown — the main article isolated and the chrome stripped — plus crawl and map modes for whole sites.
/fetchfree allowance included4
output formats
100k
max characters
15 min
URL cache
SSRF-safe
private hosts blocked
About the API
Feeding a page to an LLM usually means writing your own HTML-to-text pass and hoping it survives the next redesign. This endpoint does it server-side: give it a URL and it returns clean markdown with headings, links, lists, tables and fenced code intact, everything else flattened to text.
Not every job needs the body. Ask for format=json and you get just the metadata — title, description, og:image, canonical — without parsing the page at all. Two sibling routes extend the same idea: /crawl reads the page and follows its own links, and /map lists every link on it without fetching any of them.
Who builds on this
Turn any page into markdown you can chunk, embed or cite — no bespoke HTML cleaner to maintain.
Read the article, not the nav, ads and cookie banner — main=1 typically shrinks the payload 5–10×.
/map lists every link on a page and /crawl follows them — a sitemap without writing a crawler.
Under the hood
Request
urlrequiredfull URL or bare hostname — example.com → https://example.com.
formatoptionalmarkdown (default), text, html, or json for metadata only.
mainoptional1 isolates the main article; 0 keeps the whole page. Omitted → 1.
maxoptionalcharacter cap, 500–100000. Omitted → 20000.
linksoptional1 also returns every link found on the page.
limitoptional/crawl: extra pages to follow (1–10). /map: max links (1–500).
same_hostoptional1 keeps /crawl and /map on the same domain. Omitted → 1.
Response
contentthe page body in the format you asked for.
title / descriptionparsed page metadata from the document head.
final_urlthe landing page after redirects — followed up to 5 hops.
words / reading_time_minlength signals for the extracted text.
canonical · image · site_nameSEO fields read from the page head.
cachedtrue when the URL was served from the 15-minute cache.
pages/crawl only — one entry per followed link.
Try it
{
"success": true,
"url": "https://nextjs.org/blog/next-16",
"final_url": "https://nextjs.org/blog/next-16",
"status_code": 200,
"content_type": "text/html",
"title": "Next.js 16",
"description": "Next.js 16 includes Cache Components, stable Turbopack...",
"content": "# Next.js 16
Ahead of our upcoming Next.js Conf...",
"format": "markdown",
"words": 1420,
"reading_time_min": 6,
"chars": 8903,
"lang": "en",
"site_name": "Next.js",
"image": "https://nextjs.org/og.png",
"canonical": "https://nextjs.org/blog/next-16",
"cached": false,
"took_ms": 711
}Content is truncated here — ask for format=json when you only need the metadata.
Free tier
Every endpoint includes a free monthly request allowance — the size differs from API to API. When your free requests run out, you move to a paid plan with the same key. No card needed to start.
Start with Web Fetch, free.
Create an account and we’ll issue your free API key in minutes — this endpoint included.
© 2026 API Mitra. All rights reserved.
service statusMade in India