Google APIgoogle.com ↗
Retrieve place details, popular times, and shared list data from Google Maps. Covers name, address, rating, phone, photos, and live busyness via 3 endpoints.
What is the Google API?
This API provides structured data from Google Maps across 3 endpoints, covering place details, busyness histograms, and shared list contents. The get_place_details endpoint accepts a free-text query and returns fields including coordinates, phone number, website, price level, current opening status, and an array of labeled photos. The get_place_busyness endpoint adds hourly popularity data across all seven days of the week.
curl -X GET 'https://api.parse.bot/scraper/2edf1c7e-f190-4df2-81a2-cc70f45fdf2a/get_place_details?query=Empire+State+Building+New+York&price_level=%24' \ -H 'X-API-Key: $PARSE_API_KEY'
Search Google Maps for a specific place and return its detailed information including photos, popular times, and live busyness data. Returns the top matching place's name, address, coordinates, rating, review count, price level, current opening status with today's hours, phone number, website, categories, neighborhood, timezone, description, photos (logo, cover, and categorized place photos), popular times histogram showing typical busyness by hour for each day of the week, live busyness status, and business specialties/highlights. The query can be a place name, business name with address, or any search term that would work in the Google Maps search bar. An optional price_level filter can be provided; when set, the response includes price_level_filter (the requested level) and price_level_match (boolean indicating whether the place's price level matches the filter). Full place details are always returned regardless of filter match.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Place name, business name, or address to search for on Google Maps (e.g. 'Starbucks 1500 Broadway New York', 'Empire State Building', 'Central Park Zoo'). |
| price_level | string | Optional price level filter. When provided, the response includes price_level_filter and price_level_match fields indicating whether the place matches. Accepted values: '$', '$$', '$$$', '$$$$', '$100+'. |
{
"type": "object",
"fields": {
"name": "string",
"phone": "string or null if not available",
"photos": "array of photo objects each with url (direct image URL), label (e.g. logo, cover, interior, exterior), and caption string - null if no photos available",
"rating": "number or null if not available",
"address": "string",
"website": "string or null if not available",
"latitude": "number",
"place_id": "string - hex place ID",
"timezone": "string or null",
"longitude": "number",
"categories": "array of category strings",
"description": "string or null",
"price_level": "string representing the price rating as shown on Google Maps (e.g. '$', '$$', '$$$', '$$$$', '$100+') - null if not available for this place",
"specialties": "array of strings listing the business's specialties or 'from the business' highlights (e.g. 'LGBTQ+ friendly', 'Identifies as veteran-owned', 'Small business') - null if not available",
"full_address": "string",
"neighborhood": "string or null",
"review_count": "integer total number of reviews for the place - null if not available",
"live_busyness": "object with status string describing current busyness relative to usual, optionally current_hour and current_percent - null if not available or place is closed",
"opening_hours": "object with current_status, today_day, today_date, today_hours - null if not available",
"popular_times": "array of day objects each with day, day_number, and hours array containing hour, busyness_percent, description, time_label - null if not available for this place",
"price_level_match": "boolean indicating whether the place's price_level matches the requested filter - present only when price_level param is provided",
"price_level_filter": "string echoing the requested price_level filter value - present only when price_level param is provided"
},
"sample": {
"data": {
"name": "Starbucks Coffee Company",
"phone": "+1 (555) 012-3456",
"rating": 4,
"address": "1500 Broadway, New York, NY 10036",
"website": "https://www.starbucks.com/store-locator/store/13918/",
"latitude": 40.75664,
"place_id": "0x89c258552071bcb3:0x5cc7129cc313de1a",
"timezone": "America/New_York",
"longitude": -73.9859,
"categories": [
"Coffee shop",
"Breakfast restaurant",
"Cafe",
"Coffee store",
"Espresso bar",
"Internet cafe"
],
"description": "Iconic coffeehouse chain",
"full_address": "Starbucks Coffee Company, 1500 Broadway, New York, NY 10036",
"neighborhood": "Manhattan",
"opening_hours": {
"today_day": "Thursday",
"today_date": [
2026,
6,
25
],
"today_hours": [
"5 AM–12 AM"
],
"current_status": "Open · Closes 12 AM"
}
},
"status": "success"
}
}About the Google API
Place Details
The get_place_details endpoint takes a query string — a business name, address, or combination like 'Starbucks 1500 Broadway New York' — and returns the top matching result. Response fields include name, address, latitude, longitude, place_id (hex format), rating, phone, website, timezone, and a photos array. Each photo object carries a direct image url, a label (e.g. logo, cover, interior, exterior), and a caption. An optional price_level parameter filters results and adds price_level_filter and price_level_match fields to the response.
Busyness and Popular Times
The get_place_busyness endpoint accepts a full Google Maps place URL and returns a popular_times array structured by day. Each day entry includes a day name, a day_number (1 = Sunday through 7 = Saturday), and an hours array with per-hour busyness_percent values and text descriptions. When current live data is available, the live_busyness object adds a status string, current_hour, and current_percent.
Shared List Retrieval
The get_list_places endpoint accepts a full Google Maps list URL and returns every place on that list. Each place object includes name, address, latitude, longitude, place_id, and any note the list creator added. The response also includes list_title, list_description, and total_places so you can track list metadata alongside individual entries.
The Google API is a managed, monitored endpoint for google.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when google.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official google.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a store-locator that resolves business queries to verified addresses and coordinates using
get_place_details. - Aggregate popular times data across multiple venues to compare peak foot traffic by day and hour.
- Sync a curated Google Maps list into an internal database, preserving user notes via
get_list_places. - Display labeled place photos (logo, interior, exterior) pulled from the
photosarray inget_place_details. - Monitor live busyness status for a venue using the
live_busynessobject fromget_place_busyness. - Filter business search results by price level to surface budget or premium options.
- Cross-reference
place_idvalues with other datasets using the consistent hex identifier returned by all three endpoints.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Google Maps have an official developer API?+
What does the `popular_times` data include and when is live busyness available?+
popular_times array from get_place_busyness covers all seven days with hourly busyness_percent values and description strings. The live_busyness object — which includes current_percent and current_hour — is only populated when the place is currently open and real-time data exists. It returns null otherwise.Does `get_place_details` return user reviews or review text?+
rating and review_count but does not return individual review text, reviewer names, or review dates. You can fork this API on Parse and revise it to add a review-fetching endpoint.Does `get_list_places` return full place details for each item in the list?+
get_list_places endpoint returns name, address, latitude, longitude, place_id, and note for each place, but not the extended fields (photos, phone, website, rating) that get_place_details provides. You can pass each returned place_id or name to get_place_details to enrich the results, or fork the API on Parse to combine the calls into a single endpoint.Are there any coverage limitations for place data?+
phone, website, timezone, or photos. Busyness data is not available for all place types — popular_times and live_busyness will be absent for locations that Google does not track foot traffic for.