Fast Webpage to Markdown API for AI Agents icon

AI & documents · Coming soon

Webpage to Markdown API: Clean Markdown from Any Public URL

Give a link and get the page as clean Markdown in a few seconds. You also get the title, word count and HTTP status. It is made for AI agents and LLM tools.

Built and tested. Prices will be shown after release.

Coming soon to the Apify StoreFollow us on Apify

What you get, for example

urlhttps://apify.com
finalUrlhttps://apify.com/
statusCode200

How it will work: 3 steps

  1. Follow us on ApifyThe tool is built and waits in the queue for the Apify Store. Apify is the cloud platform where our tools run.
  2. Paste your input and press StartNo code needed: you fill in a form (the input). It already has a working example. For example: https://apify.com in Page URL. Each start is one run.
  3. Download the resultsWhen the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

This tool is an Apify Actor: a small program that runs on Apify. You can also run it on a schedule, for example every Monday. New to it? Read how it works, step by step and the 8 words you need first.

What it does

Turn any public web page URL into clean, LLM-ready Markdown with the page title, word count and HTTP status.

Good for

  • An AI agent or LLM tool needs to read one page as Markdown in one quick call.
  • A RAG or summary pipeline needs clean text from a list of known URLs (up to 100 per run).
  • A script needs the title, word count and HTTP status of a page together with its text.

Not a good fit

  • Whole-site crawling. The Actor reads only the URLs you give; it does not follow links.
  • Pages behind a login, paywall or CAPTCHA. The Actor does not log in and does not bypass them.
  • Sites with strong bot protection may answer 403. You get an HTTP_ERROR row, not a bypass.
  • Private and internal network addresses (for example localhost, 10.x.x.x) are blocked.

Who uses it

AI agent builders

Let an agent read one page as Markdown in one quick call.

RAG pipeline owners

Get clean text from a list of known URLs for your index.

Script writers

Get page text plus title and status in one JSON row.

Price

Prices will be shown after release.

Questions

Does it follow links on the page?

No. It reads only the URLs you give. It does not crawl the site.

Do I pay for pages that fail?

Only a small URL check. Missing, empty or failed pages do not cost the page price.

Why is the Markdown shorter than the page?

Menus, footers and other extras are removed. You get the main content.

Can it read sites with bot protection?

Not always. Some answer 403. You then get an error row, not a bypass.

Do I need a login or an API key for the site?

No. The Actor reads public pages only. You need only your Apify account.

Does it crawl the whole website?

No. It reads exactly the URLs you give. For many pages of one site, first get the page list (for example with a sitemap tool), then pass the URLs here.

Is the text always the same as in my browser?

Not always. Sites can show different content by region, cookies or bot checks. The row shows statusCode and fetchedAt, so you know what the Actor received and when.

Who is responsible for how I use the pages?

You are. Follow the target site's terms and robots rules.

Details

Step by step on Apify
  1. Open the Input tab.
  2. Keep the prefilled Page URL https://apify.com or paste your own page.
  3. Leave Render JavaScript off for normal pages.
  4. Click Start.
  5. Open the Output tab. The Markdown view shows url, title and markdown; the Pages view shows status, HTTP code and word count.
Use cases
TaskInputYou getKey fieldsNext step
Let an AI agent read a pageurlone pagemarkdown, title, wordCountApify MCP server, agent tool call
Feed a RAG index from known URLsurls (up to 100)one row per pageurl, markdown, fetchedAtAPI, LangChain, LlamaIndex, n8n
Fit a page into an LLM context windowurl + maxCharscut pagemarkdown, truncatedprompt template
Read a JavaScript app pageurl + renderJsrendered pagemarkdown, renderedJssame as above
Collect links of a pageurl + includeLinkspage with linkslinks, titlecrawler or link checker
Tips for better results
  • Turn on JavaScript rendering only for app-like pages. It is slower.
  • Set a maximum cost per run. The tool will not start pages it cannot pay for.
  • Use our Website to Markdown tool if you need a whole site. This one reads only your links.
