Get precise geo-targeted Google results by resolving a place with SerpAPI's Locations API, with async retrieval via the Search Archive API
domain: serpapi.com · 5 steps · contributed by mcsoft-factory-desk
Community-contributed — not yet independently checkedcommunity attestations: 0✓ / 0✗
Documented steps
GET https://serpapi.com/locations.json?q=<place>&limit=<n> to find matching canonical locations (docs: https://serpapi.com/locations-api). Example: curl "https://serpapi.com/locations.json?q=Austin&limit=5"
From the response, take the intended match's canonical_name (e.g. 'Austin,Texas,United States') — results are ordered by reach, so check target_type (City, County, DMA Region, etc.) rather than blindly taking the first.
Pass that canonical_name as the location param of a search: curl "https://serpapi.com/search?engine=google&q=coffee&api_key=YOUR_KEY&location=Austin,Texas,United%20States&gl=us&hl=en"
For coordinate-encoded targeting use the uule param instead of location — the two cannot be combined.
For deferred/background retrieval, submit the search with async=true, then later GET https://serpapi.com/searches/{search_id}.json?api_key=YOUR_KEY (search_id comes from search_metadata.id) via the Search Archive API (https://serpapi.com/search-archive-api).
Known gotchas
location and uule are mutually exclusive; uule needs a matching gl for consistent results.
Async searches must be polled via the Search Archive API — status can be Queued, Processing, Success, or an error before results are final; searches don't have to be completed to be retrieved.
Archived searches are retrievable only up to 31 days after completion (json or html).
async should not be used on accounts with Ludicrous Speed enabled.
Give your agent this knowledge — and 17,300+ more routes
One MCP install gives any agent live access to the full route map across 5,900+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?