Skip to content

πŸ‘‹ HOLA πŸ‘‹ HOLA πŸ‘‹ HOLA ! ENJOY OUR GOOGLE MAPS SCRAPER πŸš€ TO EFFORTLESSLY EXTRACT DATA SUCH AS NAMES, ADDRESSES, PHONE NUMBERS, WEBSITES, AND RATINGS FROM GOOGLE MAPS WITH EASE! πŸ€–

License

Notifications You must be signed in to change notification settings

007-JB/google-maps-scraper

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

54 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

omkar

✨ Google Maps Scraper πŸ€–

πŸ’¦ Enjoy the Rain of Google Maps Leads πŸ’¦

(Programming Language - Python 3)

google-maps-scraper forks Repo stars google-maps-scraper License issues

View


🌟 Get 120 Leads in 10 Minutes! πŸ€–

🌟 Overview

Welcome to the Google Maps Scraper, a powerful scraper designed to scrape upto 1200 Google Map Leads in just 1.6 Hours .

If you're looking to grow your business by connecting with potential leads discovered using Google Maps, but want to avoid the hassle of manually gathering leads from each Google Maps by copying and pasting, you've come at the Right Place.

This Google Maps Scraper is well maintained and and saves data in both CSV and JSON formats for easy use.

Below is a sample showing the data that will be generated as CSV and JSON:

title rating number_of_reviews address website phone img_link link main_category place_id categories
Tamasha 4.1 12483 In Anand House, A 28, KG Marg, Connaught Place, New Delhi, Delhi 110001 https://website-tamasha-restaurant.business.site/?utm_source=gmb&utm_medium=referral 9999477661 https://lh5.googleusercontent.com/p/AF1QipOFfAmtHyXBBWAAPqL8ifQSgDW98xOGa7_WYpmA=w426-h240-k-no https://www.google.com/maps/place/Tamasha/data=!4m7!3m6!1s0x390cfd369e6964e7:0x304898e2f2d5e7a1!8m2!3d28.6298016!4d77.2218419!16s%2Fg%2F11cmr16zjb!19sChIJ52Rpnjb9DDkRoefV8uKYSDA?authuser=0&hl=en&rclk=1 Restaurant ChIJ52Rpnjb9DDkRoefV8uKYSDA Restaurant, Bar, Continental restaurant, Italian restaurant, North Indian Restaurant
Indian Accent 4.7 8152 The Lodhi, Lodhi Rd, CGO Complex, Pragati Vihar, New Delhi, Delhi 110003 https://indianaccent.com/newdelhi 1166175151 https://lh5.googleusercontent.com/p/AF1QipMRaSvBkBK3ipKoWei-gn3IEW-2NBRwVLS-CuR-=w627-h240-k-no https://www.google.com/maps/place/Indian+Accent/data=!4m7!3m6!1s0x390cfd309eebed77:0xfd133b52e7612c26!8m2!3d28.5918336!4d77.2382224!16s%2Fg%2F11c561vl9w!19sChIJd-3rnjD9DDkRJixh51I7E_0?authuser=0&hl=en&rclk=1 Restaurant ChIJd-3rnjD9DDkRJixh51I7E_0 Restaurant, Asian restaurant, Bar, European restaurant, Fine dining restaurant, Indian restaurant
Olive Bar & Kitchen 4.6 6528 Mile 6, One Style, 8, Kalka Das Marg, Seth Sarai, Mehrauli, New Delhi, Delhi 110030 http://www.olivebarandkitchen.com/ 9910457373 https://lh5.googleusercontent.com/p/AF1QipNv1aHvISiSOPyM0tECLKe5-ND_N5s-p6ZTeKMv=w408-h306-k-no https://www.google.com/maps/place/Olive+Bar+%26+Kitchen/data=!4m7!3m6!1s0x390ce2f15b20d0fd:0xaaa8607911b1bdf!8m2!3d28.5257701!4d77.1841311!16s%2Fg%2F1q64qjzb6!19sChIJ_dAgW_HiDDkR3xsbkQeGqgo?authuser=0&hl=en&rclk=1 European restaurant ChIJ_dAgW_HiDDkR3xsbkQeGqgo European restaurant, Bar, Cafe, Fine dining restaurant, Italian restaurant, Mediterranean restaurant, Restaurant
Kiyan 4.7 639 NH-8, Samalkha, New Delhi, Delhi 110037 http://www.roseatehotels.com/newdelhi/theroseate/dine/kiyan/ 1130158676 https://lh5.googleusercontent.com/p/AF1QipM_HsL2Xojc7nHdzW14rV2Cv3joGalRODYx2fZF=w408-h278-k-no https://www.google.com/maps/place/Kiyan/data=!4m7!3m6!1s0x390d1c07eff4422b:0x8abf827be567fe7e!8m2!3d28.531523!4d77.103096!16s%2Fg%2F1pwfbhfv9!19sChIJK0L07wccDTkRfv5n5XuCv4o?authuser=0&hl=en&rclk=1 Fine dining restaurant ChIJK0L07wccDTkRfv5n5XuCv4o Fine dining restaurant, Breakfast restaurant, Continental restaurant, European restaurant, Mughlai Restaurant, North Indian Restaurant, Thai restaurant
Thyme Restaurant - The Umrao 4.5 555 National Highway 8, Rajokri Rd, D Block, Samalkha, Pushpanjali Farms, New Delhi, Delhi 110037 https://theumrao.com/dining 1147707050 https://lh5.googleusercontent.com/p/AF1QipPhEscYrXx_m8po3qEbaeA54iOslEhRA2CXgP_Y=w408-h247-k-no https://www.google.com/maps/place/Thyme+Restaurant+-+The+Umrao/data=!4m7!3m6!1s0x390d1bfec9e42687:0x14d497d545bba4b!8m2!3d28.525558!4d77.098439!16s%2Fg%2F11b5wq57rd!19sChIJhybkyf4bDTkRS7pbVH1JTQE?authuser=0&hl=en&rclk=1 Fine dining restaurant ChIJhybkyf4bDTkRS7pbVH1JTQE Fine dining restaurant, Breakfast restaurant, Chinese restaurant, Continental restaurant

