Can an AI assistant read — and cite — your page?

Paste a URL. We fetch it the way an AI crawler does — plain HTTP, no browser, through a residential IP, once as a browser and once as GPTBot — and score the five things that decide whether ChatGPT, Claude, Perplexity, Google’s AI Overview or Bing Copilot can quote you: crawler access for 24 AI user agents, text that survives without JavaScript, structured data and resolvable entities, answer-shaped copy with numbers and quotes, and the freshness and authorship signals that make a source quotable. Free, no account.

We ask one live answer engine and report whether your domain is among its sources.

An example page scored 58/100 — crawler access 82, readable without JS 24, structured meaning 61, answer shape 70, freshness & trust 84 — with a 200 as a browser and a 403 as GPTBot.
The same URL fetched twice — once as a browser, once as GPTBot — scored on the five axes that decide whether an assistant can quote you, with the blocker that caps the score named first.

Ranking and being cited are now two different jobs

A search engine returns a list and lets the reader choose. An assistant does something else: it retrieves a handful of passages, rewrites them into a single answer, and names two or three sources. Nobody scrolls. There is no position four.

That difference decides what to optimise. A page can sit at the top of Google and never appear in a single AI answer — and the reasons are boring, mechanical and fixable. Its text is rendered by JavaScript, so the crawler that feeds ChatGPT received an empty shell. Or a CDN toggle disallowed GPTBot two years ago and nobody noticed, because nothing breaks in a browser. Or the page carries nosnippet, keeps every ranking it had, and quietly forbids any engine from quoting a line of it.

Why a page can rank and still never be quoted

The three failures above share a shape: none of them is visible in a browser, none of them shows up in a rankings report, and all of them are one line of configuration. That is why they survive for years on otherwise well-run sites. This audit looks for them in the order they cost you.

What the audit reads

Every finding comes with the evidence behind it and the change that fixes it. Nothing here is a score we invented and cannot show you the working for. And a page nobody can fetch does not get 86/100 for its nice headings: a blocked crawler, a noindex, an empty HTML shell or an ai-input=no is a blocker, and blockers cap the score.

From “readable” to “actually cited”

Being readable is necessary and not sufficient. The question that settles it is empirical: ask the engines and see whose links come back. Type a question above and the free audit asks one live answer engine, then tells you whether your domain was cited, whether your brand was at least mentioned in the answer, and which domains the engine leaned on.

The audit API runs the same panel at scale — up to ten questions across Perplexity, ChatGPT, Claude, Google’s AI Overview and Bing Copilot — and reports the numbers that actually move work: share of voice across every cited domain, and which domains win the questions where you are absent. That is usually a listicle or a forum thread rather than a competitor’s homepage, and it points at outreach rather than another blog post.

Related tools: the AI crawler access checker for robots.txt alone, website to Markdown to see the text an assistant actually extracts, and the robots.txt tester to try a rule before you publish it.

The demo POST to /v1/scraper/ai-visibility/demo carrying the URL and question, the score and blockers that come back, the few-per-day free limit, and the audit API at $0.0012 per URL.
The URL and your question are all that leave the page; the score, the five axes and the blocker come back and the page itself is discarded — and the same engine, run across a whole sitemap, is $0.0012 a URL.

Questions about AI visibility

What is an AI visibility audit?

It checks whether an AI assistant can read your page and would have anything to quote from it. Five things decide that: whether the AI crawlers are allowed to fetch the URL, whether the text exists in the HTML before JavaScript runs, whether structured data says what the page is, whether the copy is shaped like an answer, and whether the page carries the date, author and sources that make a source quotable. Traditional SEO audits check none of the last three.

How is this different from a normal SEO audit?

A normal SEO audit optimises for a ranked list of links. An assistant does not rank links — it retrieves passages and rewrites them into one answer, then names a few sources. That changes what matters: a page can rank on page one and still never be cited, because its text only appears after JavaScript, or because it never states a question, or because nothing on it can be dated.

Why does content without JavaScript matter so much?

Most AI crawlers fetch HTML and do not run a browser. If your body text is rendered client-side, GPTBot and friends receive an empty shell. The page can look perfect to you and to Googlebot — which does render — and still be blank to the crawler that feeds ChatGPT. The audit fetches your URL as a plain HTTP client and counts the words that actually arrive.

Does it check whether ChatGPT actually cites me?

Type a question and the free audit asks one live answer engine, then reports whether your domain was among the sources it cited, whether your brand was mentioned in the answer text, and which domains were cited. The full audit behind the API runs up to ten questions across Perplexity, ChatGPT, Claude, Google AI Overview and Bing Copilot, and shows share of voice and who wins the questions where you are absent.

Why does the audit fetch my page as GPTBot?

Because robots.txt is not the only gate. Cloudflare blocks AI crawlers by default on new sites, and many WAF rules match on the User-Agent string, so a page can allow GPTBot in robots.txt and still answer it with a 403. We request the page a second time with GPTBot’s documented User-Agent and compare status and word count with the browser request. A 403 from a residential IP is reported as a warning, not a failure: WAFs verify real crawlers by IP, so it may be anti-spoofing — but it is exactly what a user-agent rule looks like, and it is worth checking your bot settings.

What is a Content-Signal?

A line in robots.txt — Content-Signal: search=yes, ai-input=no, ai-train=no — proposed by Cloudflare in 2025 to say what a site allows its content to be used for. ai-train=no refuses model training and costs you no citations. ai-input=no asks engines not to use the page in AI answers at all, which is the opposite of visibility, so the audit treats it as a blocker.

What is nosnippet and why does it break AI citations?

nosnippet (and max-snippet:0) tells engines they may index the page but may not show a single line of it. It is the quietest way to disappear from AI answers: you keep your rankings, you keep your traffic reports, and no assistant can ever quote you. The audit reads it from both the meta robots tag and the X-Robots-Tag response header, because either one is enough.

What is llms.txt?

A young convention: a Markdown file at /llms.txt listing the pages you want assistants to read, one line of context each. It is not a ranking factor and no engine promises to honour it. It is cheap, so the audit flags its absence as a suggestion, never as a failure.

Is the AI visibility audit free?

Yes, with a few audits per day and no account. Each run fetches your page, your robots.txt and your llms.txt through a residential proxy, so you see what an external crawler sees rather than a cached or geo-specific copy.

Audit every page, not just this one

The same engine runs behind one API call, so you can score a whole sitemap and watch the citation panel week over week. Free key, $2 of usage credit every month, and you pay only for calls that return a usable result.

Get a free API key See the audit API