How the Google Places API Works
Every time Optiscrape sends a request for information to the Google Servers it has to include four things:
API Key + Search Coordinates + Search Term + List of Desired Attributes for each result
Optiscrape gives you full control over which attributes you want to find out during your search. Google makes certain attributes slightly more costly to access than others so it’s worth understanding how to make sure you’re only getting the ones you need. On the other hand, some information is always free! Balancing searches using free information to then optimally seach paid information without waste is one of the key strengths of the Optiscrape system.
The four tiers of information are set out below, and Optiscrape will allow you to choose whichever will be useful to you as part of your search. It is worth reiterating that if you choose ANY piece of information from a higher tier, your entire call is charged at that higher level. That is worth understanding due to the allowances you get for free every month from Google, and the difference in cost once those allowances are used.
| API Tier | Allowances and Google API Costs |
|---|---|
| Essentials (ID only) | Unlimited and Free! |
| Pro | 5,000 per month then $0.032 each (¢3.2 cents) |
| Enterprise | 1,000 per month then $0.035 each (¢3.5 cents) |
| + Atmosphere | 1,000 per month then $0.04 each (¢4.0 cents) |
As you can see, that’s quite a lot of searches so long as your search areas aren’t vast. The fields below show the information available and the tiers they sit in. Note that geographical and type information is within Pro, but contact type information (such as phone, website and hours) is within Enterprise.
This looks like a daunting list to start, but you’ll quickly learn what is useful to you. Once you do you can save your own settings in presets in the Output Selection and consistently return the same data. We have also put a “recommended” section into the Pro section to get you started which extracts some of the most useful Pro tier data. Remember you can have ALL the Pro tier data for the same usage cost as just some of it, but you may not find some fields particularly useful and it will make your data more difficult to manipulate.
Examples:
- Place ID = Charged at Essentials Free Tier
- Place ID, Location, Display Name, Address, Primary Type, Types = Charged at Pro Tier
- Place ID, Location, Display Name, Address, Primary Type, Types, Website, Phone Number = Charged at Enterprise Tier
Bear in mind that even the Free Tier search has value, as you will get a list of IDs and the number of places that exist within the boxes you are searching. This is a great way to cover lots of area for free – initially finding out if something exists and then switching Output type to search again and get the detail but only in the areas that are worthwhile. You can find out more about optimising searches on this page: Optimising with Copy Boxes
| SKU Tier | API Field | Description | Example Output |
|---|---|---|---|
| Essentials | places.id | Unique stable identifier for the place | "ChIJN1t_tDeuEmsRUsoyG83frY4" |
| Essentials | places.resource.name | API Resource Name | "places/ChIJyWEHuEmuEmsRm9hTkapTCrk" |
| Pro | places.accessibilityOptions | Accessibility-related features | {"wheelchairAccessibleEntrance":true} |
| Pro | places.addressComponents | Structured address elements | [{"long_name":"New York","types":["locality"]}] |
| Pro | places.adrFormatAddress | HTML-formatted address display string | "123 Main St" |
| Pro | places.businessStatus | Operational status | "OPERATIONAL" |
| Pro | places.containingPlaces | Larger parent areas that contain the place | "ChIJ..." (Mall ID) |
| Pro | places.displayName | Localized human-friendly display name | "Blue Bottle Coffee" |
| Pro | places.formattedAddress | Complete formatted street address | "300 Webster St, Oakland, CA 94607" |
| Pro | places.googleMapsLinks | Shareable Google Maps links | {"reviewsUri": "https://..."} |
| Pro | places.googleMapsUri | Deep-link URI to Google Maps | "https://maps.google.com/..." |
| Pro | places.iconBackgroundColor | Background color for the category icon | "#7B1FA2" |
| Pro | places.iconMaskBaseUri | Base URL to load category icons | "https://maps.gstatic.com/..." |
| Pro | places.location | Latitude and longitude coordinates | {"lat":37.8044,"lng":-122.2711} |
| Pro | places.plusCode | Open Location Code alternative address | {"globalCode": "849VCWC8+R9"} |
| Pro | places.postalAddress | Structured postal-format address | {"regionCode": "US", "postalCode": "94043"} |
| Pro | places.primaryType | Main classification | "restaurant" |
| Pro | places.primaryTypeDisplayName | Human-readable version of primary type | "Restaurant" |
| Pro | places.pureServiceAreaBusiness | Indicates business without physical customer location | false |
| Pro | places.shortFormattedAddress | Shortened informal address | "300 Webster St" |
| Pro | places.subDestinations | Nested locations (e.g., terminal, hall) | ["Terminal 1", "Gate 4"] |
| Pro | places.types | List of all place type categories | ["restaurant","cafe","food"] |
| Pro | places.utcOffsetMinutes | Local time offset from UTC | -480 |
| Pro | places.viewport | Suggested map bounding box | {"low":{"lat":37...},"high":{"lat":37...}} |
| Enterprise | places.currentOpeningHours | Today's applicable operating hours | {"openNow":true} |
| Enterprise | places.currentSecondaryOpeningHours | Secondary hours like drive-through or delivery | [{"openNow":false}] |
| Enterprise | places.internationalPhoneNumber | Phone number in standard international format | "+1 510-555-1234" |
| Enterprise | places.nationalPhoneNumber | Localized national phone number format | "(510) 555-1234" |
| Enterprise | places.priceLevel | Relative cost category such as $, $$, $$$ | "$$" |
| Enterprise | places.priceRange | Approximate price span for services or menu | {"startPrice":10, "endPrice":30} |
| Enterprise | places.rating | Average user rating score | 4.6 |
| Enterprise | places.regularOpeningHours | Standard weekly operating hours | {"periods":[...]} |
| Enterprise | places.regularSecondaryOpeningHours | Secondary schedule for normal weeks | {"periods":[...]} |
| Enterprise | places.userRatingCount | Total number of submitted ratings | 287 |
| Enterprise | places.websiteUri | Official business website URL | "https://bluebottlecoffee.com" |
| + Atmosphere | places.allowsDogs | Indicates if dogs are allowed | true |
| + Atmosphere | places.curbsidePickup | Indicates availability of curbside pickup | true |
| + Atmosphere | places.delivery | Indicates delivery service availability | true |
| + Atmosphere | places.dineIn | Indicates dine-in service availability | true |
| + Atmosphere | places.editorialSummary | Human-written descriptive summary | "Hip spot for single-origin java..." |
| + Atmosphere | places.evChargeAmenitySummary | Summary of on-site EV charging amenities | "2 connectors available" |
| + Atmosphere | places.evChargeOptions | Detailed EV charging options available | {"connectorCount": 2, "type": "J1772"} |
| + Atmosphere | places.fuelOptions | Available fuel types such as gas, diesel, electric | {"fuelPrice": {...}} |
| + Atmosphere | places.generativeSummary | AI-generated descriptive place summary | "A popular downtown cafe known for..." |
| + Atmosphere | places.goodForChildren | Indicates if child-friendly | true |
| + Atmosphere | places.goodForGroups | Indicates if suitable for groups | true |
| + Atmosphere | places.goodForWatchingSports | Indicates if the venue supports watching sports events | false |
| + Atmosphere | places.liveMusic | Indicates availability of live music | false |
| + Atmosphere | places.menuForChildren | Indicates if a children's menu is offered | true |
| + Atmosphere | places.neighborhoodSummary | Description of surrounding neighborhood | "Located in the vibrant Arts District..." |
| + Atmosphere | places.parkingOptions | Parking availability details | {"freeParkingLot": true} |
| + Atmosphere | places.paymentOptions | Accepted payment types | {"acceptsCreditCards":true} |
| + Atmosphere | places.outdoorSeating | Indicates availability of outdoor seating | true |
| + Atmosphere | places.reservable | Indicates if reservations are accepted | true |
| + Atmosphere | places.restroom | Indicates if public restrooms are available | true |
| + Atmosphere | places.reviews | List of individual customer reviews | [{"text": "Great service!", "rating": 5}] |
| + Atmosphere | places.reviewSummary | Condensed sentiment summary of reviews | "Customers love the fast service..." |
| + Atmosphere | routingSummaries* | Summary of travel and routing details | [{"duration": "10 mins", "distance": "5km"}] |
| + Atmosphere | places.servesBeer | Indicates availability of beer | true |
| + Atmosphere | places.servesBreakfast | Indicates breakfast service | true |
| + Atmosphere | places.servesBrunch | Indicates brunch service | true |
| + Atmosphere | places.servesCocktails | Indicates availability of cocktails | false |
| + Atmosphere | places.servesCoffee | Indicates coffee availability | true |
| + Atmosphere | places.servesDessert | Indicates dessert availability | true |
| + Atmosphere | places.servesDinner | Indicates dinner service | false |
| + Atmosphere | places.servesLunch | Indicates lunch service | true |
| + Atmosphere | places.servesVegetarianFood | Indicates vegetarian-friendly meals | true |
| + Atmosphere | places.servesWine | Indicates wine availability | false |
| + Atmosphere | places.takeout | Indicates takeout service availability | true |

