Google Maps
Google Maps Places search — full place data sourced live from Google Maps. Ratings, reviews, hours, photos, contact info, amenities, and AI summaries.
/v1/serp/google-mapsA live text search across Google Maps that returns rich, structured place data — sourced directly from the Google Maps Places (New) API, not a SERP scrape. Send any natural-language query ("restaurants in chicago", "24h pharmacy near london bridge", "electric car chargers manhattan") and get back full business profiles in one call.
Usage
const res = await fetch('https://api.yepapi.com/v1/serp/google-maps', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
query: 'restaurants in chicago',
limit: 10,
open_now: true,
rank_by: 'relevance',
}),
});
const { data } = await res.json();
console.log(data.results[0]);curl -X POST https://api.yepapi.com/v1/serp/google-maps \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "restaurants in chicago", "limit": 10}'Request Body
| Parameter | Type | Required | Description | Default |
|---|---|---|---|---|
query | string | Yes | Text query, e.g. "restaurants in chicago", "coffee shops near times square". | — |
limit | number | No | Number of places to return (1–20). Use nextPageToken for more. | 10 |
language | string | No | BCP-47 language code (e.g. en, es, fr). | "en" |
region | string | No | CLDR region code (e.g. us, gb, de). Biases results to a country. | — |
rank_by | string | No | "relevance" or "distance". distance requires latitude + longitude + radius. | "relevance" |
open_now | boolean | No | Restrict to places open at request time. | false |
min_rating | number | No | Minimum average star rating (0.0–5.0). | — |
price_levels | string[] | No | Filter by price tier(s). Any of free, inexpensive, moderate, expensive, very_expensive. | — |
included_type | string | No | Restrict to a single Google Place type (e.g. restaurant, cafe, bar, gym). | — |
latitude | number | No | Center latitude for an optional location bias circle. | — |
longitude | number | No | Center longitude for an optional location bias circle. | — |
radius | number | No | Radius in meters (1–50000). All three of latitude, longitude, radius must be provided together. | — |
Response
{
"ok": true,
"data": {
"query": "restaurants in chicago",
"totalResults": 1,
"nextPageToken": "AU_ZVEFqNRxa-OTq...",
"searchUrl": "https://www.google.com/maps/search/restaurants+in+chicago",
"results": [
{
"id": "ChIJs8mbNsUsDogRUnpg-b_IK5E",
"name": "Girl & The Goat",
"primaryType": "american_restaurant",
"primaryTypeDisplay": "American Restaurant",
"types": ["brunch_restaurant", "seafood_restaurant", "american_restaurant", "restaurant", "food"],
"address": "809 W Randolph St, Chicago, IL 60607, USA",
"shortAddress": "809 W Randolph St, Chicago",
"addressComponents": {
"city": "Chicago",
"state": "Illinois",
"country": "US",
"postalCode": "60607",
"neighborhood": "Fulton Market District"
},
"phone": "(312) 492-6262",
"internationalPhone": "+1 312-492-6262",
"website": "http://www.girlandthegoat.com/",
"googleMapsUrl": "https://maps.google.com/?cid=10460675286346267218",
"latitude": 41.8841279,
"longitude": -87.6479354,
"plusCode": "86HJV9M2+MR",
"rating": 4.7,
"userRatingCount": 7713,
"priceLevel": "expensive",
"priceRange": { "min": 50, "max": 100, "currency": "USD" },
"businessStatus": "OPERATIONAL",
"openNow": false,
"hours": [
"Monday: 4:30 – 10:00 PM",
"Tuesday: 4:30 – 10:00 PM",
"Wednesday: 4:30 – 10:00 PM",
"Thursday: 4:30 – 10:00 PM",
"Friday: 4:30 – 11:00 PM",
"Saturday: 4:00 – 11:00 PM",
"Sunday: 10:00 AM – 2:00 PM, 4:30 – 10:00 PM"
],
"nextOpenTime": "2026-04-22T21:30:00Z",
"timezone": "America/Chicago",
"summary": "Hot spot where Stephanie Izard serves up innovative small plates...",
"aiSummary": "Cool eatery serving small dishes as well as familiar fare based on American recipes...",
"reviewSummary": "People say this restaurant serves delicious goat empanadas, skirt steak, and great cocktails.",
"iconUrl": "https://maps.gstatic.com/mapfiles/place_api/icons/v2/restaurant_pinlet.png",
"iconBackgroundColor": "#FF9E67",
"amenities": {
"dineIn": true,
"takeout": true,
"delivery": false,
"reservable": true,
"servesDinner": true,
"servesCocktails": true,
"outdoorSeating": false,
"goodForGroups": true
},
"payments": {
"acceptsCreditCards": true,
"acceptsDebitCards": true,
"acceptsNfc": true,
"acceptsCashOnly": false
},
"parking": {
"paidStreetParking": true,
"valetParking": true
},
"accessibility": {
"wheelchairAccessibleEntrance": true,
"wheelchairAccessibleRestroom": true,
"wheelchairAccessibleSeating": true
},
"photos": [
{
"reference": "places/ChIJs8mbNsUsDogRUnpg-b_IK5E/photos/AU_ZVEFd3Y9YtVSYWUZf4lYRda5p51TB2iSOLW...",
"width": 1200,
"height": 788,
"attribution": "Girl & The Goat",
"googleMapsUrl": "https://www.google.com/maps/place//data=!3m4!1e2!3m2!..."
}
],
"topReview": {
"rating": 5,
"text": "Dining at Girl & the Goat was an amazing experience for my family on Christmas!...",
"author": "Jisoo Choi",
"publishedAt": "2026-01-15T18:12:52Z",
"relativeTime": "3 months ago"
},
"directionsUrl": "https://www.google.com/maps/dir//...",
"reviewsUrl": "https://www.google.com/maps/place//...",
"photosUrl": "https://www.google.com/maps/place//...",
"writeReviewUrl": "https://www.google.com/maps/place//..."
}
]
}
}Response Fields
| Field | Type | Description |
|---|---|---|
data.query | string | Echo of the text query you submitted. |
data.totalResults | number | Number of places returned in this response (≤ limit). |
data.nextPageToken | string? | Pagination token. Include in your next request to fetch more results. |
data.searchUrl | string? | Direct Google Maps search URL for the same query. |
data.results[].id | string | Stable Google Place ID — use it to look the place up later. |
data.results[].name | string | Display name as shown on Google Maps. |
data.results[].primaryType | string | Primary place type, e.g. american_restaurant, cafe, gym. |
data.results[].primaryTypeDisplay | string | Human-friendly version of primaryType (e.g. "American Restaurant"). |
data.results[].types | string[] | All place categories Google associates with this place. |
data.results[].address | string | Full formatted street address. |
data.results[].shortAddress | string | Short address (street + city only). |
data.results[].addressComponents | object | Parsed city, state, country, postalCode, neighborhood. |
data.results[].phone | string? | National format phone number. |
data.results[].internationalPhone | string? | E.164 international format phone number. |
data.results[].website | string? | Business website URL. |
data.results[].googleMapsUrl | string? | Direct Google Maps URL for the place. |
data.results[].latitude / longitude | number | Geographic coordinates. |
data.results[].plusCode | string? | Open Location Code (Plus Code) global identifier. |
data.results[].rating | number? | Average star rating (0.0–5.0). |
data.results[].userRatingCount | number? | Total number of user ratings. |
data.results[].priceLevel | string? | One of free, inexpensive, moderate, expensive, very_expensive. |
data.results[].priceRange | object? | { min, max, currency } for restaurants where Google has price data. |
data.results[].businessStatus | string? | OPERATIONAL, CLOSED_TEMPORARILY, or CLOSED_PERMANENTLY. |
data.results[].openNow | boolean? | Whether the place is open right now. |
data.results[].hours | string[]? | Array of 7 weekday-formatted opening hours strings. |
data.results[].nextOpenTime | string? | ISO-8601 timestamp of the next time this place will be open. |
data.results[].timezone | string? | IANA timezone (e.g. America/Chicago). |
data.results[].summary | string? | Editorial summary written by Google. |
data.results[].aiSummary | string? | AI-generated overview (Gemini). |
data.results[].reviewSummary | string? | AI-generated summary of recent user reviews. |
data.results[].iconUrl / iconBackgroundColor | string? | Google Maps category icon and tint color. |
data.results[].amenities | object? | Boolean flags: dineIn, takeout, delivery, reservable, servesBeer, servesWine, outdoorSeating, liveMusic, goodForChildren, allowsDogs, goodForGroups, etc. |
data.results[].payments | object? | acceptsCreditCards, acceptsDebitCards, acceptsNfc, acceptsCashOnly. |
data.results[].parking | object? | Parking flags such as freeParkingLot, paidStreetParking, valetParking. |
data.results[].accessibility | object? | Wheelchair accessibility flags. |
data.results[].photos | object[]? | Up to 10 place photos with reference, width, height, attribution, googleMapsUrl. |
data.results[].topReview | object? | Most recent featured review: rating, text, author, publishedAt, relativeTime. |
data.results[].directionsUrl / reviewsUrl / photosUrl / writeReviewUrl | string? | Deep links into Google Maps. |
Pagination
When more results exist, the response includes a nextPageToken. Send the same query plus the token in a follow-up request to fetch the next page.
Pricing
$0.01 per call regardless of how many places are returned. No monthly minimums.
This endpoint queries the Google Maps Places (New) API directly (places:searchText). All fields are sourced from Google Maps in real time and normalized into the response shape above.