Google Maps Extractor avatar

Google Maps Extractor

Pricing

$19.99/month + usage

Go to Apify Store
Google Maps Extractor

Google Maps Extractor

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

ScraperForge

ScraperForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Google Maps Extractor is an Apify Actor built for bulk business discovery, lead generation, and local market research directly from Google Maps. It automates grid-based coverage for every location you give it, adds an automatic proxy ladder (direct → datacenter → residential with sticky fallback), and writes clean, deduplicated results to both the Apify Dataset and a final maps.json file in the Key-Value Store.

Why teams pick this extractor

  • Bulk inputs: mix locations, keywords, and direct Google Maps URLs in one run.
  • Reliable harvesting: retries and proxy escalation when Google rate-limits or blocks.
  • Wide coverage: grid-based viewports keep searches from missing pockets of businesses.
  • Clean outputs: deduplication by place_id and optional review capture.
  • Ready to use: sorted dataset, final merged JSON, and clear Apify logs for progress.

What the extractor collects

  • Core business details: name, website, tags, phone, address, lat/long, place_id.
  • Quality signals: rating, review counts, optional detailed reviews (text, author, rating, timestamps).
  • Hours and metadata: opening hours (best-effort), notes, success flag.

Input reference

Minimal example:

{
"locations": ["New York"],
"keywords": ["coffee shops"],
"urls": [],
"sortOrder": "relevance",
"maxComments": 0,
"maxResults": 200,
"gridSize": 15,
"proxyConfiguration": { "useApifyProxy": false }
}

Field details:

  • locations (array): City/region names used to build grid viewports. Optional if urls are provided.
  • keywords (array, required): Search keywords/terms.
  • urls (array): Direct Google Maps search URLs (bulk supported).
  • sortOrder (string): relevance | rating | review_count | distance | name.
  • maxComments (integer): Reviews per place. 0 disables review scraping.
  • maxResults (integer): Cap on total places across the whole run.
  • gridSize (integer): Grid dimension per viewport; larger values increase coverage but take longer.
  • proxyConfiguration (object): Default is direct. Actor escalates to datacenter and then residential (sticky) on blocks.

Output formats

  • Dataset: one item per place with address, rating, reviews count, phone, tags, hours, lat/long, place_id, and success.
  • Key-Value Store: maps.json containing the final, sorted list.

Sample dataset item:

{
"name": "Sample Coffee",
"website": "https://samplecoffee.com",
"avg_rating": 4.6,
"total_reviews": 128,
"street_address": "123 Main St",
"city": "New York",
"state": "NY",
"zip": "10001",
"country_code": "US",
"full_address": "123 Main St New York NY 10001 US",
"tags": ["Coffee shop"],
"notes": null,
"place_id": "abcd1234",
"phone": "+1 212-555-0100",
"lat": 40.75,
"long": -73.99,
"hours": [],
"success": true
}

How to run on Apify

  1. Open https://console.apify.com and select Google Maps Extractor.
  2. Provide inputs: locations plus keywords, or paste Google Maps search URLs.
  3. Leave proxy blank to start direct; the actor will auto-fallback to proxies if blocked.
  4. Run and monitor logs for grid coverage, proxy switches, and review progress.
  5. Download results from Dataset (table/JSON/CSV) or from Key-Value Store as maps.json.

Best use cases

  • Local lead lists by category and city for sales outreach.
  • Competitive scans across multiple regions.
  • Enriching existing place records with ratings, phones, and addresses.
  • Building marketing prospect lists for franchises or multi-location brands.
  • Market validation for site selection and territory planning.

FAQ

  • Will it always collect reviews? Reviews are best-effort; set maxComments > 0 to enable.
  • What if Google blocks me? The actor escalates from direct to datacenter to residential (sticky) with retries and logs each change.
  • How many results can I fetch? Up to maxResults total; gridSize controls coverage vs speed.
  • How is sorting applied? Final results in maps.json are sorted by the chosen sortOrder.
  • Can I mix URLs and keywords? Yes. The actor processes location/keyword combos first, then direct URLs.

Compliance

  • Data comes from public Google Maps pages.
  • Always follow local laws and Google’s terms; you are responsible for how the data is used.