πŸš€ Getting Started

If you are not a techy person or don't know how to use git. You can follow this video to make bot run.

Let's get started by generating Google Maps Leads by following these simple steps

1️⃣ Clone the Magic πŸ§™β€β™€οΈ:

git clone https://github.com/omkarcloud/google-maps-scraper
cd google-maps-scraper

2️⃣ Install Dependencies πŸ“¦:

python -m pip install -r requirements.txt

3️⃣ Let the Rain of Google Map Leads Begin 😎:

python main.py

Once the scraping process is complete, you can find your leads in the output directory.

Google Maps Data Scraper CSV Result

Video Demo

Watch this video to see the bot in action!

Google Maps Video Tutorial

πŸ€” FAQs

❓ The scraper is only retrieving 5 results. How can I scrape all Google Maps search results?

A: Open the file src/config.py and comment out the line that sets the max_results parameter.

By doing so, you can scrape all the search results from Google Maps. For example, to scrape all restaurants in Delhi, modify the code as follows:

queries = [
    {
        "keyword": "restaurants in delhi",
        # "max_results" : 5,
    },
]

❓ I want to scrape search results for a specific business in a particular location. How can I achieve that?

A: Open the file src/config.py and update the keyword with your desired search query.

For example, if you want to scrape data about stupas in Kathmandu πŸ‡³πŸ‡΅, modify the code as follows:

queries = [
    {
        "keyword": "stupas in kathmandu",
    },
]

❓ How can I filter google map search results?

A: You have the option to apply filters to your Google Maps search results using the following parameters:

  1. min_rating
  2. min_reviews
  3. max_reviews
  4. has_phone
  5. has_website

To specify filters, open src/config.py and specify your filters.

The Following example will scrape only those listings with a minimum of 5 reviews, a maximum of 100 reviews, and a phone number.

queries = [
    {
        "keyword": "restaurants in delhi",
        "min_reviews": 5 ,
        "max_reviews": 100,
        "has_phone": True,
    },
]

