Google Maps Scraper avatar

Google Maps Scraper

Pricing

from $4.00 / 1,000 results

Go to Apify Store
Google Maps Scraper

Google Maps Scraper

Get Google Maps place search results and place details as structured JSON.

Pricing

from $4.00 / 1,000 results

Rating

0.0

(0)

Developer

Logical Variety

Logical Variety

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Security

Limited permissions

Share

Get Google Maps place search results and place details as structured JSON.

Pick an action and fill in its fields — the Actor fetches the data once and stores the answer in the dataset: a list as one item per element.

Input

action is required and selects what to fetch.

Each action uses only its own fields: fields of other actions are ignored and not sent. A key that is not a field of this Actor (e.g. a typo) fails the run. Required fields are checked before any request; an empty or whitespace-only string counts as a missing value.

ActionWhat it returnsRequiredOptional
searchSearch placesquery, lat, lngzoom, count, offset, hl, gl
itemPlace detailsid or cidquery, hl, gl
FieldTypeDescription
querystringSearch query, e.g. coffee. For "item" it is an optional hint for the place.
latnumberLatitude of the search center, e.g. 40.758.
lngnumberLongitude of the search center, e.g. -73.9855.
zoomnumberMap zoom level.
countinteger, >= 1Number of results to return.
offsetinteger, >= 0Pagination offset, starting from 0.
idstringGoogle place ID starting with ChIJ, e.g. ChIJEy5iuLhZwokRGjVWgph7E7g: identifiers.id of a search result; "item" needs id or cid.
cidstringPlace CID in 0xHEX:0xHEX format, e.g. 0x89c259b8b8622e13:0xb8137b988256351a: identifiers.cid of a search result; "item" needs id or cid.
hlstringInterface language, e.g. en.
glstringCountry code, e.g. us.

Example:

{"action":"search","query":"coffee","lat":40.758,"lng":-73.9855,"hl":"en","gl":"us"}

Output

  • search (places): one dataset item per element of the list, as is. The rest of the answer (cursor, counters and other fields without the list) is stored in key-value store record PAGE_INFO; an answer with nothing but the list writes no record. An empty list stores no items.
  • item: the JSON object of the answer as one dataset item, as is.
  • A rejected value (e.g. a query the source does not accept) or an item the source reports as missing is stored as one item { "success": false, "response": 2, "response_type": "invalid request", "message": "..." } ("response": 10, "page not found" when the source reports 404 or 410) and the run still succeeds. Only error items have the success field.
  • The run fails without storing data when the input is invalid (checked before any request), the data source is unavailable or returns an unexpected answer, or it does not answer within 60 seconds.

Pricing

This Actor uses pay-per-event pricing: you pay for the Actor start and for each result, platform usage (compute) is included. The prices are on the Actor's page in Apify Store.

  • A result is one dataset item with data: search — each element of the list; item — the answer.
  • Only the Actor start is charged for an error item, an empty list and a run that fails.
  • With a maximum cost per run set, the Actor stores only as many items as the limit covers: the rest of the answer is not stored.

Run via API

curl -X POST \
"https://api.apify.com/v2/acts/logical_variety~google-maps/run-sync-get-dataset-items?token=<APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"action":"search","query":"coffee","lat":40.758,"lng":-73.9855,"hl":"en","gl":"us"}'