google-maps-places

The places Google Maps lists for a search, in Google's order, one row per place: name, place id and cid, category, address, map point, rating and review count, phone, website, today's opening hours and the place's Maps link. query is what you would type in Google Maps ("coffee"); location the city or area ("Austin, TX"), or leave it empty and put the place in the query; limit how many places (default 20, at most 100). About 1 to 3 s for 20 places; when Google Maps does not answer, a slower second source does (minutes).

stagedgoogle.comWASM module15 fields3-4 units for 20 places; at most 42fresh 1 h
‹ Recipes
…json
POST api.crawl4ai.com/recipes/…

$ crawl recipe

              
Live · your key · counts against your quota✓ 200 OK
# Hit Run - the rows render here as a table, with the cost

Fields

15 columns on every row. null means the site does not state it.
fieldtypemeaning
positionintegerThe place's rank in Google's list, 1 for the first.
place_idstringGoogle's place id (ChIJ...), the id Google's Places API and Maps links use.
cidstringGoogle's customer id of the place, a decimal number as a string (the cid in a maps?cid= link).
namestringThe place's name as Google Maps shows it.
categorystringThe place's main category ("Coffee shop").
categoriesstring[]Every category Google gives the place, the main one first.
addressstringThe street address as Google shows it in the list ("221 W N Loop Blvd, Austin, TX 78751"); the second source adds the country.
latitudenumberThe place's latitude, decimal degrees.
longitudenumberThe place's longitude, decimal degrees.
ratingnumberThe average star rating, 1 to 5, one decimal; null when the place has no reviews.
review_countintegerHow many Google reviews the place has; null when Google did not say.
phonestringThe phone number in international form ("+1 512-454-3762"); null when Google shows none.
websitestringThe place's own website; null when it has none.
hoursobjectOpening hours by day, {"Saturday": "8:30 AM–3 PM"}: today's line only from Google's list, every day of the week when the second source answered; null when Google shows none.
urlstringThe place's Google Maps link, by its place id.

null means the site does not state it.

positionintegerThe place's rank in Google's list, 1 for the first.
place_idstringGoogle's place id (ChIJ...), the id Google's Places API and Maps links use.
cidstringGoogle's customer id of the place, a decimal number as a string (the cid in a maps?cid= link).
namestringThe place's name as Google Maps shows it.
categorystringThe place's main category ("Coffee shop").
categoriesstring[]Every category Google gives the place, the main one first.
addressstringThe street address as Google shows it in the list ("221 W N Loop Blvd, Austin, TX 78751"); the second source adds the country.
latitudenumberThe place's latitude, decimal degrees.
longitudenumberThe place's longitude, decimal degrees.
ratingnumberThe average star rating, 1 to 5, one decimal; null when the place has no reviews.
review_countintegerHow many Google reviews the place has; null when Google did not say.
phonestringThe phone number in international form ("+1 512-454-3762"); null when Google shows none.
websitestringThe place's own website; null when it has none.
hoursobjectOpening hours by day, {"Saturday": "8:30 AM–3 PM"}: today's line only from Google's list, every day of the week when the second source answered; null when Google shows none.
urlstringThe place's Google Maps link, by its place id.

How it behaves

Cost. 3-4 units for 20 places; at most 42. A failed run costs 0.

Freshness 1 h. The same input within 1 h is served from cache at 0 units.

How it answers. Answers at once for one input; a large run goes as a job you poll.

Questions about this recipeQuestions

Short answers. The API reference has the long ones.

Call POST /recipes/google-maps-places with your key and query and location and limit. You get rows with the 15 fields above. The recipe is tested against the live site every 6 hours.

Need more from Google Maps?

Extra fields, higher volume, or a private copy with a freshness SLA. We build it on Enterprise.

Request a change

For developers

Get a free API key and run your first crawl.

1,000 credits every month. No credit card. Your self-hosted setup keeps working.

For teams

Talk to us about volume, regions and an SLA.

A 30-minute call with the team that writes the crawler. DPA on request, invoice billing, your choice of US, EU or Singapore.