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",
"url": "https://www.google.com/search?q=best+laptops+for+programming&hl=en&gl=us&num=30",
"gl": "us",
"hl": "en",
"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",
"url": "https://www.google.com/search?q=best+laptops+for+programming&hl=en&gl=us&num=30",
"gl": "us",
"hl": "en",
"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',
url: 'https://www.google.com/search?q=best+laptops+for+programming&hl=en&gl=us&num=30',
gl: 'us',
hl: 'en',
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',
'url' => 'https://www.google.com/search?q=best+laptops+for+programming&hl=en&gl=us&num=30',
'gl' => 'us',
'hl' => 'en',
'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 \"url\": \"https://www.google.com/search?q=best+laptops+for+programming&hl=en&gl=us&num=30\",\n \"gl\": \"us\",\n \"hl\": \"en\",\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 \"url\": \"https://www.google.com/search?q=best+laptops+for+programming&hl=en&gl=us&num=30\",\n \"gl\": \"us\",\n \"hl\": \"en\",\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 \"url\": \"https://www.google.com/search?q=best+laptops+for+programming&hl=en&gl=us&num=30\",\n \"gl\": \"us\",\n \"hl\": \"en\",\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",
"extensions": [
"90+ views"
],
"page": 1,
"sitelinks": {
"inline": [
{
"title": "Specifications",
"link": "https://example.com/specs",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
]
},
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"peopleAlsoAsk": [
{
"question": "What specs should I look for in a programming laptop?",
"type": "AIOVERVIEW",
"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,
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"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",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"recipes": [
{
"position": 1,
"title": "Starbucks Pink Drink",
"link": "https://bellyfull.net/starbucks-pink-drink/",
"source": "Belly Full",
"rating": 5,
"reviews": "74",
"totalTime": "5 min",
"ingredients": [
"Coconut milk",
"simple syrup",
"fresh strawberries"
],
"thumbnail": "https://encrypted-tbn0.gstatic.com/images?q=tbn:example",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"localResults": [
{
"position": 1,
"title": "Joe's Pizza Broadway",
"placeId": "/g/11bw4ws2mt",
"cid": "4280570365733019477",
"link": "https://www.google.com/searchviewer/10?svid=CAwSHRIbCgNwdnESFENnMHZaeTh4TVdKM05IZHpNbTEwGAo",
"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",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
}
],
"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",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"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",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"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": "$$"
}
],
"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/"
}
],
"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"
}
],
"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",
"position": 1,
"productResultToken": "nuzK-QgAV8BqrZdwQJYZopzdoFhpvKr-N2_YDZevwzg",
"promoLabel": "20% OFF",
"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",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
},
"attributes": [
{
"key": "Born",
"value": "October 17, 1972"
}
],
"profiles": [
{
"name": "Instagram",
"link": "https://www.instagram.com/eminem/",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"peopleAlsoSearchFor": [
{
"name": "Jay-Z",
"link": "https://www.google.com/search?q=Jay-Z",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"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",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"streamingOptions": [
{
"platform": "Netflix",
"link": "https://www.netflix.com/title/example",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"webRatings": [
{
"platform": "Google",
"rating": "4.5",
"link": "https://www.google.com/maps/place/...",
"votes": "1,234",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"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",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"notableAlumni": [
{
"name": "Barack Obama",
"link": "https://www.google.com/search?q=Barack+Obama",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"contact": [
{
"label": "Order online",
"url": "https://www.restaurant.com/order",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"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",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"artworks": [
{
"title": "Mona Lisa",
"link": "https://www.google.com/search?q=Mona+Lisa",
"author": "Leonardo da Vinci",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"has3dModel": true,
"hotelOptions": [
{
"provider": "Booking.com",
"price": "$189/night",
"link": "https://www.booking.com/hotel/...",
"note": "Includes breakfast",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"trendingProducts": [
{
"title": "Air Max 90",
"price": "$120",
"link": "https://www.nike.com/t/air-max-90",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"merchantVideos": [
{
"title": "Foot Locker Week of Greatness",
"link": "https://www.youtube.com/watch?v=...",
"platform": "YouTube",
"duration": "2:34",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"listenOn": [
{
"platform": "Spotify",
"link": "https://open.spotify.com/artist/...",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
},
"productResults": [
{
"title": "Apple iPhone 17",
"stores": [
{
"name": "Apple",
"link": "https://www.apple.com/shop/buy-iphone/iphone-17",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk",
"price": {
"value": 799,
"currency": "USD",
"raw": "$799.00"
},
"installments": "<string>",
"description": "iPhone 17 256GB White - Apple",
"buyingOptions": [
"<string>"
],
"logo": "<string>",
"shipping": "<string>",
"condition": "New",
"rating": 123,
"reviews": "2.3k"
}
],
"aboutTheProduct": {
"description": "<string>",
"features": [
"<string>"
]
},
"specifications": {
"general": {
"Brand": "Apple",
"Storage": "256 GB"
}
},
"images": [
{
"mainUrl": "<string>",
"thumbnailUrl": "<string>",
"title": "<string>"
}
],
"rating": 123,
"reviews": "<string>",
"variants": [
{}
],
"userReviews": [
{}
],
"relatedProducts": [
{}
],
"productDocid": "3625873292990915110"
}
],
"html": [
"https://cdn.cloro.dev/results/b83e8dfd-c3a1-4b98-83b9-af91adc21e26/page-1.html"
]
}
}{
"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 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",
"url": "https://www.google.com/search?q=best+laptops+for+programming&hl=en&gl=us&num=30",
"gl": "us",
"hl": "en",
"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",
"url": "https://www.google.com/search?q=best+laptops+for+programming&hl=en&gl=us&num=30",
"gl": "us",
"hl": "en",
"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',
url: 'https://www.google.com/search?q=best+laptops+for+programming&hl=en&gl=us&num=30',
gl: 'us',
hl: 'en',
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',
'url' => 'https://www.google.com/search?q=best+laptops+for+programming&hl=en&gl=us&num=30',
'gl' => 'us',
'hl' => 'en',
'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 \"url\": \"https://www.google.com/search?q=best+laptops+for+programming&hl=en&gl=us&num=30\",\n \"gl\": \"us\",\n \"hl\": \"en\",\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 \"url\": \"https://www.google.com/search?q=best+laptops+for+programming&hl=en&gl=us&num=30\",\n \"gl\": \"us\",\n \"hl\": \"en\",\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 \"url\": \"https://www.google.com/search?q=best+laptops+for+programming&hl=en&gl=us&num=30\",\n \"gl\": \"us\",\n \"hl\": \"en\",\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",
"extensions": [
"90+ views"
],
"page": 1,
"sitelinks": {
"inline": [
{
"title": "Specifications",
"link": "https://example.com/specs",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
]
},
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"peopleAlsoAsk": [
{
"question": "What specs should I look for in a programming laptop?",
"type": "AIOVERVIEW",
"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,
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"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",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"recipes": [
{
"position": 1,
"title": "Starbucks Pink Drink",
"link": "https://bellyfull.net/starbucks-pink-drink/",
"source": "Belly Full",
"rating": 5,
"reviews": "74",
"totalTime": "5 min",
"ingredients": [
"Coconut milk",
"simple syrup",
"fresh strawberries"
],
"thumbnail": "https://encrypted-tbn0.gstatic.com/images?q=tbn:example",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"localResults": [
{
"position": 1,
"title": "Joe's Pizza Broadway",
"placeId": "/g/11bw4ws2mt",
"cid": "4280570365733019477",
"link": "https://www.google.com/searchviewer/10?svid=CAwSHRIbCgNwdnESFENnMHZaeTh4TVdKM05IZHpNbTEwGAo",
"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",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
}
],
"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",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"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",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"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": "$$"
}
],
"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/"
}
],
"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"
}
],
"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",
"position": 1,
"productResultToken": "nuzK-QgAV8BqrZdwQJYZopzdoFhpvKr-N2_YDZevwzg",
"promoLabel": "20% OFF",
"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",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
},
"attributes": [
{
"key": "Born",
"value": "October 17, 1972"
}
],
"profiles": [
{
"name": "Instagram",
"link": "https://www.instagram.com/eminem/",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"peopleAlsoSearchFor": [
{
"name": "Jay-Z",
"link": "https://www.google.com/search?q=Jay-Z",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"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",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"streamingOptions": [
{
"platform": "Netflix",
"link": "https://www.netflix.com/title/example",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"webRatings": [
{
"platform": "Google",
"rating": "4.5",
"link": "https://www.google.com/maps/place/...",
"votes": "1,234",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"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",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"notableAlumni": [
{
"name": "Barack Obama",
"link": "https://www.google.com/search?q=Barack+Obama",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"contact": [
{
"label": "Order online",
"url": "https://www.restaurant.com/order",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"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",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"artworks": [
{
"title": "Mona Lisa",
"link": "https://www.google.com/search?q=Mona+Lisa",
"author": "Leonardo da Vinci",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"has3dModel": true,
"hotelOptions": [
{
"provider": "Booking.com",
"price": "$189/night",
"link": "https://www.booking.com/hotel/...",
"note": "Includes breakfast",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"trendingProducts": [
{
"title": "Air Max 90",
"price": "$120",
"link": "https://www.nike.com/t/air-max-90",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"merchantVideos": [
{
"title": "Foot Locker Week of Greatness",
"link": "https://www.youtube.com/watch?v=...",
"platform": "YouTube",
"duration": "2:34",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"listenOn": [
{
"platform": "Spotify",
"link": "https://open.spotify.com/artist/...",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
}
],
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk"
},
"productResults": [
{
"title": "Apple iPhone 17",
"stores": [
{
"name": "Apple",
"link": "https://www.apple.com/shop/buy-iphone/iphone-17",
"redirectLink": "https://www.google.com/goto?url=CAESaAHrOzAVev0pi_wnTxm1qpiZTmMyAllabLr1or10ZCfvJKPk",
"price": {
"value": 799,
"currency": "USD",
"raw": "$799.00"
},
"installments": "<string>",
"description": "iPhone 17 256GB White - Apple",
"buyingOptions": [
"<string>"
],
"logo": "<string>",
"shipping": "<string>",
"condition": "New",
"rating": 123,
"reviews": "2.3k"
}
],
"aboutTheProduct": {
"description": "<string>",
"features": [
"<string>"
]
},
"specifications": {
"general": {
"Brand": "Apple",
"Storage": "256 GB"
}
},
"images": [
{
"mainUrl": "<string>",
"thumbnailUrl": "<string>",
"title": "<string>"
}
],
"rating": 123,
"reviews": "<string>",
"variants": [
{}
],
"userReviews": [
{}
],
"relatedProducts": [
{}
],
"productDocid": "3625873292990915110"
}
],
"html": [
"https://cdn.cloro.dev/results/b83e8dfd-c3a1-4b98-83b9-af91adc21e26/page-1.html"
]
}
}{
"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"
}
}model=aioverview, not model=google, and see AI Overview for what a request returns when Google shows none.Request parameters
Describe the search in one of two ways:query(string) andcountryorgl: The search query (1-10,000 characters), plus the ISO 3166-1 alpha-2 country code for localized results. There is no default countryurl(string): A complete Google search URL to run instead. See searching by URL
include.aioverview and include.paaAioverview share one flat +2 credits, and each page after the first adds +2 (pricing). X-Credits-Charged on the response reports the exact charge.Searching by URL
If you already assemble your own Google search URLs, send one asurl instead of query and the targeting fields:
{
"url": "https://www.google.com/search?q=canon+ij+scanner+software&hl=en&gl=us&num=30"
}
country is derived from the URL’s gl, and the interface language from the URL’s hl. Pass country, gl, or hl explicitly to fill in when the URL has no copy of that parameter.
The URL owns query, location, uule, pages, country/gl, and hl. Sending an explicit value alongside a URL that already carries a different one is a 400 that names the field you sent — for example, gl: "DE" next to ?gl=us returns Cannot set both url and gl; the URL owns this value. Values that agree with the URL’s copy still pass, and the check is case-insensitive on the country code (gl: "us" and ?gl=US are the same value).
device and the include.* flags stay top level and behave exactly as they do in the standard shape. The response schema is identical, and so is the cost: a URL request is charged as the equivalent standard request, so num=30 resolves to 3 pages and is billed as pages: 3.
What cloro reads from the URL
cloro supports a fixed set of query parameters:| Parameter | Effect |
|---|---|
q | The search query. Required — a URL without it is rejected |
gl | Sets country when you don’t pass one. Uppercased, and must be a supported country. An explicit country or gl param must agree with this one |
hl | Interface language for the results. Overrides the language cloro would otherwise derive from the country, so hl and gl can differ — a Portuguese-language SERP in a US locale, for example. An explicit hl param must agree with this one |
uule | Geo-targets the search, same as the top-level uule |
num | Requested result depth, converted to whole pages of 10 and capped at 10 pages (num=30 → 3 pages). Google itself caps num at 10 on web search, so cloro paginates to reach the depth you asked for. Omit it and you get a single page |
start | Result offset to begin from. See starting from a given rank |
tbs | Google’s search-refinement filter, applied as written — including compound values such as cdr:1,cd_min:1/1/2026,cd_max:2/1/2026 |
safe | SafeSearch setting, applied as written (active or off) |
glp, lr and the like — don’t cause a rejection, but they’re dropped rather than applied to the search.
Starting from a given rank
start sets the rank your first page begins at, and results are labeled with the SERP page and position they actually came from. A URL with start=20 returns Google’s third page, with position counting from 21 and page reported as 3:
{
"url": "https://www.google.com/search?q=best+seo+tools&gl=us&start=20"
}
num, that returns a single page — the usual shape if you drive pagination yourself by issuing one request per start value. Add num to fetch several pages from the offset in one request: start=20 with num=30 returns ranks 21-30, 31-40 and 41-50.
Rejected URLs
A URL is rejected with a400 when it:
- Is not an absolute
http/httpsURL - Is not on a Google web search host —
google.com,google.co.uk,www.google.deand similar are accepted; subdomains such asnews.google.comare not - Has a path other than
/search - Has no
q, or an empty one - Carries
tbm, which targets a Google vertical with its own endpoint and pricing. Fortbm=nws, use Google News instead - Has a
glcloro doesn’t support, with no explicitcountryto fall back on - Has neither
glnor an explicitcountry— cloro won’t guess a target
Response schema
| 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 |
| People Are Saying | result.peopleAreSaying | Forum and discussion cards from the “What people are saying” module — when present |
| Recipes | result.recipes | Cards from the Recipes carousel, with source, rating, total time, and ingredients — when present |
| Related searches | result.relatedSearches | Related query suggestions |
| Local Pack | result.localResults | Map-backed “3-pack” of local businesses on local-intent queries — when present |
| Sports results | result.sportsResults | Standings tables, games, squad and stat leaders of the sports block on sports queries — when present |
| Related websites | result.relatedWebsites | Carousel of site cards (“Related websites”, “Find results on”, the websites of the EU places unit) — when present |
| Images | result.inlineImages | Tiles of the Images block, with title, source site, page link and thumbnail — when present |
| Videos | result.videos | Cards of the Videos carousel, with platform, channel, date, duration and key moments — when present |
| Short videos | result.shortVideos | Cards of the Short videos carousel, with title, platform, channel, duration, link and thumbnail — when present |
| Weather | result.weather | The weather card, with current conditions, hourly and daily forecast — when present |
| Latest posts | result.latestPosts | Posts of the Latest posts block (an entity’s own social accounts), with platform, text, link, date, account and engagement — when present |
| Finance quote | result.financeQuote | The market summary of a stock, fund, index, future or crypto currency, with name, ticker, price, currency, change, time and key stats — when present |
| Events | result.events | Events of the events block (a carousel of event cards or a list of ticket offers), with name, date, time, venue, city, image, price and ticket sellers — when present |
| Discussions and forums | result.discussionsAndForums | Threads of the Discussions and forums block (Reddit, Quora, forums), with title, link, source, the line under it and the answers shown when a thread is opened — when present |
| Things to know | result.thingsToKnow | The facets of the “Things to know” blocks, each with its label, question, Google search link and, when Google ships one with the page, a web answer with its source — when present |
| Transit results | result.transitResults | The train and bus block, with the route, date, fastest trip, cheapest fare, departures a day and all the day’s departures (times, duration, changes, fare and operator), and in the EU the booking sites and the transport websites — when present |
| Flights | result.flights | Google’s flights blocks (the Google Flights widget, airline options, airline websites, booking sites and origins), each with its rows: airline, destination, origin or booking site, price, duration, stops, dates and link — when present |
| Hotel results | result.hotelResults | The hotel blocks: the hotel pack with each hotel’s coordinates, the More hotels carousels, Hotels in popular areas, and in the EU the hotel unit with every booking site and the hotel websites, each hotel with its price, rating, reviews, class, deal and link — when present |
| Stores | result.stores | The merchants of the Stores block on shopping queries, each with its page, title, description, price range and rating — when present |
| Comparison shopping sites | result.comparisonShoppingSites | In the EEA, the comparison shopping sites block: the products of every comparison site (title, price, link), each with its site as supplier — when present |
| Top sights | result.topSights | The top sights of a city or a place (“Top sights in Rome”, “Things to do”): each sight with its rating, reviews, price, category, opening state, website and thumbnail, and the “More things to do” link — 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 |
| Shopping cards | result.shoppingCards | Products from the “Popular products” and “More products” grids — when present |
| Product results | result.productResults | Merchant offers from the SERP right-rail product panel — direct URL, price, installments, stock, delivery, returns. Emitted when the panel appears, no flag needed, no extra credits |
| Redirect links | redirectLink | Google’s /goto redirect, returned beside any link Google served as one |
include flag; result.aioverview requires include.aioverview.
result.knowledgeGraph, result.shoppingCards, result.productResults, result.peopleAreSaying, result.recipes, result.localResults, result.sportsResults, result.relatedWebsites, result.inlineImages, result.videos, result.shortVideos, result.weather, result.latestPosts, result.financeQuote, result.events, result.discussionsAndForums, result.thingsToKnow, result.transitResults, result.flights, result.hotelResults, result.stores, result.comparisonShoppingSites, and result.topSights 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 entry carries a page field marking which page it appeared on.
City and state-level geo-targeting
location accepts any Google canonical location name, including states and regions — not just cities.
{
"query": "best restaurants",
"country": "US",
"location": "New York,New York,United States"
}
{
"query": "best electricians",
"country": "US",
"location": "California,United States"
}
UULE geo-targeting
When you generate your own UULE values, passuule instead of location — the two are mutually exclusive:
{
"query": "best restaurants",
"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 Google search results
- Option 1
- Option 2
- Option 3
ISO 3166-1 alpha-2 country code for localized search results. See List of countries for the codes each provider supports. Required in the standard request shape unless you send gl. When you supply 'url' instead, country is derived from the URL's 'gl' — pass it explicitly to override that, or when the URL has no 'gl'.
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"
A complete Google web search URL to run instead of building the request from 'query' and the targeting fields. Must be an absolute http(s) URL on a Google web search host (google.com, google.co.uk, www.google.de, ...), with the path '/search' and a non-empty 'q'. Mutually exclusive with 'query', 'location', 'uule' and 'pages' — the URL owns those values. cloro applies a fixed set of query parameters — 'q', 'gl', 'hl', 'uule', 'num' (read as result depth), 'start', 'tbs' and 'safe' — and drops anything else. URLs carrying 'tbm' are rejected, because they target a Google vertical with its own endpoint and pricing (use POST /v1/monitor/google/news for tbm=nws).
"https://www.google.com/search?q=best+laptops+for+programming&hl=en&gl=us&num=30"
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. Cannot be combined with 'url'. 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"
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. Cannot be combined with 'url'; put 'uule' in the URL's query string instead.
"w+CAIQICIeV2VzdCBOZXcgWW9yayxOZXcgSmVyc2V5"
Number of search results pages to scrape (1-10). Paid add-on: +2 credits per page after the first (pricing). Cannot be combined with 'url' — in that shape, depth comes from the URL's 'num' (rounded up to whole pages of 10, capped at 10 pages).
1 <= x <= 103
Was this page helpful?