❓ Can I scrape more than one query using this script?

A: Absolutely! Open src/config.py and add as many queries as you like.

For example, if you want to scrape restaurants in both Delhi 😎 and Bangalore πŸ‘¨β€πŸ’», use the following code:

queries = [
    {
        "keyword": "restaurants in delhi",
    },
    {
        "keyword": "restaurants in bangalore",
    }
]

❓ How to Scrape Additional Information like Working Hours, Booking Appointment Link, Price Range?

We offer a Pro Version of our Google Maps Scraper that enables you to scrape more data points like working hours, booking appointment links, and price range for the scraped locations. Getting information like Working Hours, Booking Appointment Link and Prices Range greatly assists in Prospecting.

Below is an example of the sample lead scraped by Pro Version:

[
  [
    {
      "name": "Colonie",
      "full_address": "127 Atlantic Ave, Brooklyn, NY 11201",
      "borough": "Brooklyn Heights",
      "street": "127 Atlantic Ave",
      "city": "Brooklyn",
      "postal_code": "11201",
      "country_code": "US",
      "country": "United States of America",
      "us_state": "New York",
      "state": "New York",
      "plus_code": null,
      "latitude": 40.6908464,
      "longitude": -73.9958422,
      "time_zone": "America/New_York",
      "popular_times": null,
      "site": "http://www.colonienyc.com/",
      "phone": "+1 718-855-7500",
      "type": "American restaurant",
      "category": "restaurants",
      "subtypes": "American restaurant, Cocktail bar, Italian restaurant, Organic restaurant, Restaurant, Wine bar",
      "posts": null,
      "rating": 4.6,
      "reviews": 666,
      "reviews_data": null,
      "photos_count": 486,
      "google_id": "0x89c25a4590b8c863:0xc4a4271f166de1e2",
      "place_id": "ChIJY8i4kEVawokR4uFtFh8npMQ",
      "reviews_link": "https://search.google.com/local/reviews?placeid=ChIJY8i4kEVawokR4uFtFh8npMQ&q=restaurants+brooklyn+usa&authuser=0&hl=en&gl=US",
      "reviews_id": "-4277250731621359134",
      "photo": "https://lh5.googleusercontent.com/p/AF1QipN_Ani32z-7b9XD182oeXKgQ-DIhLcgL09gyMZf=w800-h500-k-no",
      "street_view": "https://lh5.googleusercontent.com/p/AF1QipN_Ani32z-7b9XD182oeXKgQ-DIhLcgL09gyMZf=w1600-h1000-k-no",
      "working_hours_old_format": "Monday: 5\\u20139:30PM | Tuesday: Closed | Wednesday: Closed | Thursday: 5\\u20139:30PM | Friday: 5\\u20139:30PM | Saturday: 11AM\\u20133PM,5\\u20139:30PM | Sunday: 11AM\\u20133PM,5\\u20139:30PM",
      "working_hours": {
        "Monday": "5\\u20139:30PM",
        "Tuesday": "Closed",
        "Wednesday": "Closed",
        "Thursday": "5\\u20139:30PM",
        "Friday": "5\\u20139:30PM",
        "Saturday": "11AM\\u20133PM,5\\u20139:30PM",
        "Sunday": "11AM\\u20133PM,5\\u20139:30PM"
      },
      "business_status": "OPERATIONAL",
      "about": {
        "Service options": {
          "Dine-in": true,
          "Delivery": false,
          "Takeout": false
        },
        "Health & safety": {
          "Mask required": true,
          "Staff required to disinfect surfaces between visits": true
        },
        "Highlights": {
          "Fast service": true,
          "Great cocktails": true,
          "Great coffee": true
        },
        "Popular for": {
          "Lunch": true,
          "Dinner": true,
          "Solo dining": true
        },
        "Accessibility": {
          "Wheelchair accessible entrance": true,
          "Wheelchair accessible restroom": true,
          "Wheelchair accessible seating": true
        },
        "Offerings": {
          "Coffee": true,
          "Comfort food": true,
          "Healthy options": true,
          "Organic dishes": true,
          "Small plates": true,
          "Vegetarian options": true,
          "Wine": true
        },
        "Dining options": {
          "Dessert": true
        },
        "Amenities": {
          "High chairs": true
        },
        "Atmosphere": {
          "Casual": true,
          "Cozy": true,
          "Romantic": true,
          "Upscale": true
        },
        "Crowd": {
          "Groups": true
        },
        "Planning": {
          "Dinner reservations recommended": true,
          "Accepts reservations": true,
          "Usually a wait": true
        },
        "Payments": {
          "Credit cards": true
        }
      },
      
      "range": "$$$",
      "reviews_per_score": {
        "1": 9,
        "2": 10,
        "3": 47,
        "4": 129,
        "5": 471
      },
      "reserving_table_link": "https://resy.com/cities/ny/colonie",
      "booking_appointment_link": "https://resy.com/cities/ny/colonie",
      "owner_id": "114275131377272904229",
      "verified": true,
      "owner_title": "Colonie",
      "owner_link": "https://www.google.com/maps/contrib/114275131377272904229",
      "location_link": "https://www.google.com/maps/place/Colonie/@40.6908464,-73.9958422,14z/data=!4m8!1m2!2m1!1sColonie!3m4!1s0x89c25a4590b8c863:0xc4a4271f166de1e2!8m2!3d40.6908464!4d-73.9958422"
    },
    ...
  ]
]

