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 — from a real browser, the live app — then returns it as a canonical Envelope.

Available surfaces

Seven surfaces are available today. Use the exact surfaces enum value in your request body.
SurfaceProvidersurfaces value
ChatGPTOpenAIchatgpt
ClaudeAnthropicclaude
PerplexityPerplexityperplexity
GeminiGooglegemini
CopilotMicrosoftcopilot
Google AI OverviewGooglegoogle_ai_overview
Google AI ModeGooglegoogle_ai_mode
Request
{
  "query": "best crm for startups",
  "surfaces": ["chatgpt", "perplexity", "google_ai_overview"]
}
Send any value not in this enum and the request fails with 400 UNSUPPORTED_SURFACE. The surfaces array must contain at least one valid value.

One child per surface × region

A single search fans out into one child job for every surface × region combination. Each child is captured independently and produces its own Envelope. For example, this request creates six children:
Request
{
  "query": "best crm for startups",
  "surfaces": ["chatgpt", "perplexity", "gemini"],
  "regions": [{ "country": "US" }, { "country": "GB" }]
}
3 surfaces × 2 regions = 6 children. The parent job (job_8t2q) tracks them all; each child has a dotted id like job_8t2q.chatgpt.us. Read a child’s Envelope with GET /v1/jobs/:childId, or receive it via webhook as each child reaches a terminal state.
Accounting is per child. A search across N surfaces and M regions counts as N × M jobs, and each successful capture is billed at that surface’s credit rate. An empty or failed capture costs nothing.
Not every surface will always return content. When a surface has nothing to show, its child still completes — with provenance.surfacePresent: false, a surface_absent warning, and an empty answer. See The Envelope.

Roadmap

More surfaces are coming to the same Envelope shape: 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.

The Envelope

The canonical shape every surface returns.

Credits

What each surface costs per capture.