Google Map Scraper
Pricing
from $5.00 / 1,000 results
Go to Apify Store

Google Map Scraper
Extract company profiles from Google Maps search results using custom queries. Collect structured business data like name, industry, address, contact details, ratings, and website, ready in dataset/CSV format for lead generation or analysi
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Komala Maran
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
0
Monthly active users
5 days ago
Last modified
Categories
Share
Google Maps Company Scraper (Apify Actor)
This Actor scrapes company profiles from Google Maps search results and exports structured business data.
What it does
- Builds a Google Maps query from your input parameters.
- Opens the Google Maps search result list for that query.
- Scrolls the result feed until it collects enough place links.
- Saves search-list results to the default Apify dataset as soon as links are collected, so output is available before short run timeouts.
- Visits remaining place detail pages only when there is enough time and the result was not already saved.
- Extracts normalized company fields from the best data available before timeout.
Extracted output fields
Each dataset item contains:
companyNamecompanyIndustrylocationRegionexactAddressservicesOfferedcompanyDomaingoogleMapsLinkcontactNumberemailIdstarRatingreviewCounttotalCompaniesFound
Input schema
The Actor expects the following input fields (configured in .actor/input_schema.json):
searchQuery(string, optional)- Main query term. If empty, query is auto-built.
location(string, required)- City/region to search in.
industryFilter(string, optional)- Used for auto-built query when
searchQueryis empty.
- Used for auto-built query when
minEmployees(integer, optional, default0)- Appended to the query when greater than 0.
maxEmployees(integer, optional)- Used with
minEmployeesfor range query text.
- Used with
numResults(integer, required, default50, max500)- Number of places to extract.
useProxy(boolean, defaulttrue)- Enables Apify Proxy configuration.
Query-building behavior
Query logic:
- Start with
searchQueryif provided. - Otherwise use:
"<industryFilter> companies"whenindustryFilteris set, or"companies"fallback.
- Append
in <location>unless the base query already includes the city name. - Append employee-size text:
with <min> to <max> employeeswhen both min and max are provided.with <min>+ employeeswhen only min is provided.
Anti-block and reliability settings
- Optional Apify Proxy support (
useProxy). - Session pool enabled.
- Persistent cookies per session enabled.
- Browser launch args include:
--disable-blink-features=AutomationControlled--lang=en-US
Tech stack
- Node.js (ES modules)
- Apify SDK (
apify) - Crawlee (
PlaywrightCrawler) - Playwright
Example input
{"searchQuery": "AI Companies","location": "Bangalore, India","industryFilter": "IT Services","minEmployees": 500,"maxEmployees": 1000,"numResults": 20,"useProxy": true}
Notes
- Data quality depends on what each Google Maps place profile exposes publicly.
- The actor prioritizes saving records before a run timeout; records saved directly from the search list may contain
N/Afor fields that require opening a detail page. emailIdis inferred asinfo@domainwhen website domain is available.contactNumbermay be parsed from page text when a direct phone selector is absent.