Moreover, the Pro Version is 6 times faster than the Free Version.

For example, while the Free Version requires 1 hr to scrape 600 leads, the Pro Version can accomplish the same task in just 10 minutes saving you significant time.

❓ How to get the Pro Version?

To obtain the Pro Version of our bot and enjoy the benefits of enriched data and time savings, you will need to sponsor the project with an amount ranging from $4 to $40. Follow these simple steps to gain access to Pro Version:

  1. Visit the Sponsership Page here
  2. Select the $4 option, or you may choose a custom amount of your choice.

  1. In the project's discussion section, leave a comment stating "Sponsored!"
  2. We will identify your email address from your GitHub Profile and send you an email containing the Pro Version of the bot as a Zip File.

Get access to the Pro Version by sponsoring the project here, and enjoy enriched data and 6x time savings.

❓ How much time does it take to scrape "n" searches?

On average, each Google Maps search gives 120 listings. It takes approximately 10 minutes to scrape these 120 listings.

To calculate the number of hours it takes to scrape "n" searches, you can google search this formula substituting n with number of searches you want to conduct:

n * 10 minutes in hour

For example, if you want to scrape 10 google map queries or 1200 listings, it will take around 1.6 hours.

❓ How can I utilize the data obtained from Google Maps?

A: Most people scrape Google Maps Listings to sell things!

For example, you can search for restaurants in Amritsar and pitch your web development services to them.

You can also find real estate listings in Delhi and promote your exceptional real estate software.

Google Maps is seriously a great platform to find B2B customers to sell things to!

❓ The code looks well-structured and organized. Most Selenium codebases are messy. How did you do it?

A: I use the Bose Framework, a Bot Development Framework that greatly simplifies the process of creating bots.

The Google Maps Scraper uses Bose to:

  1. Enable running the bot multiple times
  2. Maintain code structure
  3. Save the data as JSON and CSV
  4. Incorporate anti-bot detection features
  5. Utilize the enhanced Selenium Driver to reduce code.

You can see scrape_google_maps_links_task.py to understand the simplicity Bose Brings.

Without Bose Framework, it would be 2x more harder to make this Google Maps Scraper.

Explore the Bose Framework here.

❓ How can I thank you?

Star ⭐ the repository.

Your star will send me a Telegram Notification, and it will bring a smile to my face :)


Love It? Star It! ⭐

About

πŸ‘‹ HOLA πŸ‘‹ HOLA πŸ‘‹ HOLA ! ENJOY OUR GOOGLE MAPS SCRAPER πŸš€ TO EFFORTLESSLY EXTRACT DATA SUCH AS NAMES, ADDRESSES, PHONE NUMBERS, WEBSITES, AND RATINGS FROM GOOGLE MAPS WITH EASE! πŸ€–

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%