curl --request POST \
--url https://api.cloro.dev/v1/monitor/google \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "best laptops for programming",
"country": "US",
"location": "New York,New York,United States",
"uule": "w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5",
"device": "desktop",
"pages": 3,
"include": {
"html": false
}
}
'import requests
url = "https://api.cloro.dev/v1/monitor/google"
payload = {
"query": "best laptops for programming",
"country": "US",
"location": "New York,New York,United States",
"uule": "w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5",
"device": "desktop",
"pages": 3,
"include": { "html": 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({
query: 'best laptops for programming',
country: 'US',
location: 'New York,New York,United States',
uule: 'w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5',
device: 'desktop',
pages: 3,
include: {html: false}
})
};
fetch('https://api.cloro.dev/v1/monitor/google', 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/google",
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([
'query' => 'best laptops for programming',
'country' => 'US',
'location' => 'New York,New York,United States',
'uule' => 'w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5',
'device' => 'desktop',
'pages' => 3,
'include' => [
'html' => 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/google"
payload := strings.NewReader("{\n \"query\": \"best laptops for programming\",\n \"country\": \"US\",\n \"location\": \"New York,New York,United States\",\n \"uule\": \"w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5\",\n \"device\": \"desktop\",\n \"pages\": 3,\n \"include\": {\n \"html\": 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/google")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"best laptops for programming\",\n \"country\": \"US\",\n \"location\": \"New York,New York,United States\",\n \"uule\": \"w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5\",\n \"device\": \"desktop\",\n \"pages\": 3,\n \"include\": {\n \"html\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cloro.dev/v1/monitor/google")
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 \"query\": \"best laptops for programming\",\n \"country\": \"US\",\n \"location\": \"New York,New York,United States\",\n \"uule\": \"w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5\",\n \"device\": \"desktop\",\n \"pages\": 3,\n \"include\": {\n \"html\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"result": {
"organicResults": [
{
"position": 1,
"title": "Best Laptops for Programming in 2024",
"link": "https://example.com/best-programming-laptops",
"displayedLink": "https://example.com",
"snippet": "Looking for the best programming laptops? We've tested and reviewed the top options...",
"date": "2 days ago",
"page": 1,
"sitelinks": {
"inline": [
{
"title": "Specifications",
"link": "https://example.com/specs"
}
]
}
}
],
"peopleAlsoAsk": [
{
"question": "What specs should I look for in a programming laptop?",
"snippet": "Key specifications include RAM, processor, storage, and display quality...",
"title": "Essential laptop specs for developers",
"link": "https://example.com/laptop-specs",
"markdown": "<string>",
"sources": [
{
"label": "Programming Laptop Guide",
"url": "https://example.com/guide",
"description": "<string>",
"position": 123
}
]
}
],
"peopleAreSaying": [
{
"position": 1,
"title": "Best running shoes 2026 - what runners are saying",
"link": "https://www.reddit.com/r/running/comments/example/",
"date": "5 days ago"
}
],
"localResults": [
{
"position": 1,
"title": "Joe's Pizza Broadway",
"placeId": "/g/11bw4ws2mt",
"rating": 4.4,
"reviews": "26K",
"price": "$10–20",
"type": "Pizza",
"yearsInBusiness": "80+ years in business",
"address": "1435 Broadway",
"phone": "(212) 555-0100",
"hours": "Open · Closes 11 PM",
"description": "\"Fast service, great atmosphere, and truly scrumptious pizza.\"",
"links": {
"website": "https://villageplumbing.com/",
"directions": "https://www.google.com/maps/dir//Village+Plumbing,+Air+%26+Electric"
}
}
],
"localResultsMoreLink": "https://www.google.com/search?q=italian+restaurants+in+toronto&udm=1",
"relatedSearches": [
{
"query": "best budget laptop for coding",
"link": "https://google.com/search?q=best+budget+laptop+for+coding"
}
],
"ads": [
{
"position": 1,
"blockPosition": "top",
"type": "RESULT",
"title": "Best Programming Laptops - Shop Now",
"url": "https://example.com/programming-laptops",
"page": 1,
"displayedUrl": "example.com/laptops",
"domain": "example.com",
"description": "Shop our selection of programming laptops with fast shipping.",
"category": "Sponsored products",
"price": {
"value": 1199,
"currency": "$",
"raw": "$1,199"
},
"oldPrice": {
"value": 1299,
"currency": "$",
"raw": "$1,299"
},
"store": "Apple",
"imageUrl": "https://encrypted-tbn0.gstatic.com/images?q=tbn:...",
"sitelinks": [
{
"url": "https://example.com/gaming-laptops",
"title": "Gaming Laptops",
"description": "High-performance laptops for gaming"
}
]
}
],
"aioverview": {
"sources": [
{
"position": 1,
"url": "https://example.com/programming-laptops",
"label": "Best Programming Laptops 2026",
"description": "Comprehensive guide to choosing the perfect laptop for software development"
}
],
"citationPills": [
{
"label": "Chase Personal Credit Cards",
"citationPillId": 1,
"url": "https://www.chase.com/personal/credit-cards",
"domain": "chase.com",
"description": "Personal credit cards from Chase.",
"position": 2
},
{
"label": "JustAnswer Computer Help",
"citationPillId": 1,
"url": "https://www.justanswer.com/computer/help",
"domain": "justanswer.com",
"position": 4
}
],
"relatedLinks": [
{
"label": "Compare developer laptops",
"citationPillId": 1,
"url": "https://www.google.com/search?q=developer+laptops&ibp=oshop",
"domain": "google.com"
}
],
"text": "Based on current information, the best laptops for programming typically include models from Apple MacBook Pro, Dell XPS, and Lenovo ThinkPad series...",
"markdown": "Based on current information, the best laptops for programming typically include models from Apple MacBook Pro, Dell XPS, and Lenovo ThinkPad series...",
"videos": [
{
"url": "https://www.youtube.com/watch?v=example",
"title": "Best Laptops for Programming 2024",
"thumbnail": "https://example.com/thumbnail.jpg",
"source": "Tech Channel",
"platform": "YouTube",
"date": "2 days ago",
"duration": "12:34"
}
],
"ads": [
{
"position": 1,
"title": "QA Software Testing Services - On-Demand Software Testing",
"url": "https://www.testlio.com",
"type": "TEXT",
"domain": "Testlio",
"description": "Dynamic staffing. Global coverage. Managed manual testing and test automation solutions.",
"price": {
"value": 69.99,
"currency": "$",
"raw": "$69.99"
},
"old_price": {
"value": 99.99,
"currency": "$",
"raw": "$99.99"
},
"store": "Best Buy",
"image": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ..."
}
]
},
"shoppingCards": [
{
"title": "ASICS Women's Gel-Nimbus 28",
"productLink": "",
"position": 1,
"category": "More products",
"price": {
"value": 169.99,
"currency": "$",
"raw": "$169.99"
},
"oldPrice": {
"value": 199.99,
"currency": "$",
"raw": "$199.99"
},
"store": "DICK'S Sporting Goods",
"rating": 4.5,
"reviews": "384",
"thumbnail": "https://example.com/product.jpg"
}
],
"knowledgeGraph": {
"title": "Eminem",
"type": "American rapper",
"kgmid": "/m/01vs_v8",
"description": "Marshall Bruce Mathers III, known professionally as Eminem, is an American rapper, songwriter, and record producer.",
"imageUrl": "https://encrypted-tbn0.gstatic.com/images?q=tbn:...",
"website": "https://www.eminem.com",
"menu": "https://www.restaurant.com/menu",
"trailer": "https://www.youtube.com/watch?v=example",
"source": {
"name": "Wikipedia",
"link": "https://en.wikipedia.org/wiki/Eminem"
},
"attributes": [
{
"key": "Born",
"value": "October 17, 1972"
}
],
"profiles": [
{
"name": "Instagram",
"link": "https://www.instagram.com/eminem/"
}
],
"peopleAlsoSearchFor": [
{
"name": "Jay-Z",
"link": "https://www.google.com/search?q=Jay-Z"
}
],
"thingsToKnow": [
{
"label": "Albums",
"subtitle": "The Slim Shady LP, The Marshall Mathers LP, ..."
}
],
"ratings": [
{
"platform": "Rotten Tomatoes",
"rating": "88%",
"link": "https://www.rottentomatoes.com/m/8_mile"
}
],
"streamingOptions": [
{
"platform": "Netflix",
"link": "https://www.netflix.com/title/example"
}
],
"webRatings": [
{
"platform": "Google",
"rating": "4.5",
"link": "https://www.google.com/maps/place/...",
"votes": "1,234"
}
],
"statsCard": {
"context": "2023-24 NBA season",
"stats": [
{
"label": "Points per game",
"value": "27.1"
}
]
},
"socialPosts": [
{
"platform": "X",
"text": "New album dropping Friday 🔥",
"link": "https://x.com/eminem/status/...",
"date": "2 days ago"
}
],
"notableAlumni": [
{
"name": "Barack Obama",
"link": "https://www.google.com/search?q=Barack+Obama"
}
],
"contact": [
{
"label": "Order online",
"url": "https://www.restaurant.com/order"
}
],
"weather": {
"temperature": "72°F",
"condition": "Sunny"
},
"rating": {
"rating": "4.5",
"count": "2,847"
},
"admission": [
{
"provider": "Official website",
"price": "$17",
"link": "https://www.louvre.fr/en/tickets",
"badge": "Best price"
}
],
"artworks": [
{
"title": "Mona Lisa",
"link": "https://www.google.com/search?q=Mona+Lisa",
"author": "Leonardo da Vinci"
}
],
"has3dModel": true,
"hotelOptions": [
{
"provider": "Booking.com",
"price": "$189/night",
"link": "https://www.booking.com/hotel/...",
"note": "Includes breakfast"
}
],
"trendingProducts": [
{
"title": "Air Max 90",
"price": "$120",
"link": "https://www.nike.com/t/air-max-90"
}
],
"merchantVideos": [
{
"title": "Foot Locker Week of Greatness",
"link": "https://www.youtube.com/watch?v=...",
"platform": "YouTube",
"duration": "2:34"
}
],
"listenOn": [
{
"platform": "Spotify",
"link": "https://open.spotify.com/artist/..."
}
]
},
"html": [
"https://storage.cloro.dev/results/b83e8dfd-c3a1-4b98-83b9-af91adc21e26/page-1.html"
]
}
}{
"success": false,
"error": "Request validation failed",
"details": [
{
"field": "prompt",
"message": "Prompt cannot be empty"
}
]
}{
"error": {
"code": "MISSING_API_KEY",
"message": "Missing or invalid API key",
"timestamp": "2025-01-15T12:00:00.000Z"
}
}{
"error": {
"code": "INSUFFICIENT_PERMISSIONS",
"message": "Insufficient permissions",
"details": {
"requiredScopes": [
"read:monitor",
"write:monitor"
]
},
"timestamp": "2025-01-15T12:00:00.000Z"
}
}{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Route not found",
"details": {
"id": "/v1/invalid-endpoint"
},
"timestamp": "2025-01-15T12:00:00.000Z"
}
}{
"error": {
"code": "RESOURCE_CONFLICT",
"message": "Resource conflict",
"timestamp": "2025-01-15T12:00:00.000Z"
}
}{
"error": {
"code": "CONCURRENT_LIMIT_EXCEEDED",
"message": "Concurrent limit exceeded",
"details": {
"limit": 10
},
"timestamp": "2025-01-15T12:00:00.000Z"
}
}{
"success": false,
"error": "Request was canceled"
}{
"success": false,
"error": "Maximum retries exceeded"
}{
"error": {
"code": "EXTERNAL_SERVICE_ERROR",
"message": "External service error: OpenAI",
"details": {
"service": "OpenAI"
},
"timestamp": "2025-01-15T12:00:00.000Z"
}
}Extract Google Search
Extract structured data from Google Search including organic results, People Also Ask, related searches, and optional AI Overview
curl --request POST \
--url https://api.cloro.dev/v1/monitor/google \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "best laptops for programming",
"country": "US",
"location": "New York,New York,United States",
"uule": "w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5",
"device": "desktop",
"pages": 3,
"include": {
"html": false
}
}
'import requests
url = "https://api.cloro.dev/v1/monitor/google"
payload = {
"query": "best laptops for programming",
"country": "US",
"location": "New York,New York,United States",
"uule": "w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5",
"device": "desktop",
"pages": 3,
"include": { "html": 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({
query: 'best laptops for programming',
country: 'US',
location: 'New York,New York,United States',
uule: 'w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5',
device: 'desktop',
pages: 3,
include: {html: false}
})
};
fetch('https://api.cloro.dev/v1/monitor/google', 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/google",
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([
'query' => 'best laptops for programming',
'country' => 'US',
'location' => 'New York,New York,United States',
'uule' => 'w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5',
'device' => 'desktop',
'pages' => 3,
'include' => [
'html' => 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/google"
payload := strings.NewReader("{\n \"query\": \"best laptops for programming\",\n \"country\": \"US\",\n \"location\": \"New York,New York,United States\",\n \"uule\": \"w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5\",\n \"device\": \"desktop\",\n \"pages\": 3,\n \"include\": {\n \"html\": 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/google")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"best laptops for programming\",\n \"country\": \"US\",\n \"location\": \"New York,New York,United States\",\n \"uule\": \"w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5\",\n \"device\": \"desktop\",\n \"pages\": 3,\n \"include\": {\n \"html\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cloro.dev/v1/monitor/google")
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 \"query\": \"best laptops for programming\",\n \"country\": \"US\",\n \"location\": \"New York,New York,United States\",\n \"uule\": \"w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5\",\n \"device\": \"desktop\",\n \"pages\": 3,\n \"include\": {\n \"html\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"result": {
"organicResults": [
{
"position": 1,
"title": "Best Laptops for Programming in 2024",
"link": "https://example.com/best-programming-laptops",
"displayedLink": "https://example.com",
"snippet": "Looking for the best programming laptops? We've tested and reviewed the top options...",
"date": "2 days ago",
"page": 1,
"sitelinks": {
"inline": [
{
"title": "Specifications",
"link": "https://example.com/specs"
}
]
}
}
],
"peopleAlsoAsk": [
{
"question": "What specs should I look for in a programming laptop?",
"snippet": "Key specifications include RAM, processor, storage, and display quality...",
"title": "Essential laptop specs for developers",
"link": "https://example.com/laptop-specs",
"markdown": "<string>",
"sources": [
{
"label": "Programming Laptop Guide",
"url": "https://example.com/guide",
"description": "<string>",
"position": 123
}
]
}
],
"peopleAreSaying": [
{
"position": 1,
"title": "Best running shoes 2026 - what runners are saying",
"link": "https://www.reddit.com/r/running/comments/example/",
"date": "5 days ago"
}
],
"localResults": [
{
"position": 1,
"title": "Joe's Pizza Broadway",
"placeId": "/g/11bw4ws2mt",
"rating": 4.4,
"reviews": "26K",
"price": "$10–20",
"type": "Pizza",
"yearsInBusiness": "80+ years in business",
"address": "1435 Broadway",
"phone": "(212) 555-0100",
"hours": "Open · Closes 11 PM",
"description": "\"Fast service, great atmosphere, and truly scrumptious pizza.\"",
"links": {
"website": "https://villageplumbing.com/",
"directions": "https://www.google.com/maps/dir//Village+Plumbing,+Air+%26+Electric"
}
}
],
"localResultsMoreLink": "https://www.google.com/search?q=italian+restaurants+in+toronto&udm=1",
"relatedSearches": [
{
"query": "best budget laptop for coding",
"link": "https://google.com/search?q=best+budget+laptop+for+coding"
}
],
"ads": [
{
"position": 1,
"blockPosition": "top",
"type": "RESULT",
"title": "Best Programming Laptops - Shop Now",
"url": "https://example.com/programming-laptops",
"page": 1,
"displayedUrl": "example.com/laptops",
"domain": "example.com",
"description": "Shop our selection of programming laptops with fast shipping.",
"category": "Sponsored products",
"price": {
"value": 1199,
"currency": "$",
"raw": "$1,199"
},
"oldPrice": {
"value": 1299,
"currency": "$",
"raw": "$1,299"
},
"store": "Apple",
"imageUrl": "https://encrypted-tbn0.gstatic.com/images?q=tbn:...",
"sitelinks": [
{
"url": "https://example.com/gaming-laptops",
"title": "Gaming Laptops",
"description": "High-performance laptops for gaming"
}
]
}
],
"aioverview": {
"sources": [
{
"position": 1,
"url": "https://example.com/programming-laptops",
"label": "Best Programming Laptops 2026",
"description": "Comprehensive guide to choosing the perfect laptop for software development"
}
],
"citationPills": [
{
"label": "Chase Personal Credit Cards",
"citationPillId": 1,
"url": "https://www.chase.com/personal/credit-cards",
"domain": "chase.com",
"description": "Personal credit cards from Chase.",
"position": 2
},
{
"label": "JustAnswer Computer Help",
"citationPillId": 1,
"url": "https://www.justanswer.com/computer/help",
"domain": "justanswer.com",
"position": 4
}
],
"relatedLinks": [
{
"label": "Compare developer laptops",
"citationPillId": 1,
"url": "https://www.google.com/search?q=developer+laptops&ibp=oshop",
"domain": "google.com"
}
],
"text": "Based on current information, the best laptops for programming typically include models from Apple MacBook Pro, Dell XPS, and Lenovo ThinkPad series...",
"markdown": "Based on current information, the best laptops for programming typically include models from Apple MacBook Pro, Dell XPS, and Lenovo ThinkPad series...",
"videos": [
{
"url": "https://www.youtube.com/watch?v=example",
"title": "Best Laptops for Programming 2024",
"thumbnail": "https://example.com/thumbnail.jpg",
"source": "Tech Channel",
"platform": "YouTube",
"date": "2 days ago",
"duration": "12:34"
}
],
"ads": [
{
"position": 1,
"title": "QA Software Testing Services - On-Demand Software Testing",
"url": "https://www.testlio.com",
"type": "TEXT",
"domain": "Testlio",
"description": "Dynamic staffing. Global coverage. Managed manual testing and test automation solutions.",
"price": {
"value": 69.99,
"currency": "$",
"raw": "$69.99"
},
"old_price": {
"value": 99.99,
"currency": "$",
"raw": "$99.99"
},
"store": "Best Buy",
"image": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQ..."
}
]
},
"shoppingCards": [
{
"title": "ASICS Women's Gel-Nimbus 28",
"productLink": "",
"position": 1,
"category": "More products",
"price": {
"value": 169.99,
"currency": "$",
"raw": "$169.99"
},
"oldPrice": {
"value": 199.99,
"currency": "$",
"raw": "$199.99"
},
"store": "DICK'S Sporting Goods",
"rating": 4.5,
"reviews": "384",
"thumbnail": "https://example.com/product.jpg"
}
],
"knowledgeGraph": {
"title": "Eminem",
"type": "American rapper",
"kgmid": "/m/01vs_v8",
"description": "Marshall Bruce Mathers III, known professionally as Eminem, is an American rapper, songwriter, and record producer.",
"imageUrl": "https://encrypted-tbn0.gstatic.com/images?q=tbn:...",
"website": "https://www.eminem.com",
"menu": "https://www.restaurant.com/menu",
"trailer": "https://www.youtube.com/watch?v=example",
"source": {
"name": "Wikipedia",
"link": "https://en.wikipedia.org/wiki/Eminem"
},
"attributes": [
{
"key": "Born",
"value": "October 17, 1972"
}
],
"profiles": [
{
"name": "Instagram",
"link": "https://www.instagram.com/eminem/"
}
],
"peopleAlsoSearchFor": [
{
"name": "Jay-Z",
"link": "https://www.google.com/search?q=Jay-Z"
}
],
"thingsToKnow": [
{
"label": "Albums",
"subtitle": "The Slim Shady LP, The Marshall Mathers LP, ..."
}
],
"ratings": [
{
"platform": "Rotten Tomatoes",
"rating": "88%",
"link": "https://www.rottentomatoes.com/m/8_mile"
}
],
"streamingOptions": [
{
"platform": "Netflix",
"link": "https://www.netflix.com/title/example"
}
],
"webRatings": [
{
"platform": "Google",
"rating": "4.5",
"link": "https://www.google.com/maps/place/...",
"votes": "1,234"
}
],
"statsCard": {
"context": "2023-24 NBA season",
"stats": [
{
"label": "Points per game",
"value": "27.1"
}
]
},
"socialPosts": [
{
"platform": "X",
"text": "New album dropping Friday 🔥",
"link": "https://x.com/eminem/status/...",
"date": "2 days ago"
}
],
"notableAlumni": [
{
"name": "Barack Obama",
"link": "https://www.google.com/search?q=Barack+Obama"
}
],
"contact": [
{
"label": "Order online",
"url": "https://www.restaurant.com/order"
}
],
"weather": {
"temperature": "72°F",
"condition": "Sunny"
},
"rating": {
"rating": "4.5",
"count": "2,847"
},
"admission": [
{
"provider": "Official website",
"price": "$17",
"link": "https://www.louvre.fr/en/tickets",
"badge": "Best price"
}
],
"artworks": [
{
"title": "Mona Lisa",
"link": "https://www.google.com/search?q=Mona+Lisa",
"author": "Leonardo da Vinci"
}
],
"has3dModel": true,
"hotelOptions": [
{
"provider": "Booking.com",
"price": "$189/night",
"link": "https://www.booking.com/hotel/...",
"note": "Includes breakfast"
}
],
"trendingProducts": [
{
"title": "Air Max 90",
"price": "$120",
"link": "https://www.nike.com/t/air-max-90"
}
],
"merchantVideos": [
{
"title": "Foot Locker Week of Greatness",
"link": "https://www.youtube.com/watch?v=...",
"platform": "YouTube",
"duration": "2:34"
}
],
"listenOn": [
{
"platform": "Spotify",
"link": "https://open.spotify.com/artist/..."
}
]
},
"html": [
"https://storage.cloro.dev/results/b83e8dfd-c3a1-4b98-83b9-af91adc21e26/page-1.html"
]
}
}{
"success": false,
"error": "Request validation failed",
"details": [
{
"field": "prompt",
"message": "Prompt cannot be empty"
}
]
}{
"error": {
"code": "MISSING_API_KEY",
"message": "Missing or invalid API key",
"timestamp": "2025-01-15T12:00:00.000Z"
}
}{
"error": {
"code": "INSUFFICIENT_PERMISSIONS",
"message": "Insufficient permissions",
"details": {
"requiredScopes": [
"read:monitor",
"write:monitor"
]
},
"timestamp": "2025-01-15T12:00:00.000Z"
}
}{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Route not found",
"details": {
"id": "/v1/invalid-endpoint"
},
"timestamp": "2025-01-15T12:00:00.000Z"
}
}{
"error": {
"code": "RESOURCE_CONFLICT",
"message": "Resource conflict",
"timestamp": "2025-01-15T12:00:00.000Z"
}
}{
"error": {
"code": "CONCURRENT_LIMIT_EXCEEDED",
"message": "Concurrent limit exceeded",
"details": {
"limit": 10
},
"timestamp": "2025-01-15T12:00:00.000Z"
}
}{
"success": false,
"error": "Request was canceled"
}{
"success": false,
"error": "Maximum retries exceeded"
}{
"error": {
"code": "EXTERNAL_SERVICE_ERROR",
"message": "External service error: OpenAI",
"details": {
"service": "OpenAI"
},
"timestamp": "2025-01-15T12:00:00.000Z"
}
}Overview
The Google Search endpoint extracts structured data from Google Search results, including organic results, sponsored ads, People Also Ask questions, related searches, and optional AI Overview data.model=aioverview to check supported countries, as the available locations
differ from Google Search (model=google) availability.Request parameters
Required parameters:query(string): The search query to execute on Google (1-10,000 characters)
country(string): ISO 3166-1 alpha-2 country code for localized results. Defaults toUSlocation(string): Google canonical location name for geo-targeted results (e.g.,New York,New York,United States). See Google’s geo target list for all ~100,000 supported locations. Mutually exclusive withuule. When bothlocationanduuleare omitted, cloro defaultslocationto the requested country’s canonical name (e.g.Portugalforcountry: "PT") so results pin to the country instead of the proxy’s exit IP. Passlocationoruuleexplicitly when you need city- or region-level precisionuule(string): Pre-encoded Google UULE string for precise geo-targeting. Use this when you have a pre-built UULE value instead of a location name. Mutually exclusive withlocationdevice(string): Device type for search results. Options:desktop(default),mobile.pages(integer): Number of search results pages to scrape (1-10). Defaults to1include.html(boolean): Include raw HTML response. Defaults tofalseinclude.aioverview(object): Include Google AI Overview. Setmarkdown: truefor markdown formatting. Defaults tofalse(not included)include.paaAioverview(boolean): Hydrate AI-Overview-type People Also Ask items with markdown content and cited sources. Defaults tofalse
include.aioverview adds +2 credits. Enabling include.paaAioverview adds +2 credits. Using both adds +4 credits total. Each page beyond the first adds +2 credits (e.g. pages: 3 adds +4, pages: 10 adds +18). See providers for full pricing details.Requesting AI Overview
To request AI Overview data, nest theaioverview object under the include parameter:
{
"query": "best laptops for programming",
"include": {
"aioverview": {
"markdown": true
}
}
}
markdown(boolean): Include AI Overview formatted as Markdown. Defaults tofalse- When
aioverviewis not included in the request, no AI Overview data will be returned
Error handling
include.aioverview is requested and Google doesn’t return an AI Overview for a specific query (after several retries), the API returns aioverview: null in a 200 response. All other Google search data is returned normally.Some regions are not supported for AI Overview at all and return an UnsupportedInputError when include.aioverview is set — this is a region-level error, not a query failure. Use the /v1/countries endpoint with model=aioverview to check which regions are currently supported before sending requests.{
"success": true,
"result": {
"organicResults": [...],
"peopleAlsoAsk": [...],
"relatedSearches": [...],
"aioverview": null
}
}
Response objects
The response includes the following sections. See each subpage for the full schema and examples.| Section | Field | Description |
|---|---|---|
| Organic results | result.organicResults | Standard non-paid search results from Google |
| Sponsored ads | result.ads | Paid ad placements with sitelinks |
| People Also Ask | result.peopleAlsoAsk | Related questions with link or AI Overview answers |
| Related searches | result.relatedSearches | Related query suggestions |
| Local Pack | result.localResults | Map-backed “3-pack” of local businesses on local-intent queries — when present |
| AI Overview | result.aioverview | Google’s AI-generated summary with sources, videos, and ads (when requested) |
| Knowledge Graph | result.knowledgeGraph | Structured entity panel (person, place, organization, film, etc.) — when present |
result.html is also returned when include.html is true.
result.knowledgeGraph, result.shoppingCards, result.peopleAreSaying, and result.localResults are omitted from result when the corresponding panel does not appear on the SERP. Treat them as optional rather than expecting null or an empty array.Usage examples
Scrape multiple pages
{
"query": "best laptops for programming",
"pages": 3,
"country": "US"
}
peopleAlsoAsk results include a page field indicating which page each question appeared on.
City and state-level geo-targeting
Thelocation parameter accepts any Google canonical location name — including US states and regions, not just cities. Use the Google Ads geo target reference to look up canonical names for the ~100,000 supported locations.
{
"query": "best restaurants",
"country": "US",
"location": "New York,New York,United States"
}
{
"query": "best electricians",
"country": "US",
"location": "California,United States"
}
UULE geo-targeting
For advanced geo-targeting, useuule with a pre-encoded Google UULE string instead of location. This is useful when you generate your own UULE values for precise location control:
{
"query": "best restaurants",
"country": "US",
"uule": "w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5"
}
location and uule are mutually exclusive: provide one or the other, not both. Use location for city-level targeting with canonical names, and uule when you need to supply a pre-encoded UULE string.Hydrate People Also Ask with AI Overview content
To get AI-Overview-type People Also Ask items with markdown content and cited sources:{
"query": "best laptops for programming",
"include": {
"paaAioverview": true
}
}
{
"query": "best laptops for programming",
"include": {
"aioverview": {
"markdown": true
},
"paaAioverview": true
}
}
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Request parameters for monitoring Google search results
The search query to execute on Google
1 - 10000"best laptops for programming"
ISO 3166-1 alpha-2 country code for localized search results
"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.
"New York,New York,United States"
Pre-encoded Google UULE string for precise geo-targeting. Use this when you have a pre-built UULE value instead of a location name. Mutually exclusive with 'location' — provide one or the other, not both.
"w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5"
Device type for search results
desktop, mobile "desktop"
Number of search results pages to scrape (1-10)
1 <= x <= 103
Optional flags for including additional response data
Show child attributes
Show child attributes
Was this page helpful?