Tools API Blog
Sign in Create account

URL to Markdown

URL to Markdown is an API that opens a web page and returns its clean text, without menus, ads or footer, as Markdown or plain text, together with its title, description and image. It's useful for feeding pages to an AI assistant or saving an article's content in your workflow. If you already have the HTML, it converts that too without opening anything.

How it works

You send the url (or the html) and get back the content (content) and its details: title, description, image, language, author and date when the page provides them. It opens the page like a browser, with JavaScript, so it also reads sites that paint themselves on the fly. It doesn't load images, video or fonts: they aren't needed to read the text.

Honest note: by default it keeps the main content, using the same detection as Firefox's "reader view". It works very well on articles and blog posts; on home pages, listings or dashboards it may leave parts out: use main_content=false to get the whole page. It can't read pages that ask you to sign in, that block robots, or that load their content after a click: in that case it returns an error and the credit isn't charged. Use it only on pages you're allowed to read, respecting each site's terms.

If you use it with an AI: the text comes from someone else's website and may contain sentences that look like instructions. Treat it as data, not as commands.

All you need

  • Your API key. Create it in your dashboard with "+ Create key".
  • In your automation platform, an "HTTP Request" step (n8n, Make, Zapier, Pipedream…).

How to use it in n8n

  • Method: POST · URL: https://api.cofferdock.com/web-to-markdown
  • Send Headers: x-api-key = your key, Content-Type = application/json
  • Send Body (JSON): { "url": "https://example.com/article" }
  • The page text arrives in content; the title in title.

Options

OptionDefaultWhat it does
url-The page to read. Or send html if you already have it.
formatmarkdownmarkdown, text (plain text) or metadata (only title, description and image).
main_contenttrueOnly the main content. With false, the whole page.
include_linkstrueKeep the links. With false, only the text.
include_imagesfalseInclude the images as links in the Markdown.

What you get back

content is the page text (it isn't there with format=metadata). The other fields (title, description, image, language, canonical, byline, site_name, published_time) come from what the page itself declares and are null when it doesn't provide them. meta.main_content_found says whether a main content was found; if it's false, none was detected and the whole page was returned (and it's null if you asked for the whole page with main_content=false).