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 page, 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 is served by a model API, its Envelope says so: provenance.official: true, with the provider's model label. When it comes from a real browser session, official is false and the provenance describes the live page it was read from. You always know which one you're holding.
Browser-first, by default
The AI Search API is browser-first. A capture runs through a real stealth-browser session on our own fleet and returns the same answer a person would see on the live page, in text and rendered markdown.
There is no lane to micromanage: method is always "auto", and for ChatGPT and Perplexity auto never silently swaps the browser capture for a model API. 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.
Our fleet is built to carry authenticated sessions through the geo proxy. That is how a login-walled surface gets captured at all, and it's a capability anonymous-only tools structurally cannot bolt on. The browser lane is live today for ChatGPT and Perplexity. The authenticated-browser lanes (Claude, Meta AI, DeepSeek, Amazon Rufus, Grok) are phase-2, and 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.
Why this is the right default for AI-SEO
If your job is to track how AI describes a brand, what it recommends, and how that shifts by market and over time, you need the surface, not the surrogate. You need the real answer from a real session, with honest provenance on every field, not a generated stand-in reported as if it were the same thing.
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 types-of-requests guide.