Google Maps Places Scraper - Fast & Cheap

Fast, low-cost Google Maps places scraper. Get business names, addresses, phone numbers, websites, ratings, categories, coordinates, and opening hours as clean structured JSON. Built for bulk research and dataset building.

MEDIAN LAGon demand
PARAMETERS4
TOTAL USERS74
MONTHLY ACTIVE49
TOTAL RUNS609
RUNS SUCCEEDED100.0%
RATING5.0 (4)

Input parameters

PARAMETERTYPEREQDEFAULTDESCRIPTION
searchTerms string[] yes One or more searches, for example 'coffee shops in Austin, TX' or 'dentists in 90210'. Each term is searched independently.
location string no Optional place to focus all search terms on, for example 'Austin, TX, United States'. Leave blank if your terms already include a location.
maxResultsPerSearch integer no 20 How many places to return per search term. — drives your bill
language string no Optional two-letter language code for results, for example 'en', 'es', 'fr'.

Worked examples

Basic — the required input, with the schema's own example values
{
  "searchTerms": [
    "coffee shops in Austin, TX"
  ]
}

Tasks

Saved runs with the inputs already filled in — each one a standalone page and a working configuration example.

Request a task →

Code

curl

curl -X POST "https://api.apify.com/v2/acts/johnvc~google-maps-places-api/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchTerms": ["coffee shops in Austin, TX"]}'

Python

from apify_client import ApifyClient

client = ApifyClient("APIFY_TOKEN")
run = client.actor("johnvc/google-maps-places-api").call(
    run_input={'searchTerms': ['coffee shops in Austin, TX']}
)
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)