« Google Maps Place Details Data Scraper

Google Maps API Place Details Lookup Scraper

Download Data to Excel & CSV Files

Steve Spagnola
Written by Steve Spagnola
Last updated May 2, 2024

Google Place ID Details Lookup

If you have a Google Maps Place ID (see How to Find a Google Place ID for help) you can get place details from the Place ID using the green box above to perform a lookup for any Google Place ID through the Google Maps API.

Google Place ID Lookup

We’ll walk through a few examples of the fields our Google Place ID lookup tool provides from the API so you can see exactly which data fields are available when you get place details from Place IDs.

Business Address

The Google Maps API can go from Google Place ID to address with complete address components in structured format, so each part of the mailing address is a separate identifiable field you can parse out.

Business Address Components
This is great for analyzing business locations for a specific franchise or if you’re collecting business details from a city or area with more complicated address components like apartment or suite numbers.

Phone Number

Sent back as international_phone_number as a string, e.g. +61 2 9374 4000

Official Website

Sent back as the website field, this is the official website of the business. This can be useful to use with the Hunter Email Search Workflow, where you can provide a list of websites and get back the email addresses.

Google Maps URL

Returned in the url field, this provides a handy link to view the place on Google Maps. E.g. https://maps.google.com/?cid=10281119596374313554

Having the URL to the Google Business Profile is helpful so you can manually visit the page and look for advanced fields that are unavailable via API, such as if the business is verified, photos, full reviews & much more.

Recent Reviews

Up to 5 recent reviews of the business. This list is not a complete list and the Google Maps API does not have a way to return the full list of reviews. For this, you can check out SerpAPI Google Maps Reviews Scraping, which will get the full list of Google reviews.

{"reviews":
    [
      {
        "author_name": "Luke Archibald",
        "author_url": "https://www.google.com/maps/contrib/113389359827989670652/reviews",
        "language": "en",
        "profile_photo_url": "https://lh3.googleusercontent.com/a-/AOh14GhGGmTmvtD34HiRgwHdXVJUTzVbxpsk5_JnNKM5MA=s128-c0x00000000-cc-rp-mo",
        "rating": 1,
        "relative_time_description": "a week ago",
        "text": "Called regarding paid advertising google pages to the top of its site of a scam furniture website misleading and taking peoples money without ever sending a product - explained the situation,  explained I'd spoken to an ombudsman regarding it.  Listed ticket numbers etc.\n\nThey left the advertisement running.",
        "time": 1652286798,
      },
      ...
    ]
}

The most recent reviews will only change when someone writes a review for the Google business profile, so you could potentially poll this API endpoint every day or so to build a list of new reviews as they are added to your business (or a list of businesses you’re monitoring).

Opening Hours

Returned as structured data or as a list of human readable times.

{"opening_hours":
    {
      "open_now": false,
      "periods":
        [
          {
            "close": { "day": 1, "time": "1700" },
            "open": { "day": 1, "time": "0900" },
          },
          ...
        ],
      "weekday_text":
        [
          "Monday: 9:00 AM – 5:00 PM",
          "Tuesday: 9:00 AM – 5:00 PM",
          "Wednesday: 9:00 AM – 5:00 PM",
          "Thursday: 9:00 AM – 5:00 PM",
          "Friday: 9:00 AM – 5:00 PM",
          "Saturday: Closed",
          "Sunday: Closed",
        ],
    }
}

Timezone Offset

Returned under utc_offset, this is the number of minutes offset from UTC time of the location. This can be helpful if you need to know the timezone of a business.

There are two main ways to get Google place identifiers & details from the Google Maps API: Search Results Endpoint and Place Details Endpoint. You can see the different fields returned below based on the endpoint used, so if you only need limited data you can just rely on the search results endpoint.

Search Results Place Details
Business Status
Formatted Address
Latitude & Longitude
Name
Price Level
Average Rating
Number of Ratings
Types
Address Components
Phone Number
Opening Hours
Recent Reviews
Google Maps URL
Timezone Offset
Official Website

We typically start by performing a search request for a specific type of business or point of interest and location, as described in our Google Maps Deep Crawl Tutorial. This will help us build a list of Google Places Place IDs from Google Maps that match our query, with basic information that may be enough for our needs.

However, you may need to collect additional data about businesses than what is returned from the search results, such as website & phone number. In this case, you can build a list of IDs from the standard search results and then augment them in the next step.

Note that the Google Maps Platform Terms of Service has many caveats against saving data from the API “for use outside the Services” (which does not apply to private, internal use), but does allow you to store Place IDs as an exception per the Places Web Services Documentation.

Scraping a List of Business Details

To get the full details back from each place in a list, you’ll need to individually call the details endpoint as shown above for every single ID from our search results and collect that additional data back.

To simplify this, you can use our Multiple Places Lookup Workflow and enter a list of IDs (one per line), and our service will look up the details and return everything together as a single CSV file for easier use.

Google Maps API Endpoint

If you’d prefer to directly call the Google Maps API using your own code, you can make an API request to the following endpoint, substituting $PLACE_ID with the individual ID and $API_KEY with your Google Maps API Key:

curl 'https://maps.googleapis.com/maps/api/place/details/json?placeid=$PLACE_ID&key=$API_KEY'

And you’ll get back the JSON response object described above, returning the additional fields we summarized which you can parse and process using your own custom software.