Google Maps Business Scraper — Extract Businesses & Leads avatar

Google Maps Business Scraper — Extract Businesses & Leads

Pricing

from $10.00 / 1,000 results

Go to Apify Store
Google Maps Business Scraper — Extract Businesses & Leads

Google Maps Business Scraper — Extract Businesses & Leads

An Apify Actor that scrapes business listings from Google Maps search results using Playwright. - **Search-based scraping**: Enter search queries like "restaura

Pricing

from $10.00 / 1,000 results

Rating

0.0

(0)

Developer

Julien ApiKiy

Julien ApiKiy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

18 days ago

Last modified

Categories

Share

Google Maps Business Scraper

An Apify Actor that scrapes business listings from Google Maps search results using Playwright.

Features

  • Search-based scraping: Enter search queries like "restaurants paris" or "plombier nancy"
  • Rich data extraction: Business name, address, phone, website, rating, review count, opening hours, coordinates, Google Maps URL
  • Anti-detection: Random delays, user-agent rotation, webdriver spoofing
  • No proxy required: Works with direct connections
  • Pagination support: Automatically scrolls to load more results
  • Error handling: Built-in retries and graceful failure handling
  • Multi-language support: French, English, German, Spanish, Italian, Dutch, Portuguese, Polish

Input

FieldTypeDefaultDescription
searchQueriesstring[]requiredList of search queries (e.g., ["restaurants paris", "plombier nancy"])
maxResultsnumber20Maximum results per query (1-100)
languagestring"fr"Google Maps language code
maxConcurrencynumber2Concurrent browser tabs
maxRetriesnumber3Retries for failed requests
delayMinnumber2000Min delay between requests (ms)
delayMaxnumber5000Max delay between requests (ms)
debugModebooleanfalseEnable debug logging

Output

Each business listing contains:

FieldTypeDescription
namestringBusiness name
addressstringFull address
phonestringPhone number
websitestringWebsite URL
ratingnumberGoogle rating (0-5)
reviewCountnumberNumber of reviews
openingHoursstringOpening hours summary
coordinatesobject{ lat: number, lng: number }
googleMapsUrlstringDirect Maps link
searchQuerystringOriginal search query
scrapedAtstringISO timestamp

Usage

Via Apify Platform

  1. Go to Apify Console
  2. Search for "Google Maps Business Scraper" or create a new actor
  3. Provide your search queries and configuration
  4. Run the actor

Via Apify CLI

$apify call -i input.json

Example Input

{
"searchQueries": ["restaurants paris", "plombier nancy"],
"maxResults": 20,
"language": "fr"
}

Example Output

[
{
"name": "Restaurant Le Petit Cler",
"address": "29 Rue Cler, 75007 Paris",
"phone": "+33 1 45 55 12 34",
"website": "https://www.lepetitcler.fr",
"rating": 4.5,
"reviewCount": 342,
"openingHours": "Lundi-Vendredi: 12:00–14:30, 19:00–22:30",
"coordinates": { "lat": 48.8566, "lng": 2.3522 },
"googleMapsUrl": "https://www.google.com/maps/place/...",
"searchQuery": "restaurants paris",
"scrapedAt": "2024-01-15T10:30:00.000Z"
}
]

Running Locally

# Install dependencies
npm install
# Run the actor
npm start
# Run tests
npm test

Docker

# Build the image
docker build -t google-maps-scraper .
# Run with input
docker run -e APIFY_TOKEN=your_token google-maps-scraper

Notes

  • Rate limiting: The actor includes random delays (2-5s by default) to avoid triggering Google's anti-bot measures
  • No proxy needed: The actor works without a proxy by rotating user agents and using anti-detection techniques
  • Language support: Set the language parameter to control the Google Maps interface language
  • Results vary: Google Maps results may vary based on location, time, and personalization

Limitations

  • Google Maps may occasionally show CAPTCHAs or block automated access
  • Some business details may not be available for all listings
  • Opening hours may be approximate or outdated
  • Results are limited by Google Maps' own pagination

💰 Pricing

Pay-per-use, no monthly fees:

Price
Actor start$0.01
Per result$0.01

💡 Example: A run returning 500 results costs $5.01 total ($0.01 start + 500 × $0.01).

License

ISC