Skip to main content
GET
List of countries
Returns the ISO 3166-1 alpha-2 country codes supported by the monitoring API, optionally filtered to one AI provider.

Request parameters

Available model values:
  • aimode
  • aioverview
  • chatgpt
  • copilot
  • gemini
  • google
  • perplexity

Example usage

Basic request

Filter by model

Caching

The country list rarely changes, so fetch it when your application starts and cache it for 24 hours or more. Use the cached model-filtered list to populate your country picker and to validate input before a monitor request goes out, and keep a fallback in case the endpoint is briefly unavailable.

Common questions

Which countries are supported?

cloro supports country-level targeting for nearly all countries. See the request examples above for how to query all countries or filter by specific provider.

How do I target multiple countries or run a “global” query?

country takes a single ISO 3166-1 alpha-2 code. There is no wildcard, “global”, or multi-country value. To cover several markets, send one request per country and merge the results client-side — use async tasks or batch tasks to fan out.

Can I target specific cities or states?

US state-level targeting is available on ChatGPT, Copilot, Perplexity, Gemini, and Grok via the state parameter. Use the States endpoint to get the full list of supported codes. The Google Search and AI Mode endpoints support city-level geo-targeting via the location parameter, which accepts Google canonical location names. Google Search covers AI Overview too, since AI Overview is requested through it with include.aioverview. What’s supported:
  • ✅ Country-level targeting using ISO 3166-1 alpha-2 codes (e.g., US, GB, JP) on all endpoints
  • ✅ State-level targeting via state parameter (e.g., CA, NY, TX) on ChatGPT, Copilot, Perplexity, Gemini, and Grok (US only for now)
  • ✅ City-level targeting via location parameter (e.g., New York,New York,United States) on Google Search (including AI Overview) and AI Mode
What’s not supported:
  • ❌ City-level targeting on Google News — it accepts country only, not location / uule
  • ❌ State-level targeting on Google Search or AI Mode (use location / uule instead)
  • ❌ State-level targeting outside the US
  • ❌ Metro/region targeting
  • ❌ Zip/postal code targeting
  • ❌ Latitude/longitude coordinates

Why are my geo-targeted requests returning unexpected results?

  • Invalid country codes: use ISO 3166-1 alpha-2 codes (two-letter format).
  • Non-canonical location strings: location is not validated against Google’s geotargets list. A string that isn’t a canonical name is accepted and encoded as-is rather than rejected, and Google falls back to broader targeting — typically country level. You get a 200 with country-level results, not an error, so verify the exact canonical name (City,Region,Country) before assuming city targeting applied.
  • Provider limitations: coverage varies by provider and region.
  • Prompt language mismatch: English prompts in non-English countries may affect result quality.

How does geo-targeting work?

The country parameter routes your request through servers in or near the target region. What geo-targeting affects:
  • Search results and web sources
  • Local business information
  • Regional product availability (shopping cards)
  • Language and cultural context
  • Time zones and date formats
What geo-targeting doesn’t affect:
  • API pricing (same cost regardless of country)
  • Response format or structure
  • Available features or endpoints

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

model
enum<string>

Filter countries available for a specific model

Available options:
aimode,
aioverview,
chatgpt,
copilot,
gemini,
google,
grok,
perplexity

Response

List of supported country codes

Example: