DEV Community

Алексей Спинов
Алексей Спинов

Posted on

How to Scrape Google Maps Business Data (Legally, Without Selenium)

Google Maps has business listings with names, addresses, phone numbers, ratings, and reviews. Here's how to extract this data.

The Legal Way: Google Places API

Google provides an official Places API. Free tier: $200/month credit.

async function searchPlaces(query, location) {
  const apiKey = 'YOUR_KEY';
  const url = `https://maps.googleapis.com/maps/api/place/textsearch/json?query=${encodeURIComponent(query)}&location=${location}&key=${apiKey}`;
  const res = await fetch(url);
  const data = await res.json();
  return data.results.map(place => ({
    name: place.name,
    address: place.formatted_address,
    rating: place.rating,
    totalReviews: place.user_ratings_total,
    types: place.types,
    placeId: place.place_id
  }));
}
Enter fullscreen mode Exit fullscreen mode

What Data You Get

  • Business name and address
  • Phone number
  • Website URL
  • Rating (1-5 stars)
  • Total review count
  • Business hours
  • Photos
  • Business category/type

Common Use Cases

  1. Lead generation — find all plumbers in Chicago
  2. Competitor analysis — map all restaurants near your location
  3. Market research — how many dentists per city?
  4. Real estate — businesses near a property
  5. Sales prospecting — build contact lists by industry

Without API Key: Alternative Approach

For small-scale research, you can use pre-built scrapers that handle the complexity:

Important: Stay Legal

  • Use official APIs when available
  • Respect robots.txt and rate limits
  • Don't scrape personal data without consent
  • Business listings (name, address, phone) are generally public data

More Scraping Guides


Need Google Maps data extracted? Business listings, reviews, contact info — $20-50. Email: Spinov001@gmail.com | Hire me

Top comments (0)