The Census and Check answer a deterministic question — does this file exist, is this bot blocked — the same way every time. Brand Watch answers a non-deterministic one — what does the model actually say — which is why it has to sample instead of ask once.
Every month, Desvela crawls the top 100,000 domains for the files an AI agent can read: ai-catalog.json, llms.txt, agents.md, and the AI-bot directives in robots.txt. Deterministic: a plain GET request, re-run any time, same answer. This is the aggregate state of the web.
The same four checks, applied to one domain — yours. Free, no signup, about ten seconds. It reports what a domain publishes for agents, graded against the census numbers above. Still deterministic: passing it says nothing about what any AI system will say about the domain.
Here the question changes. Instead of checking whether a file exists, Brand Watch asks ChatGPT, Claude, Perplexity and Gemini directly and records what they answer: mentions, position, sources cited, competitors named. Non-deterministic — ask the same question twice and the answer can differ — so every question is sampled N times per engine and reported as a mention rate, not a single snapshot.
The first Brand Watch run establishes a baseline silently — that is the audit. Every later run against the same frozen questions is a watch: it diffs against the baseline and only wakes you up when the answer actually moved.
A brand name is enough. Desvela discovers the category questions, competitors and your domain — and freezes them as a prompt set, so every scheduled run measures the same questions. Pass your own list to override. The first run establishes your baseline — silently, by design.
Each question is asked N times per AI engine, because answers vary between runs. The metric is a mention rate across samples — a single snapshot of a non-deterministic system is noise, and we refuse to sell you noise. Competitive share of voice and owned vs earned citations ride along.
You appear, disappear, shift 25+ points, a new source gets cited or a new competitor enters the answer. Thresholds keep the noise out; a blocked check is never confused with a change. The diff is computed against the same frozen prompt set every time.
An HMAC-signed webhook for your agent, plus the full record in your Apify dataset. The payload carries the before, the after, and the source that changed the engine's mind — so the next move is obvious. Route it on to Slack, email or Zapier through Apify's integrations.
Every check and every change, timestamped. Evidence of what AI said about you, and when. Nothing is lost if a webhook fails — events stay readable in pull mode.
Alerts, not dashboards.
A deterministic check — the census, the check — costs a fraction of a cent. Waking an LLM to re-read a page, re-reason the context and conclude "no change" costs roughly 100× more — every single time. That arbitrage is why the census and Check are free and instant, and why Brand Watch is priced per check instead of per poll.