Google Maps Data Scraping for F&B Industry

Job ID: 39727346

Budget: $250 – $750 USD

Project Title: Advanced Google Maps Scraper for F&B Industry with Dynamic Filtering

We are seeking an experienced data scraping specialist to develop a robust, high-performance bot that extracts comprehensive data from Google Maps. This tool is for a market research project focused specifically on the Food & Beverage (F&B) industry (e.g., restaurants, cafes, bars, bakeries).
The bot must perform a two-stage process:
* Discovery: Search Google Maps based on specific keywords and location criteria.
* Filtering & Extraction: Filter the search results based on performance metrics (rating, number of reviews) and then scrape an extensive and specific set of data points for each qualified business.
The final deliverable should be a clean, well-documented, and reliable command-line application that can run on both Linux and Windows.
Core Functional Workflow
The script must execute the following steps precisely:
* Input: Read a config.json file to get the search query and filtering conditions.
* Search: Perform a search on Google Maps using the provided query (e.g., "Restaurant in Istanbul, Kadikoy").
* Discovery: Scrape the search results pages, navigating through pagination ("next page") to collect a list of all resulting businesses (e.g., up to the first 200 results).
* Filtering: For each business found in the search results, check its summary data (overall rating and total reviews count) against the conditions specified in the config.json file.
* Queueing: Create a final list of businesses that strictly meet the filtering criteria.
* Deep Scraping: For each business in the filtered list, navigate to its individual Google Maps page and scrape the complete, detailed data schema specified below.
* Output: Save the collected data in the user-specified format (JSON, CSV, or Excel).
Input Specifications
The script must be configurable via a config.json file in the root directory.
Example config.json structure:
{
"search_query": {
"keyword": "Restaurant",
"location": "Kadikoy, Istanbul"
},
"filter_conditions": {
"min_rating": 4.5,
"min_reviews": 500,
"max_reviews": 10000
},
"output_format": "json"
}

Required Data Fields (Mandatory Data Schema)
For each business that passes the filter, the following data points must be scraped. The field names below are the required keys for the final data output.
1. General Business Information
* place_id, name, site, category, subtypes, phone, full_address, street, city, postal_code, state, country_code, latitude, longitude, time_zone, rating (overall rating), reviews (total review count), google_id
2. Individual Review Details
* review_id, review_rating (the rating given in this specific review), review_text, review_datetime_utc, review_timestamp, review_likes, review_has_photo, review_photos_count, review_photos (as a list of photo URLs)
3. Review Author Information
* author_title (author's name), author_id, author_url, author_image (profile image URL), author_reviews_count, author_level (Local Guide level, if available)
4. Owner's Response Details
* owner_response (the text of the owner's reply), owner_response_datetime_utc, owner_response_timestamp
5. Google's AI-Generated Analysis (Review Topics)
* location_analysis: A list of objects, where each object represents a topic/keyword mentioned in reviews.
* Object Structure: { "name": "Service", "count": "182", "reviews_ids": ["Chd...", "Chd..."] }
Technical & Non-Functional Requirements
* Technology Stack: Python is the preferred language, utilizing robust libraries such as Scrapy, Playwright, or Selenium for scraping and Pandas for data structuring. We are open to other efficient technology stacks if well-justified.
* Execution Environment: The application must be a Command-Line Interface (CLI) tool. It must be cross-platform and run flawlessly on both Linux (e.g., Ubuntu) and Windows. No GUI is required.
* Output Formats: The script must support exporting data into three formats: JSON, Excel (.xlsx), and CSV.
* Anti-Scraping Measures: The bot must be built to be resilient against Google's anti-scraping mechanisms. This includes implementing effective proxy rotation and user-agent management.
* Deliverables:
* Full, clean, and well-commented source code.
* A requirements.txt (or equivalent) file for easy installation of dependencies.
* A comprehensive README.md file explaining installation, configuration, and execution.
Proposal Requirements
To be considered, your proposal must include:
* Your fixed price for the entire project.
* Your estimated delivery timeline in days.
* A brief description of your experience with similar data scraping projects, especially with Google Maps. Please provide links or examples of past work if possible.
* A short overview of your proposed technical approach and the main libraries you intend to use.
We are looking for a skilled developer who can deliver a high-quality, reliable tool. We look forward to reviewing your proposals.