Google Maps tools
Local businesses as Google Maps lists them: who ranks for a search in an area, filtered lists for prospecting, and full Business Profiles.
Find and size up local businesses from Google Maps data. These tools answer three questions: who Maps shows for a search in an area, which businesses in an area match some filters, and what one business's Google profile says.
To check local rankings, use maps_search_places with a search and a city, or with a point and a zoom level. Rankings change from street to street, so call it once per point to build a rank grid.
To build a prospect list, use maps_search_businesses with a point, a radius and Google category ids such as dentist or plumber. Filter to unclaimed profiles, few reviews or a low rating. A row with no website is a business with no site on its profile.
To audit one business, use maps_get_place with the place_id from either search. It returns the opening hours, attributes, services, the topics its reviews mention and the competitors Google lists beside it.
To connect these tools to your agent, see the Google Maps MCP page.
| Tool | What it does | Cost |
|---|---|---|
maps_search_places | Search Google Maps | From 1 credit |
maps_search_businesses | Search businesses in an area | From 4 credits |
maps_get_place | Get a business profile | From 2 credits |
Search Google Maps
maps_search_placesThe places Google Maps shows for a search in an area, in Maps' order.
"who shows up on Maps for plumber in Austin", "where does our clinic rank on Maps for dentist near me", local competitors for a service in a town, a spot check of local rankings at one point.
- A filtered list of every business of a type in an area (unclaimed, few reviews, low rating), use
maps_search_businesses. - One business's hours, attributes and review topics, use
maps_get_place. - The organic results and local pack on Google search, use
seo_get_serp. - Companies by industry or headcount, use
leads_search_companies.
A list. Each row has rank, place_id, cid, name, category, additional_categories[], address, city, postcode, country_code, latitude, longitude, phone, website, domain, rating (stars out of 5), reviews, price_level, is_claimed, status (open, closed, temporarily_closed, closed_forever), total_photos, maps_url. website null = the profile lists none.
1 credit. Cached 24 hours.
Parameters
| Parameter | Default and notes |
|---|---|
keyword | Required |
location | "United States"; give a city, such as "Austin,Texas,United States" |
language | "en" |
depth | 20, max 100 |
latitude and longitude (search around that point instead, with zoom: 14 a neighbourhood, 11 a city). Rankings differ by point: for a rank grid. call once per point.
It also takes the common parameters provider, max_credits and dry_run.
{
"keyword": "emergency plumber",
"location": "Austin,Texas,United States"
}Search businesses in an area
maps_search_businessesBusinesses on Google Maps within a radius of a point, filtered by category, rating, review count or claimed profile. Not ranked.
"dentists within 10 km of Manchester with fewer than 20 reviews", "unclaimed restaurants in Leeds", local prospect lists for an agency, counting a category in a town.
- Who ranks on Maps for a search, use
maps_search_places. - One business in full, use
maps_get_place. - Companies by industry or headcount (larger firms, not storefronts), use
leads_search_companies.
A list. Each row has place_id, cid, name, category, additional_categories[], address, city, postcode, country_code, latitude, longitude, phone, website, domain, rating (stars out of 5), reviews, price_level, is_claimed, status (open, closed, temporarily_closed, closed_forever), total_photos, maps_url, updated_at. website null = the profile lists none, a prospect for web work. rows_available is the total matching.
4 credits, plus 12 per 100 rows. Default 100 rows = 16 credits. Cached 7 days.
Parameters
| Parameter | Default and notes |
|---|---|
radius_km | 5, max 1000 |
categories[] | Google category ids in snake case: "dentist", "plumber", "pizza_restaurant"; up to 10 |
name | Text in the business name |
claimed | True or false |
min_rating | Optional |
max_rating | Optional |
min_reviews | Optional |
max_reviews | Optional |
order_by | "rating" | "reviews", highest first |
limit | 100, cap 1000 |
latitude and longitude (required; the centre, such as a city centre).
It also takes the common parameters cursor, provider, max_credits and dry_run.
{
"latitude": 53.4808,
"longitude": -2.2426,
"radius_km": 10,
"categories": [
"dentist"
],
"max_reviews": 20
}Get a business profile
maps_get_placeOne business's full Google Business Profile: hours, attributes, services, rating breakdown, the topics its reviews mention and the competitors Google lists beside it.
"audit this business's Google profile", "what do reviews of this clinic talk about", "who does Google think competes with this restaurant", checking a prospect before outreach.
- Finding businesses, use
maps_search_places(by search) ormaps_search_businesses(by area and filters). - The review text itself is not returned.
- A company's firmographics, use
leads_get_company.
One record with place_id, cid, name, category, additional_categories[], address, city, postcode, country_code, latitude, longitude, phone, website, domain, rating, reviews, price_level, is_claimed, status, total_photos, maps_url, description, rating_counts[] (1 star first), hours[] (day, open, close as HH:MM; a day with no row is closed), attributes[], missing_attributes[], topics[] (topic, mentions), services[] (name, category, price), people_also_search[] (cid, name, rating, reviews), book_online_url. NoData when Google has no profile for the lookup.
2 credits. Cached 7 days.
Parameters
| Parameter | Default and notes |
|---|---|
cid or name | The name with its town, such as "Rudy's Pizza Manchester" |
location | "United States"; where a name is looked up |
language | "en" |
exactly one of place_id.
It also takes the common parameters provider, max_credits and dry_run.
{
"place_id": "ChIJP0warDDowokRfvXMkBqL5Cg"
}