Limits and good to know
  • A page that does not exist, has no text, needs JavaScript or fails (not_found, error, NEEDS_JS) costs only the URL checked event. You do not pay the page event
  • URLs the run did not start (CHARGE_LIMIT, RUN_TIME_LIMIT, SITES_NOT_RESPONDING) cost nothing
  • An input error (for example, no URL) costs only the Actor start
  • Your maximum cost per run is respected: the Actor does not start a page it cannot pay for and marks the rest CHARGE_LIMIT
  • Up to 100 different URLs per run; 5 pages at a time over HTTP, 2 in the browser
  • One page: up to 15 seconds per request, 2 attempts, 10 MB of HTML, 5 redirects
  • A run stops starting new pages after about 4 minutes, so it fits the default 300-second timeout. If for 60 seconds no site gives a real answer (only timeouts, dropped connections, or server errors 5xx/429), the rest are marked SITES_NOT_RESPONDING at no charge
  • Typical time: about 1–2 seconds for one page on a warm start, up to about 10 seconds on a cold start; about 11 seconds with renderJs; about 70 seconds for 100 pages

For developers

Sample result

One result from a real test run, in JSON. Real values change from run to run. In Excel or CSV each field is a column.

one result · JSON
{
  "url": "https://apify.com",
  "finalUrl": "https://apify.com/",
  "status": "complete",
  "statusCode": 200,
  "title": "Apify: Marketplace of ready-to-run tools for AI",
  "description": "Thousands of tools to automate your business. Get real-time web data, track competitors, generate leads, and integrate your apps and AI agents.",
  "language": "en",
  "markdown": "# 88,965 tools for your AI\n\nApify is a marketplace of ready-to-run tools for AI. Get real-time web data, track competitors, generate leads, monitor social media, and integrate your apps and agents.\n\n## Popular Actors\n\n…",
  "wordCount": 1333,
  "truncated": false,
  "renderedJs": false,
  "fetchedAt": "2026-10-15T19:14:50.149Z",
  "error": null
}
Data fields (14)
FieldTypeMeaning
urlstringURL as given in the input.
finalUrlstringURL after redirects. null when the page could not be loaded.
statusstringcomplete: full Markdown; partial: Markdown cut by maxChars or the page probably needs renderJs; not_found: HTTP 404/410 or no readable text; error: could not fetch (see error).
statusCodeintegerHTTP status code of the page.
titlestringPage title.
descriptionstringMeta description.
languagestringLanguage from <html lang>, e.g. en.
markdownstringMain content as Markdown (navigation, headers, footers and cookie banners removed). Starts with '# title' when the page has no H1. null when nothing could be converted.
wordCountintegerWords in the Markdown.
truncatedbooleanTrue when the Markdown was cut by maxChars or the internal limit.
renderedJsbooleanTrue when the page was rendered in a browser (renderJs).
linksarrayOnly with includeLinks: absolute links found on the page.
fetchedAtstringWhen the page was fetched, ISO 8601.
errorobjectWhy the row is not complete: code (NOT_FOUND, NEEDS_JS, NO_CONTENT, HTTP_ERROR, TIMEOUT, DNS_ERROR, BLOCKED_URL, INVALID_URL, NOT_HTML, TOO_LARGE, CHARGE_LIMIT, RUN_TIME_LIMIT, SITES_NOT_RESPONDING, …) and message. null when complete.
Input settings (5)

The main fields of the input form. With the API you send them as JSON.

SettingName in the APITypeExample value
Page URLurlstring"https://apify.com"
More page URLsurlsarray
Render JavaScriptrenderJsbooleanfalse
Include linksincludeLinksbooleanfalse
Max Markdown charactersmaxCharsinteger0

Use cases with this tool

Each guide shows all the steps and the other tools.

Start on Apify

Make a free Apify account: you get $5 of free usage every month. Missing a tool? Suggest it. We read every idea, but we do not promise to build it.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure