There are two ways to ask an AI product a question, and they return different answers.
The first is to call the model's API — OpenAI Responses, Anthropic's Messages endpoint, Perplexity Sonar. You send a prompt, you get generated text. It's fast, it's cheap, and it is not what your customers see.
The second is to open the actual consumer product — ChatGPT, Perplexity, Gemini, Copilot, Google's AI Overview — the way a logged-in human does, and read what it renders. That is the surface your buyers, your competitors, and your brand-safety team actually look at.
If you are doing AI-SEO, GEO, or share-of-voice work, the difference between those two answers is not a rounding error. It is the entire measurement.
The API is a different product than the surface
A consumer AI product is not a thin wrapper around a model. It runs its own retrieval, its own ranking, its own ads and shopping logic, its own citation UI, and its own personalization — all on top of a model, and often on top of a different model configuration than the public API exposes.
So when you ask "does ChatGPT recommend my product?" the model API cannot answer it. The model API doesn't run the same web retrieval, doesn't render the same sources, doesn't show the shopping cards, and doesn't know the user's region. You'd be measuring a surrogate and reporting it as the real thing.
We call that surrogate what it is. When a capture runs through a model API, its Envelope is stamped fidelity: "api_surrogate" and provenance.official: true. When it runs through a real browser session, it's fidelity: "consumer_ui". You always know which one you're holding.
Browser-first, by default
The AI Search API is browser-first. By default (method: "auto"), a capture runs through a real stealth-browser session on our own fleet — a Patchright-driven Bright Data Scraping Browser plus an authenticated account pool — and returns consumer_ui fidelity: the same answer and evidence a logged-in human would see.
The model API is still available. You just have to ask for it — pin method: "official-api" or fidelity: "api_surrogate". auto will never silently fall back to it for ChatGPT or Perplexity, because a silent downgrade from "what the surface showed" to "what the model generated" is exactly the kind of quiet dishonesty that makes AI-monitoring tools untrustworthy.
There is one honest exception, and we label it everywhere: Claude. Its authenticated-browser lane needs a signed-in session and the account pool for it isn't provisioned yet, so Claude's auto resolves to the official Anthropic API (via the OpenRouter gateway) today. The browser lane is on the roadmap. We'd rather tell you that than ship a lane that isn't real.
The login wall is the wedge
Here's the structural reason browser-first matters beyond fidelity: the most valuable AI surfaces sit behind a login, and anonymous proxy scraping structurally cannot reach them.
Because we carry an authenticated account pool through the geo proxy, our fleet can sign in and capture surfaces that anonymous-only tools simply cannot. That lane is live today for ChatGPT and Perplexity. The authenticated-browser lanes for Claude, Meta AI, DeepSeek, Amazon Rufus, and Grok are phase-2 — and, again, labeled as phase-2 rather than dressed up as live.
An anonymous-only competitor doesn't cover those surfaces "less well." It cannot cover them at all.
Evidence you can prove, not just read
Capturing the real surface is only half of evidence-grade. The other half is keeping the proof.
Every capture keeps three durable artifacts in R2 — the raw upstream payload, a screenshot of the rendered surface, and the proof-of-page HTML the browser actually rendered, from which the answer and evidence were extracted. They do not expire at 24 hours. Six months from now you can still show, byte for byte, what a given AI surface told users on a given day in a given region.
And when the surface returns nothing, we say so. provenance.surfacePresent: false, a surface_absent warning, a terminal completed status — and the screenshot is still captured, so the absence itself is provable. We report absence; we never fabricate an answer to fill the gap.
Why this is the right default for AI-SEO
If your job is to track how AI describes a brand, which sources it cites, who wins the shopping card, and how that shifts by market and over time — you need the surface, not the surrogate. You need it from a real logged-in session, kept as durable proof, with honest provenance on every field.
That is what browser-first buys you, and it is why it's the default rather than a premium add-on. The API surrogate is still one pin away when you want it. But the thing your customers see is the thing we capture first.
→ Start with the Overview and the methods-and-fidelity guide.