Coverage and limits
Engines
The API serves ChatGPT, Perplexity, Gemini, Grok, Google AI Mode, Google Search, and Google News. Microsoft Copilot is listed in the catalog but currently returns an error on submission; it is not billed.
Engine status is public at status.answerline.dev and on thestatus page.
Countries
country takes an ISO 3166-1 alpha-2 code. GET /v1/countries?model=<engine> returns the list an engine serves — all 250 codes today. Where an engine cannot answer from a country, that country is absent from its list and a request for it fails instead of answering from somewhere else.
US states
state narrows a request to one US state and is only valid with country: "US" on the chat engines — ChatGPT, Perplexity, Gemini, Copilot and Grok. GET /v1/states?country=US lists the codes. The District of Columbia (DC) is not available: a request naming it fails STATE_UNAVAILABLE.
State targeting is best-effort: it steers the market the answer is taken from, not a coordinate — engines localize by signals beyond the address, and an exit's own geolocation can be off by a state line.
Targeting fields per engine
| Field | Values | Engines | Notes |
|---|---|---|---|
country | ISO 3166-1 alpha-2 | Every engine | Required on most endpoints. |
state | Two-letter code, e.g. CA | ChatGPT, Perplexity, Gemini, Copilot, Grok | Only valid with country "US". |
gl | ISO 3166-1 alpha-2, e.g. us | Google Search, Google News, AI Mode | Google's name for country — an alias, not a second geography; sending both with different values is a 400. |
location | Free-form place, e.g. Austin,Texas,United States | Google Search, AI Mode | City-level targeting. |
uule | Pre-encoded UULE string | Google Search, AI Mode | A pre-built UULE instead of a location name; mutually exclusive with location. |
hl | Interface language, e.g. fr | Google Search, Google News, AI Mode | The UI language the answer is taken in. |
Google News takes country (or gl) and hl only — no state or location, and noinclude.html snapshot (the feed has no rendered page to capture; a request asking for one is refused).
When a request cannot be placed
A request that names a geography the engine cannot serve fails with STATE_UNAVAILABLE (or validation400 for a field the engine does not take) and is charged nothing — never an answer from a different market. Retries do not help: pick a listed country or drop the state.