- The official Google Maps Platform API doesn't give the ranking of a search's listings: it has to be collected.
- Each listing comes with its rank, name, category, address, website, rating, review count and CID.
- Uses: local SEO tracking, competitor monitoring and market research, city by city.
Scraping Google Maps or using the official API?
The first confusion to clear up: the official Google Maps Platform API is for displaying maps, computing directions or geocoding addresses inside an app. It does not return the ranking of businesses as a searcher sees it in a Google Maps search.
Scraping Google Maps means collecting the list of listings returned by a search (“restaurant”, “plumber”, “gym”) from a given place, in the order Google shows them. That is the data used for local SEO and market research.
The data available for each listing
| Field | Content |
|---|---|
rank_type, rank_serp | The listing's rank in the results |
title | The business name |
cid | The Google ID of the listing, stable over time |
type | The category, e.g. Restaurant |
address | The postal address |
website | The website |
rating, reviews | The average rating out of 5 and the review count |
status_label, status_detail | The opening status and its detail, such as opening hours |
comment | The snippet shown on the listing |
images | The listing's images |
The CID is valuable: it lets you follow the same listing from one snapshot to the next, even if its name or address changes.
Location changes everything
A Google Maps search depends on where it is made from. “Plumber” from a city center and from its suburbs doesn't return the same listings in the same order. The geolocation parameter places the search in the city of your choice. We cover this in geolocated SERPs.
Example call
curl -X POST 'https://api.semscraper.com/v1/serp' \
-H 'Authorization: Bearer API_KEY' \
-H 'Content-Type: application/json' \
-d '[{"search_engine": "google_maps", "keyword": "restaurant", "depth": 1, "location": "fr", "language": "fr", "geolocation": "Nice, Alpes-Maritimes, France"}]'The same request as for Google Search, with search_engine set to google_maps. Same price too: €0.30 per 1,000 searches at depth 1.
Three concrete uses
Tracking your local SEO
Record the rank of your listings on your keywords every week, city by city. A listing that slips often means a competitor is piling up reviews, or the category is poorly chosen.
Monitoring local competitors
Compare the rating, review count and category of the businesses around you in the results. The review gap with the top three gives you a target.
Researching a market
By crossing a category with a list of cities, you get a census of visible businesses, with address and website: competitive density, underserved areas, chains present.
Google Maps or local pack?
The local pack, the block of a few listings shown in regular Google results, is not the same thing as a Google Maps search. It is returned by the Google Search API, with rating, review count and price range. The Google Maps API returns the listings of the Maps search itself. The two complement each other: the local pack measures visibility in Google, Maps measures position on the map.
