Markdown for Agents Checker

See whether your pages serve clean Markdown to AI agents that ask for it.

Try:

What is Markdown for Agents?

HTTP content negotiation lets a client declare which content types it prefers via the Accept request header. Any client — browser, AI agent, or crawler — can include Accept: text/markdown. The server inspects the header and decides which format to serve. Markdown for Agents is the emerging convention for servers that support it.

Why does content type matter for agents?

Markdown can be about 80% lighter than equivalent HTML because it does not include scripts, stylesheets, and other HTML tags. AI agents can read your actual content faster, at lower cost, and with less noise to filter out.

Request:   GET /page
           Accept: text/markdown

Response:  200 OK
           Content-Type: text/markdown
           Vary: Accept

           [clean markdown — no scripts, styles, or nav]

The Vary header

When a server responds with Vary: Accept, it tells caches — CDNs, proxies, and browsers — that the response content differs depending on what the client requested. Without it, a cache might serve a stored Markdown response to a browser that expected HTML, or the other way around. Including Vary: Accept ensures each content type is cached and served independently.

406 Not Acceptable

When a server receives an Accept header it cannot satisfy, the correct HTTP response is 406 Not Acceptable. In practice, many servers return HTML regardless.

Passing this "best practice" check means the server explicitly rejects unsupported formats rather than simply returning HTML with a 200, which obscures whether the requested format was ever available.

About the optional checks

x-markdown-tokens

A Cloudflare Markdown for Agents header. When Cloudflare converts your page to Markdown at the edge, it adds this header with an estimated token count — so an AI agent can budget its context window before deciding whether to fetch the full response. It only appears if your site is behind Cloudflare and has Markdown for Agents enabled.

content-signal

Part of the Content Signals framework. This response header lets you declare how your content may be used by AI systems — for training, search indexing, or as AI input. AI agents that respect it can honor your preferences automatically, without you needing to update robots.txt separately for each bot.

Monitoring your implementation

Content negotiation support can break for various reasons: a CDN config change, CMS update, or a caching error that causes the wrong content type to be returned to the client. It isn't enough to rely on a one-time, manual check during implementation to catch these cases.

Testomato lets you add Accept: text/markdown as a custom request header on any check. Pair it with a response header rule to verify Content-Type: text/markdown is present, and you'll be alerted the moment your content negotiation breaks.

Need to add support first? acceptmarkdown.com has implementation recipes for Nginx, Cloudflare Workers, Next.js, WordPress, and more.

Monitor your website's AI readiness with Testomato

You can try it all free for 14 days with no credit card and no commitment.