Home

Accept-header tester

Replay real AI-agent requests against any URL. See what Claude Code, Cursor, and Codex actually get back, with pass/fail lights for Vary, 406, and q-values.

URL
Agent fingerprint
Accepttext/markdown, text/html, */*
User-AgentClaude-User/1.0
Server-side probe · no CORS limits
Ready to probe

Pick an agent and enter a URL to test.

What do these lights mean?

  • MD — server responded with text/markdown or text/plain.
  • Vary — response includes Vary: Accept, so caches won't mix HTML and markdown responses.
  • 406 — server returns spec-compliant 406 on unsatisfiable Accept values. Optional but nice.
  • q= — server honors Accept q-values, serving markdown when the client marks it as preferred.
Read the full guide

Agent support matrix

Agent Accept User-Agent MD
Claude Codetext/markdown, text/html, */*Claude-User/1.0
Cursortext/markdown, text/plain;q=0.9, */*;q=0.8Cursor/1.0
Codex CLItext/html, */*codex/1.0
ChatGPT*/*ChatGPT-User/1.0
Perplexity*/*PerplexityBot/1.0
Gemini*/*Google-Extended

Frequently Asked Questions

Content negotiation is an HTTP mechanism where the client (browser, AI agent) advertises which response formats it understands via the Accept header. The server picks the best match and serves it with a matching Content-Type. For AI agents, Accept: text/markdown signals that the client prefers clean markdown over rendered HTML.

Markdown is 40–80% smaller than the equivalent HTML, strips noise (nav, scripts, styles), and maps directly to the token-efficient format LLMs internally convert to anyway. Serving markdown on Accept negotiation is faster, cheaper, and gives agents better answers.

As of 2026, only Claude Code and Cursor advertise text/markdown in their Accept header. OpenAI Codex CLI follows <link rel="alternate" type="text/markdown"> hints in HTML instead. ChatGPT, Perplexity, and Gemini fetchers still send */* and parse whatever comes back.

406 Not Acceptable is the spec-compliant response when the client explicitly only wants a format the server cannot produce. Correctly returning 406 for Accept: application/vnd.pandoc is a sign of a well-implemented content negotiation layer.

Scan the whole site

AI search visibility audit

Accept-header + llms.txt + sitemap.md + robots + token savings. One shareable report.