Rankings where they happen
Local results change street by street. Pin the search with geo, a latitude and longitude pair, or a UULE string, not a data-centre IP.
Google Places results for any neighborhood. Set udm=1 and pin the search to a city, a neighborhood, or exact coordinates to get the local businesses Google ranks there, flagged as local results in the same JSON.
curl -X POST https://api.accuserp.com/v1/keywords \
-H "Authorization: Bearer $ACCUSERP_API_TOKEN" \
--data-urlencode "geo=Shoreditch, London, United Kingdom" \
--data-urlencode "udm=1" \
--data-urlencode "keyword=coffee shop"{
"ads": {},
"maps": true,
"serp": {
"1": {
"url": "https://www.example.com/shoreditch-coffee",
"local": true,
"title": "Example Coffee Shoreditch",
"video": false,
"base_url": "www.example.com",
"features": {
"https": true,
"reviews": true,
"maps_local": true
},
"base_domain": "example.com",
"description": "Specialty coffee bar and roastery. 4.7 ★ (1,284 reviews) · 12 Example Street, London E1"
},
"2": {
"url": "https://www.example.org/roastery-bar",
"local": true,
"title": "Example Roastery & Bar",
"video": false,
"base_url": "www.example.org",
"features": {
"https": true,
"reviews": true,
"maps_local": true
},
"base_domain": "example.org",
"description": "4.5 ★ (612 reviews) · 3 Sample Lane, London E2 · Open until 18:00"
}
},
"video": false,
"engine": "google",
"mobile": false,
"keyword": "coffee shop",
"ad_count": 0,
"shopping": {},
"rank_date": "2026-10-03",
"serp_count": 10,
"requested_at": "2026-10-03T09:41:07Z",
"set_location": "Shoreditch, London, United Kingdom",
"auto_corrected": false,
"shopping_count": 0,
"related_searches": [
"coffee shop shoreditch open now"
],
"auto_corrected_to": "",
"related_searches_rank": 11,
"total_number_of_results": 2140
}Local results change street by street. Pin the search with geo, a latitude and longitude pair, or a UULE string, not a data-centre IP.
Each local result carries local: true and the maps_local feature flag, so you can separate the pack from organic results in one pass.
Google Local is a parameter on POST /v1/keywords, not a separate integration. Everything else, from callbacks to credits, works the same way.
Response
Every result is the same JSON document: metadata about the search, then organic results, ads, and shopping keyed by position. Fetch it with GET /v1/results, or let the callback tell you when it is ready.
serpadsshoppingrelated_questionsrelated_searchestotal_number_of_resultsauto_corrected, auto_corrected_tomaps, video, serp_count, ad_count, shopping_countset_location, locale, rank_date, requested_atRequest
Send these as form fields or query parameters to POST /v1/keywords. The full reference is in the docs.
| Parameter | Type | Description |
|---|---|---|
keywordrequired | string | The keyword to search for, UTF-8 encoded. |
udm | string | Google Unified Data Model parameter. udm=1 returns Google Places results. Cannot be combined with tbm. |
locale | string | Search locale from GET /v1/engines, e.g. en-us. Sets Google's country domain, language and TLD. Defaults to en-us. |
geo | string | Free-form location, e.g. “Shoreditch, London, United Kingdom”. Cannot be combined with latitude/longitude or uule. |
latitude, longitude | number | Pin the search to coordinates for sub-city precision. Both are required together. |
uule | string | A Google UULE-encoded location string, if you already have one. |
mobile | boolean | Search as a mobile device. Defaults to false. |
callback | string | HTTPS URL that receives a POST when the result is ready. Recommended over polling. |
priority | boolean | Use the priority queue, dispatched ahead of standard requests. +50% per page. |
The location is as precise as you need. Pass a free-form geo string for a city or neighborhood, or latitude and longitude for sub-city precision. Only one location strategy can be used per request.
A normal Google Search request already flags local pack entries with maps_local. udm=1 asks Google for the Places view, which returns the full list of local businesses.
The parsed Google results page, keyed by position.
locale=en-usNews results for any topic, locale, and time.
in developmentImage results for any keyword and locale.
in developmentThe ads Google serves on a keyword, with placement and destination.
in developmentThe results page as a browser sees it, AI Overview expanded.
in developmentGoogle's conversational AI Mode, captured as a rendered page.
in developmentWhat ChatGPT answers, with the sources it cites.
in developmentWhat Copilot answers, with the sources it cites.
in developmentWhat Gemini answers, with the sources it cites.
in developmentGet your API token, queue a keyword, and have parsed Google results in your callback within minutes.