

利用 Google 地图发现并收集具有销售潜力的本地商家潜在客户,这些潜在客户拥有公司简介、网站、电话号码、评论、决策者联系方式和已验证的电子邮件,可用于开展推广活动。
This Google Maps data scraping tool can extract various publicly available place-related data from the Google Maps platform, covering multi-dimensional information to meet diverse needs such as business research, market analysis, and travel planning. The obtainable data includes:
Basic Identification Information: Google Maps place-specific URL, place name, unique place ID, associated links
Geographic Location Information: Detailed address, structured complete address (including borough, street, city, postal code, state/province, country), geographic coordinates (latitude and longitude), Google Plus Code
Review & Rating Information: Overall rating, total number of reviews, star rating distribution (number of reviews corresponding to each star level from 1 to 5), user review details (including reviewer's name, avatar, review time, rating, review text, attached images), direct link to the review page
Basic Operation Information: Regular and holiday business hours, contact phone number, official website link, business status (open/closed, etc.), price range indicator (e.g., $, $$, $$$)
Category & Attribute Information: Main category (e.g., "Café", "Museum", "Historical Landmark"), subcategory list, service options (e.g., wheelchair access, in-store service, etc.), supplementary descriptive content of the place
Supplementary Derivative Information: Place photo links, thumbnail links, peak visitor hour distribution data, related recommended search terms, operator information, reservation methods, online ordering channels, menu details (if available)
To facilitate the subsequent analysis, management, and application of data, the scraping results support export in the following two structured data formats:
JSON: Suitable for data transmission and processing in programming scenarios, which can completely retain the hierarchical structure of complex data (such as nested objects and arrays for reviews and addresses).
CSV: Can be directly imported into spreadsheet software (e.g., Excel, Google Sheets) for quick sorting, filtering, and statistical analysis, which is very user-friendly for non-technical users.
Yes, the data obtained by this tool is 100% real-time and up-to-date.
Each scraping request directly pulls the latest public data from Google Maps servers, without relying on any local cache or third-party data warehouses. This ensures that the information you obtain, such as ratings, reviews, business hours, and business status, is completely synchronized with the content displayed on the Google Maps platform, effectively guaranteeing the timeliness and accuracy of the data and providing a reliable basis for decision-making.
The public row shape is selected by lead_gen_packs. The runtime table header and every emitted row use the same ordered contract; output_schema.json stores the exact 65-field static union.
| Pack | Public fields | Image policy |
|---|---|---|
lead_enrichment | 63 | Fetch and count up to 10 images |
email_outreach | 63 | Fetch and count up to 10 images |
business_insight | 62 | Paginate until exhausted, capped at 1000; export images_count and images |
data_id remains public in every pack and is the stable key used by staged upsert_data(row, "data_id") updates.
The projection renames title to name, place_id to placeid, url to google_maps_url, owner_name to owner_title, and booking_url to reservation_links. It also expands location into latitude/longitude and rating_distribution into rating_1_count through rating_5_count.
name is the Google Maps listing name. company_name uses the first explicit identity available from official-website structured metadata, LinkedIn company/profile enrichment, or other social profile names. When none of those sources provides a name, it falls back to the Google Maps listing name.
company_email is an array of objects with email, email_status, and email_is_business. contact_profiles is an array of complete contact objects; each object contains all 11 public contact fields, with unavailable values kept as null. The aliases email_status and is_business_email are not exported. Social links are de-duplicated URL arrays. All three packs expose linkedin_profiles, facebook_profiles, instagram_profiles, youtube_profiles, and tiktok_profiles as structured objects.
company_address prefers an address from the official website. Explicit address sources such as JSON-LD, <address>, and social profile address fields retain their original string when normalization cannot improve it; social addresses only fill an empty website address. Social phone values are appended to company_phone and de-duplicated.
business_insight exports the complete review contract: review_rating, review_count, reviews_link, structured reviews, and rating_1_count through rating_5_count.
lead_enrichmentemail_outreachbusiness_insightThe UI contract is defined by input_schema.json, copied byte-for-byte from the reference project. It contains the category/general-query switch, 4274 category options, locationCascade, pack selection, review controls, quick filters, and advanced filters.
keyword, keywords, and optionally place_categories. When exact_match=false, no exact category filter is applied.^ChI[A-Za-z0-9_-]{20,}$ is a Place ID; only http/https URLs on google.com or www.google.com under /maps/place/ or /maps/search/ are Maps URLs; everything else is a keyword./maps/place/ uses the direct detail path. /maps/search/ parses its query and viewport; query_place_id takes priority when present.base_location accepts the locationCascade object or a legacy string. Object values are joined as city, state, country, with recognized country aliases normalized to two-letter codes.lead_gen_packs selects lead_enrichment. Pack mapping controls social, email verification, details, contacts, reviews, reservations, online ordering, and web-result enrichment exactly as defined in input_mapping.py.The complete input-to-output linkage table is maintained in doc/input_switch_output_manual.html.