A surface is a consumer AI search engine. You name one or more surfaces in a search request, and the API captures the answer each one actually shows a user — browser-first, from the live app — then returns it as a canonical Envelope. This page is the capability and pricing overview: what each surface is for, what it costs, and which structured-evidence layers it exposes.

What each surface is for

Eight surfaces are requestable today. Use the exact surfaces enum value in your request body. Every live surface returns evidence.sources; the table also flags where fan-out queries are directly observable and where brand mentions are available through opt-in Auto Extract.
Request
Fan-out column: Observed means the surface reveals its own search sub-queries, so evidence.fanOut.provenance is observed — today only ChatGPT exposes them; None means the surface doesn’t reveal sub-queries, so own-fleet captures report provenance: "none" with an empty queries array; n/a is a results page that is the search. Mentions: set the extract request field to run Auto Extract on any live surface. Without that opt-in, evidence.mentions remains null. Auto Extract is BETA and costs 0 additional credits today.
Send any value not in the enum and the request fails with 400 UNSUPPORTED_SURFACE (the message lists every valid value). The surfaces array must contain at least one value. gemini is a valid enum value but has no live capture path yet — submitting it returns 422 UNSUPPORTED_METHOD_FOR_SURFACE (see Phase 2 below).

Cost per capture

Each successful capture is billed at that surface’s credit rate. Billing is success-only — an empty or failed capture (provenance.surfacePresent: false) costs nothing. This table is generated from the code source of truth: Costs are per child — a search across N surfaces and M regions is N × M captures, each billed at its surface’s rate. See Credits for how debits, headers, and the credits object work.

Structured evidence on every surface

Every surface returns the same structured-extraction layers alongside the answer — at no extra credit cost (this is cloro parity, folded into the base capture price):

Sources

evidence.sources[] — the pages behind the answer, each with a role (cited, retrieved, or related), URL, title, and the charRanges it supports. Present on every surface. answer.blocks[].referenceIds point back at these ids.

Fan-out queries

evidence.fanOut.queries — the sub-queries the surface ran to build its answer, exposed only where the surface itself reveals them (today, ChatGPT). provenance is observed there; own-fleet surfaces report none with an empty queries array.

Brand mentions

evidence.mentions — opt-in Auto Extract derived from the answer text, including position, sentiment, links, and supporting source ids. Set extract to populate it; otherwise it remains null. Auto Extract is BETA and costs 0 additional credits today.
evidence.shopping and evidence.ads are reserved placeholders and are currently always null. See The Envelope for the full evidence shape.

Geo targeting at no extra charge

Every live surface supports country targeting, and supported surfaces add state and city precision — request a capture as it appears in California or San Francisco, not just the US. Geo targeting is included in the surface’s base capture rate: there is no per-region surcharge, unlike cloro, which bills geo targeting as an add-on. See Regional availability for the regions array, the supported shapes, and requested-vs-effective region reporting.

Phase 2 — roadmap

These are interface-stubbed or planned, not requestable today (submitting them returns 422; unknown enum values return 400):
  • Gemini (gemini) — a valid enum value with no v1 capture path yet. Requesting it returns 422 UNSUPPORTED_METHOD_FOR_SURFACE rather than a stand-in that isn’t the real Gemini experience. See Gemini for details.
  • New surfaces — Meta AI, DeepSeek, Amazon Rufus, and Grok. When they land, you request them by adding their value to surfaces — no integration changes, no new response format.

Discover capabilities programmatically

The live capability matrix is queryable — no docs required:
That returns each surface’s id and whether it’s live (requestable), plus a schemaVersion stamp — it does not carry per-capture credit cost. The cost table above is the source of truth for pricing.

The Envelope

The canonical shape — job, provenance, answer, and evidence — every surface returns.

Credits

What each surface costs per capture, and how billing is metered.