curl --request POST \
--url https://api.cloro.dev/v1/monitor/aimode \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "What are the best laptops for programming?",
"country": "US",
"gl": "us",
"hl": "en",
"location": "New York,New York,United States",
"uule": "w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5",
"device": "desktop",
"include": {
"html": false,
"markdown": false
}
}
'import requests
url = "https://api.cloro.dev/v1/monitor/aimode"
payload = {
"prompt": "What are the best laptops for programming?",
"country": "US",
"gl": "us",
"hl": "en",
"location": "New York,New York,United States",
"uule": "w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5",
"device": "desktop",
"include": {
"html": False,
"markdown": False
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: 'What are the best laptops for programming?',
country: 'US',
gl: 'us',
hl: 'en',
location: 'New York,New York,United States',
uule: 'w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5',
device: 'desktop',
include: {html: false, markdown: false}
})
};
fetch('https://api.cloro.dev/v1/monitor/aimode', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cloro.dev/v1/monitor/aimode",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'prompt' => 'What are the best laptops for programming?',
'country' => 'US',
'gl' => 'us',
'hl' => 'en',
'location' => 'New York,New York,United States',
'uule' => 'w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5',
'device' => 'desktop',
'include' => [
'html' => false,
'markdown' => false
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.cloro.dev/v1/monitor/aimode"
payload := strings.NewReader("{\n \"prompt\": \"What are the best laptops for programming?\",\n \"country\": \"US\",\n \"gl\": \"us\",\n \"hl\": \"en\",\n \"location\": \"New York,New York,United States\",\n \"uule\": \"w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5\",\n \"device\": \"desktop\",\n \"include\": {\n \"html\": false,\n \"markdown\": false\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.cloro.dev/v1/monitor/aimode")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"What are the best laptops for programming?\",\n \"country\": \"US\",\n \"gl\": \"us\",\n \"hl\": \"en\",\n \"location\": \"New York,New York,United States\",\n \"uule\": \"w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5\",\n \"device\": \"desktop\",\n \"include\": {\n \"html\": false,\n \"markdown\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cloro.dev/v1/monitor/aimode")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prompt\": \"What are the best laptops for programming?\",\n \"country\": \"US\",\n \"gl\": \"us\",\n \"hl\": \"en\",\n \"location\": \"New York,New York,United States\",\n \"uule\": \"w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5\",\n \"device\": \"desktop\",\n \"include\": {\n \"html\": false,\n \"markdown\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"result": {
"text": "Here are some excellent laptop recommendations for programming...",
"html": "https://cdn.cloro.dev/results/c45a5081-808d-4ed3-9c86-e4baf16c8ab8/page-1.html",
"sources": [
{
"position": 1,
"url": "https://example.com/ai-recommendations",
"label": "AI Source",
"description": "AI-curated laptop recommendations"
}
],
"citationPills": [
{
"label": "Best Laptops 2026 — Reuters",
"citationPillId": 1,
"url": "https://example.com/best-laptops-2026",
"domain": "example.com",
"description": "A guide to the top laptops for software development this year.",
"position": 1
},
{
"label": "MacBook Pro M4 Hands-On Review",
"citationPillId": 1,
"url": "https://example.com/macbook-pro-review",
"domain": "example.com",
"position": 3
}
],
"markdown": "Here are some excellent laptop recommendations for programming...",
"places": [
{
"title": "Gion District",
"index": 0,
"thumbnail": "https://lh5.googleusercontent.com/p/example",
"rating": 4.5,
"reviews": 2900,
"type": "Tourist attraction",
"address": "510 Atlantic Ave, Boston, MA 02210",
"status": "Open now",
"placeId": "/g/1tglgvbk",
"phone": "+16177471000",
"website": "https://www.thedagnyboston.com/",
"link": "https://www.google.com/searchviewer/10?svid=CAwSGxIZCgNwdnESEkNnc3ZaeTh4ZGpGMGJqWTBlURgK",
"priceLevel": "$$"
}
],
"shoppingCards": [
{
"title": "Wireless Headphones",
"price": {
"value": 99.99,
"currency": "$",
"raw": "$99.99"
},
"store": "Amazon",
"rating": 4.2,
"reviews": "2.3k",
"thumbnail": "https://example.com/product.jpg",
"productLink": "https://www.google.com/example",
"productResultToken": "nuzK-QgAV8BqrZdwQJYZopzdoFhpvKr-N2_YDZevwzg",
"productDocid": "3625873292990915110",
"oldPrice": {
"value": 129.99,
"currency": "$",
"raw": "$129.99"
},
"snippet": "Noise-canceling wireless headphones with 30-hour battery life",
"snippetLinks": [
{
"text": "noise canceling",
"link": "https://www.google.com/search?q=noise+canceling",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"position": 1
}
],
"ads": {
"title": "Here are some 3D printers to consider",
"ads": [
{
"title": "Bambu Lab X2D",
"url": "https://www.google.com/aclk?sa=L&ai=abc",
"position": 1,
"price": {
"value": 899,
"currency": "$",
"raw": "$899.00"
},
"store": "Bambu Lab US",
"rating": 4.7,
"reviews": "584",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
]
},
"inlineProducts": [
{
"title": "Sony WH-1000XM5",
"position": 1,
"price": {
"value": 298,
"currency": "$",
"raw": "$298.00"
},
"oldPrice": {
"value": 399.99,
"currency": "$",
"raw": "$399.99"
},
"store": "Amazon",
"rating": 4.6,
"thumbnail": "https://encrypted-tbn0.gstatic.com/images?q=example",
"productLink": "https://www.google.com/shopping/product/example",
"productResultToken": "nuzK-QgAV8BqrZdwQJYZopzdoFhpvKr-N2_YDZevwzg",
"productDocid": "3625873292990915110"
}
],
"videos": [
{
"title": "The BEST 3D Printer for YOU - Don't Buy the Wrong One!",
"link": "https://www.youtube.com/watch?v=g0DZnQdI-xQ",
"platform": "YouTube",
"channel": "3D Print Dood",
"duration": "08:49",
"thumbnail": "https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcS5Bntg3F0Y7P3YgTPgdyillyeCguV_YQJ99KFUmNYxmQtVt1f2",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"map": [
{
"title": "Gion District",
"index": 0,
"placeId": "/g/1tglgvbk",
"link": "https://maps.google.com/?cid=11340480041048787817",
"gpsCoordinates": {
"latitude": 40.7831,
"longitude": -73.9712
},
"thumbnail": "https://lh5.googleusercontent.com/p/example",
"rating": 4.5,
"reviews": 2900,
"type": "Tourist attraction",
"address": "510 Atlantic Ave, Boston, MA 02210",
"status": "Open now",
"phone": "+16177471000",
"website": "https://www.thedagnyboston.com/"
}
]
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Request validation failed",
"details": [
{
"field": "prompt",
"message": "Prompt cannot be empty"
}
],
"timestamp": "2025-01-15T12:00:00.000Z"
}
}{
"success": false,
"error": {
"code": "MISSING_API_KEY",
"message": "Missing or invalid API key",
"timestamp": "2025-01-15T12:00:00.000Z"
}
}{
"success": false,
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "Insufficient credits",
"timestamp": "2025-01-15T12:00:00.000Z"
}
}{
"success": false,
"error": {
"code": "CONCURRENCY_LIMIT_EXCEEDED",
"message": "Concurrency limit exceeded",
"details": {
"limit": 10
},
"timestamp": "2025-01-15T12:00:00.000Z"
}
}{
"success": false,
"error": {
"code": "REQUEST_CANCELED",
"message": "Request was canceled by client",
"timestamp": "2025-01-15T12:00:00.000Z"
}
}{
"success": false,
"error": {
"code": "INTERNAL_SERVER_ERROR",
"message": "Maximum retries exceeded",
"timestamp": "2025-01-15T12:00:00.000Z"
}
}Extract Google AI Mode
Extract structured data from AI Mode about your brand, products, or any topic across various regions
curl --request POST \
--url https://api.cloro.dev/v1/monitor/aimode \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "What are the best laptops for programming?",
"country": "US",
"gl": "us",
"hl": "en",
"location": "New York,New York,United States",
"uule": "w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5",
"device": "desktop",
"include": {
"html": false,
"markdown": false
}
}
'import requests
url = "https://api.cloro.dev/v1/monitor/aimode"
payload = {
"prompt": "What are the best laptops for programming?",
"country": "US",
"gl": "us",
"hl": "en",
"location": "New York,New York,United States",
"uule": "w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5",
"device": "desktop",
"include": {
"html": False,
"markdown": False
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: 'What are the best laptops for programming?',
country: 'US',
gl: 'us',
hl: 'en',
location: 'New York,New York,United States',
uule: 'w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5',
device: 'desktop',
include: {html: false, markdown: false}
})
};
fetch('https://api.cloro.dev/v1/monitor/aimode', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cloro.dev/v1/monitor/aimode",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'prompt' => 'What are the best laptops for programming?',
'country' => 'US',
'gl' => 'us',
'hl' => 'en',
'location' => 'New York,New York,United States',
'uule' => 'w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5',
'device' => 'desktop',
'include' => [
'html' => false,
'markdown' => false
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.cloro.dev/v1/monitor/aimode"
payload := strings.NewReader("{\n \"prompt\": \"What are the best laptops for programming?\",\n \"country\": \"US\",\n \"gl\": \"us\",\n \"hl\": \"en\",\n \"location\": \"New York,New York,United States\",\n \"uule\": \"w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5\",\n \"device\": \"desktop\",\n \"include\": {\n \"html\": false,\n \"markdown\": false\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.cloro.dev/v1/monitor/aimode")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"What are the best laptops for programming?\",\n \"country\": \"US\",\n \"gl\": \"us\",\n \"hl\": \"en\",\n \"location\": \"New York,New York,United States\",\n \"uule\": \"w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5\",\n \"device\": \"desktop\",\n \"include\": {\n \"html\": false,\n \"markdown\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cloro.dev/v1/monitor/aimode")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prompt\": \"What are the best laptops for programming?\",\n \"country\": \"US\",\n \"gl\": \"us\",\n \"hl\": \"en\",\n \"location\": \"New York,New York,United States\",\n \"uule\": \"w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5\",\n \"device\": \"desktop\",\n \"include\": {\n \"html\": false,\n \"markdown\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"result": {
"text": "Here are some excellent laptop recommendations for programming...",
"html": "https://cdn.cloro.dev/results/c45a5081-808d-4ed3-9c86-e4baf16c8ab8/page-1.html",
"sources": [
{
"position": 1,
"url": "https://example.com/ai-recommendations",
"label": "AI Source",
"description": "AI-curated laptop recommendations"
}
],
"citationPills": [
{
"label": "Best Laptops 2026 — Reuters",
"citationPillId": 1,
"url": "https://example.com/best-laptops-2026",
"domain": "example.com",
"description": "A guide to the top laptops for software development this year.",
"position": 1
},
{
"label": "MacBook Pro M4 Hands-On Review",
"citationPillId": 1,
"url": "https://example.com/macbook-pro-review",
"domain": "example.com",
"position": 3
}
],
"markdown": "Here are some excellent laptop recommendations for programming...",
"places": [
{
"title": "Gion District",
"index": 0,
"thumbnail": "https://lh5.googleusercontent.com/p/example",
"rating": 4.5,
"reviews": 2900,
"type": "Tourist attraction",
"address": "510 Atlantic Ave, Boston, MA 02210",
"status": "Open now",
"placeId": "/g/1tglgvbk",
"phone": "+16177471000",
"website": "https://www.thedagnyboston.com/",
"link": "https://www.google.com/searchviewer/10?svid=CAwSGxIZCgNwdnESEkNnc3ZaeTh4ZGpGMGJqWTBlURgK",
"priceLevel": "$$"
}
],
"shoppingCards": [
{
"title": "Wireless Headphones",
"price": {
"value": 99.99,
"currency": "$",
"raw": "$99.99"
},
"store": "Amazon",
"rating": 4.2,
"reviews": "2.3k",
"thumbnail": "https://example.com/product.jpg",
"productLink": "https://www.google.com/example",
"productResultToken": "nuzK-QgAV8BqrZdwQJYZopzdoFhpvKr-N2_YDZevwzg",
"productDocid": "3625873292990915110",
"oldPrice": {
"value": 129.99,
"currency": "$",
"raw": "$129.99"
},
"snippet": "Noise-canceling wireless headphones with 30-hour battery life",
"snippetLinks": [
{
"text": "noise canceling",
"link": "https://www.google.com/search?q=noise+canceling",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"position": 1
}
],
"ads": {
"title": "Here are some 3D printers to consider",
"ads": [
{
"title": "Bambu Lab X2D",
"url": "https://www.google.com/aclk?sa=L&ai=abc",
"position": 1,
"price": {
"value": 899,
"currency": "$",
"raw": "$899.00"
},
"store": "Bambu Lab US",
"rating": 4.7,
"reviews": "584",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
]
},
"inlineProducts": [
{
"title": "Sony WH-1000XM5",
"position": 1,
"price": {
"value": 298,
"currency": "$",
"raw": "$298.00"
},
"oldPrice": {
"value": 399.99,
"currency": "$",
"raw": "$399.99"
},
"store": "Amazon",
"rating": 4.6,
"thumbnail": "https://encrypted-tbn0.gstatic.com/images?q=example",
"productLink": "https://www.google.com/shopping/product/example",
"productResultToken": "nuzK-QgAV8BqrZdwQJYZopzdoFhpvKr-N2_YDZevwzg",
"productDocid": "3625873292990915110"
}
],
"videos": [
{
"title": "The BEST 3D Printer for YOU - Don't Buy the Wrong One!",
"link": "https://www.youtube.com/watch?v=g0DZnQdI-xQ",
"platform": "YouTube",
"channel": "3D Print Dood",
"duration": "08:49",
"thumbnail": "https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcS5Bntg3F0Y7P3YgTPgdyillyeCguV_YQJ99KFUmNYxmQtVt1f2",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"map": [
{
"title": "Gion District",
"index": 0,
"placeId": "/g/1tglgvbk",
"link": "https://maps.google.com/?cid=11340480041048787817",
"gpsCoordinates": {
"latitude": 40.7831,
"longitude": -73.9712
},
"thumbnail": "https://lh5.googleusercontent.com/p/example",
"rating": 4.5,
"reviews": 2900,
"type": "Tourist attraction",
"address": "510 Atlantic Ave, Boston, MA 02210",
"status": "Open now",
"phone": "+16177471000",
"website": "https://www.thedagnyboston.com/"
}
]
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Request validation failed",
"details": [
{
"field": "prompt",
"message": "Prompt cannot be empty"
}
],
"timestamp": "2025-01-15T12:00:00.000Z"
}
}{
"success": false,
"error": {
"code": "MISSING_API_KEY",
"message": "Missing or invalid API key",
"timestamp": "2025-01-15T12:00:00.000Z"
}
}{
"success": false,
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "Insufficient credits",
"timestamp": "2025-01-15T12:00:00.000Z"
}
}{
"success": false,
"error": {
"code": "CONCURRENCY_LIMIT_EXCEEDED",
"message": "Concurrency limit exceeded",
"details": {
"limit": 10
},
"timestamp": "2025-01-15T12:00:00.000Z"
}
}{
"success": false,
"error": {
"code": "REQUEST_CANCELED",
"message": "Request was canceled by client",
"timestamp": "2025-01-15T12:00:00.000Z"
}
}{
"success": false,
"error": {
"code": "INTERNAL_SERVER_ERROR",
"message": "Maximum retries exceeded",
"timestamp": "2025-01-15T12:00:00.000Z"
}
}productResultToken that gets their merchant offers.
Request parameters
prompt and one of country or gl are required; there is no default country. Every other field is optional and listed in the request body schema below.
Response schema
Includes common response fields plus the sections below. The generated response schema on this page lists every field, includingtext and markdown.
| Section | Field | Description |
|---|---|---|
| Sources | result.sources | Source citations referenced in the response |
| Citation pills | result.citationPills | Inline citation chips, one entry per cited source (when present) |
| Places | result.places | Inline place cards when location intent is detected |
| Shopping cards | result.shoppingCards | Product carousel when shopping intent is detected |
| Ads | result.ads | Sponsored ad section when commercial intent is detected: an object wrapping a title and an ads array |
| Inline products | result.inlineProducts | Individual product references embedded in the response text |
| Videos | result.videos | Inline video cards (currently YouTube) embedded in the response |
| Map | result.map | GPS-enriched location data when map-aware results are surfaced |
| Product results | productResultToken | Token on each shopping card and inline product. A separate request returns the merchant offers behind it: direct URL, price, installments, stock, delivery, returns |
| Redirect links | redirectLink | Google’s /goto redirect, returned beside any link Google served as one |
Usage examples
Overriding the interface language
hl is independent of the country, so a German-language answer from a US-targeted request is one field:
{
"prompt": "beste laptops für programmierer",
"country": "US",
"hl": "de"
}
hl, cloro derives the language from the country — which picks one dominant language for multilingual countries such as CH, BE, and CA.
City-level geo-targeting
Pairlocation with country to target a city or region. It accepts Google canonical location names.
{
"prompt": "best restaurants nearby",
"country": "US",
"location": "New York,New York,United States"
}
UULE geo-targeting
When you generate your own UULE values, passuule instead of location — the two are mutually exclusive:
{
"prompt": "best restaurants nearby",
"country": "US",
"uule": "w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5"
}
Authorizations
cloro API key as a bearer token. One key grants every endpoint in this spec; per-key scopes are not available, so a client cannot request a narrower permission. Keys are created and revoked in the dashboard.
Body
Request parameters for monitoring AI Mode responses
- Option 1
- Option 2
Country/region code for localized response, using ISO 3166-1 alpha-2 country codes.
AD, AE, AF, AG, AI, AL, AM, AO, AQ, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BS, BT, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CR, CU, CV, CW, CX, CY, CZ, DE, DJ, DK, DM, DO, DZ, EC, EE, EG, EH, ER, ES, ET, FI, FJ, FK, FM, FO, FR, GA, GB, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HM, HN, HR, HT, HU, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, SS, ST, SV, SX, SY, SZ, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TR, TT, TV, TW, TZ, UA, UG, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, XK, YE, YT, ZA, ZM, ZW "US"
Alternative to country, using Google's own parameter name for the result geography. Same ISO 3166-1 alpha-2 codes, accepted in either case (us or US), and must be a country the endpoint supports — see GET /v1/countries. Provide country or gl; sending both with different values is a 400.
"us"
Google canonical location name for geo-targeted results, in comma-separated format: 'City,Region,Country' (see https://developers.google.com/google-ads/api/reference/data/geotargets for all ~100,000 supported locations). Use alongside 'country' for city-level precision. Mutually exclusive with 'uule' — provide one or the other, not both. When both location and uule are omitted, cloro pins results to the country's canonical location (e.g. Portugal for PT) where it has one; otherwise Google geolocates from the proxy's exit IP.
"New York,New York,United States"
Was this page helpful?