Build a Custom Google Rank Tracking API Workflow
Learn how to build a powerful Google rank tracking API workflow. This guide offers actionable advice on choosing APIs, coding, and scaling your SEO automation.
Local SEO is a city-level game. "Best dentist near me" returns one set of results in Austin and a different set in Brooklyn. Pass a `location` value (any of Google's ~100,000 canonical geotargets) on a `/v1/monitor/google` call and you get the SERP that city actually sees, at the same per-call price as a country-level call.
4.7 on G2No credit card required.
curl -X POST https://api.cloro.dev/v1/monitor/google \
-H "Authorization: Bearer sk_live_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"query": "best dentist near me",
"country": "US",
"location": "Austin,Texas,United States",
"device": "mobile"
}' {
"success": true,
"result": {
"organicResults": [],
"peopleAlsoAsk": [],
"relatedSearches": [],
"ads": []
}
} Pass any Google canonical location name (`City,Region,Country`) on any call and cloro renders the SERP as if the search came from a device in that location. The location list draws on Google's full geotargeting set — about 100,000 entries spanning cities, metros, regions, and countries worldwide.
Most rank-tracking products charge extra for city-level data, or push you toward a separate Google Business Profile module. On cloro it is just a parameter on the standard SERP call.
Run "personal injury lawyer" from cloro with three different location values and the Local Pack changes completely. Houston returns Adams Law and Husain; Brooklyn returns Block O'Toole and Belluck & Fox; Phoenix returns Lerner & Rowe and Phillips. A country-default ranking collapses all three into whichever firm dominates the national long tail. With the `location` parameter set, cloro renders the SERP the way a device in that city would receive it: city-specific Local Pack, Maps Pack, and organic results.
An 80-location franchise needs 80 city-specific rankings, not one national approximation. Hosted trackers charge per-city upcharges. cloro is flat per-call: 80 cities × 30 keywords × daily costs the same per-call rate as a single national run.
Local-intent queries skew 75%+ mobile. Mobile SERPs put the AI Overview at position 0 and the Local Pack at position 1; desktop is structurally different. Pass `device: "mobile"` per call at the same price — track what your customers actually see.
The Local Pack — the 3-pack of map results above organic — is a separate ranking system. cloro returns each entry tagged by position, business name, address, rating, and review count: the metadata for Local Pack share-of-voice on any keyword × city pair.
One API call per query × city × device combination. The geo parameter is the only difference from country-level tracking — same auth, same response shape, same per-call pricing.
import requests
# Multi-location brand: 50 locations × 20 keywords × daily.
# Use Google canonical location names: "City,Region,Country".
keywords = ["best running shoes near me", "running shoe store", "athletic footwear"]
locations = [
"Austin,Texas,United States",
"Brooklyn,New York,United States",
"Phoenix,Arizona,United States",
# ... your full location list (drawn from Google's ~100,000 geotargets)
]
results = []
for query in keywords:
for location in locations:
response = requests.post(
"https://api.cloro.dev/v1/monitor/google",
headers={
"Authorization": "Bearer sk_live_your_api_key_here",
"Content-Type": "application/json",
},
json={
"query": query,
"country": "US",
"location": location,
"device": "mobile", # local intent skews mobile
},
)
data = response.json()["result"]
for r in data["organicResults"]:
results.append({
"query": query,
"location": location,
"position": r["position"],
"url": r["link"],
})
# 1 row per (query, location, ranked URL). Roll up by location for per-store reports.
print(f"{len(results)} location-tagged rows captured") {
"success": true,
"result": {
"organicResults": [],
"peopleAlsoAsk": [],
"relatedSearches": [],
"ads": []
}
} Pick a plan that fits your volume. Price per credit drops as you scale.
Credit cost per request varies by provider. The figures below are for async/batch requests; sync requests add a +2 credit surcharge.
Google News uses the same pricing as Google Search.
cloro accepts any Google canonical location name in the format `City,Region,Country` — for example, `"Austin,Texas,United States"` or `"Manchester,England,United Kingdom"`. The full set draws on Google's geotarget list, which contains ~100,000 entries spanning cities, metros, regions, and countries worldwide. Power users can also pass a pre-encoded `uule` string instead of a location name when they need a UULE Google has but isn't in the canonical list.
Local rank tracking measures organic + Local Pack positions for a query in a target city. GBP rank tracking measures one business listing's position across a grid of points around its location. Different products. cloro covers the first; for GBP grid-tracking, compose grid points using cloro plus your own coordinate logic.
~75% of local-intent queries are mobile. Mobile renders the Local Pack at position 1, shoves AI Overview to position 0, and compresses organic — country-level trackers defaulting to desktop miss what most customers see. cloro's `device` parameter is per-call, same price.
Pass `country` (ISO 3166-1 alpha-2) plus the canonical location string — e.g., `{country: "GB", location: "Manchester,England,United Kingdom"}` for Manchester, or `{country: "JP", location: "Shibuya,Tokyo,Japan"}` for Shibuya. Anywhere in Google's geotarget list (~100,000 locations, all major countries) works the same way.
Per-call: 1 credit per SERP call regardless of geo specificity. 50 cities × 20 keywords × daily = 30k calls/month, covered 8× by the Hobby plan. Typically ~10× cheaper than per-city upcharges in bundled trackers.
Persist the `result` envelope per call (the Local Pack ships in the SERP response). Diff between adjacent runs in your warehouse: which businesses entered/left the 3-pack, which moved positions, which gained or lost reviews. No diff endpoint needed — the SERP is yours to keep.
Learn how to build a powerful Google rank tracking API workflow. This guide offers actionable advice on choosing APIs, coding, and scaling your SEO automation.
Ranking number 1 isn't what it used to be. Learn how to accurately track your search performance across Organic, Maps, AI Overviews, and zero-click features.
Discover the top 12 best rank tracking software options for 2026. Compare features, pricing, and AI tracking to find the right tool for your SEO strategy.