Google Maps Business & Company Data Scraper
Pricing
from $2.00 / 1,000 business records
Google Maps Business & Company Data Scraper
Find businesses by keyword and region on Google Maps. Extract company names, websites, phone numbers, addresses, ratings, review counts, categories, coordinates, and Maps URLs—no Places API key required.
Pricing
from $2.00 / 1,000 business records
Rating
0.0
(0)
Developer
Gyanendra Thakur
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
What does Google Maps Regional Company Scraper do?
Google Maps Regional Company Scraper finds companies by keyword and location, then extracts their public business details directly from Google Maps. For example, enter AI companies and Gurugram, Haryana, India to collect company names, websites, addresses, ratings, review counts, phone numbers, coordinates, opening hours, categories, and listing URLs.
It is a browser-based Google Places API alternative built with Crawlee, Playwright, and Camoufox, so it does not require a Google Places API key. Run it manually, on a schedule, or through the Apify API, and connect the resulting dataset to tools such as Google Sheets, Make, Zapier, or your own lead-processing workflow. Apify also provides run monitoring, storage, integrations, and optional proxy rotation.
Why use Google Maps Regional Company Scraper?
- Build regional company and supplier lists without manually opening every Maps result.
- Find public business websites and phone numbers for sales research.
- Compare local competitors by rating, review count, category, and location.
- Discover companies across cities, districts, states, or countries.
- Combine synonyms such as
AI companies,machine learning companies, andgenerative AI startups, while automatically deduplicating listings. - Preserve all search terms that matched each company.
- Schedule recurring searches and consume results through the Apify API.
The Actor first scrolls each Maps search-result feed, collects canonical place URLs, and deduplicates them. It then opens the discovered place pages with Camoufox-controlled Playwright browsers and extracts the details that Google Maps publicly exposes.
How to scrape Google Maps companies by region
- Open the Actor in Apify Console and select the Input tab.
- Add one or more company search terms, such as
AI companies. - Enter a region, such as
Gurugram, Haryana, India. - Choose the maximum number of companies to save.
- Optionally require a website, require a phone number, or set a minimum rating.
- Start the run and follow progress in the log.
- Open the Output tab to review, filter, or download the company dataset.
No API key is needed. For a quick first run, keep concurrency at 2, use one focused search term, and request 20-50 results.
Input
See the Input tab for the full configuration form. A minimal input looks like this:
{"searchTerms": ["AI companies"],"region": "Gurugram, Haryana, India","maxResults": 100,"requireWebsite": false,"requirePhone": false}
Important options include:
searchTerms: company types or keywords. Each term is combined with the selected region.region: a city, district, state, or country. BothGurgaonandGurugramcan be used.maxResults: maximum unique records saved after filters.maxSearchResultsPerQuery: maximum listing candidates collected from each result feed.minRating: use0to include unrated companies.includeOpeningHours,includeAdditionalInfo, andincludeImages: control slower enrichment work.proxyConfiguration: optional Apify or custom proxy rotation for larger runs.
Output
Results are saved to the default Apify dataset. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
{"locationKey": "data:0x390d19abcd:0x1234abcd","name": "Example AI Technologies","category": "Software company","website": "https://example.com/","domain": "example.com","phone": "+91 124 123 4567","address": "Sector 44, Gurugram, Haryana 122003, India","latitude": 28.4519,"longitude": 77.0712,"rating": 4.6,"reviewCount": 128,"businessStatus": "OPERATIONAL","openingHours": [{ "day": "Monday", "hours": "9:00 AM-6:00 PM" }],"googleMapsUrl": "https://www.google.com/maps/place/Example+AI/","matchedQueries": ["AI companies"],"searchedRegion": "Gurugram, Haryana, India","scrapedAt": "2026-07-28T08:30:00.000Z"}
Fields that are not shown by a particular Maps listing are returned as null, an empty array, or an empty object. Google Maps does not expose an official Place ID on every browser page, so the Actor also returns a stable locationKey, Maps dataId, and cid when available.
Data table
| Field | Type | Description |
|---|---|---|
name | string or null | Public company or business name |
website | string or null | Website linked from Google Maps |
phone | string or null | Public phone number |
address | string or null | Formatted business location |
latitude, longitude | number or null | Coordinates parsed from the canonical Maps URL |
rating | number or null | Average Google rating |
reviewCount | integer or null | Number of Google reviews/ratings when available |
category | string or null | Primary business category |
businessStatus | string or null | Operational or closed status when available |
openingHours | array | Public weekly opening-hours rows |
additionalInfo | object | About-tab attributes grouped by section |
imageUrl | string or null | Primary public listing image |
googleMapsUrl | string | Canonical listing URL |
matchedQueries | array | Search terms through which the listing was found |
How much does it cost to scrape Google Maps?
This Actor uses pay-per-event pricing, so the main charge is based on successfully extracted business records saved to the default dataset:
| Store tier | Price per record | Price per 1,000 records |
|---|---|---|
| No discount | $0.0025 | $2.50 |
| Bronze | $0.0024 | $2.40 |
| Silver | $0.0022 | $2.20 |
| Gold | $0.0020 | $2.00 |
An Actor-start event costs $0.00005 for runs allocated up to 1 GB of memory. Above 1 GB, Apify charges one start event per allocated GB, so a 4 GB run has a $0.00020 start charge. The start event includes the first five seconds of platform compute.
Only records successfully written to the default dataset are billed as business records. If a run reaches the maximum charge selected by the user, the Actor stops the crawler instead of continuing to consume compute without delivering more paid output. Apify's plan credits and limits can change; see the current Apify pricing page.
Tips and advanced options
- Use focused terms such as
AI software companiesinstead of a broad word such astechnology. - Add synonyms only when they discover meaningfully different listings; duplicates are removed, but their detail pages still consume time during discovery.
- Set
requireWebsiteorrequirePhonefor lead lists, but remember that filtering happens after the detail page is opened. - Reduce
maxSearchResultsPerQueryand disable optional enrichment for faster validation runs. - Keep
maxConcurrencybetween 1 and 3. Higher browser concurrency can increase blocks and memory use. - Increase
scrollDelayMswhen Maps loads result cards slowly. - For larger or repeated runs, use a suitable residential proxy and keep a conservative request rate.
- Google Maps can return a direct place page instead of a result feed for very specific queries; the Actor handles both layouts.
FAQ, disclaimers, and support
Does this Actor guarantee every company in a region?
No. It extracts the listings Google Maps returns for the supplied terms and region. Google controls ranking, result limits, localization, and listing availability. Use multiple precise terms when coverage matters, and treat the output as Maps search results rather than a complete legal registry.
Why is a field null or empty?
The business may not publish it, the detail may be hidden behind a different localized layout, or Google may have changed the page. Try English (en) first and check the run log for blocked requests.
Is scraping Google Maps legal?
Use this Actor only for lawful purposes and review Google Maps' terms plus the laws that apply to you. The Actor is designed to extract public business-listing data and does not intentionally collect private user data. Results can still contain personal data, such as a sole trader's phone number. Personal data is protected by the GDPR and other regulations. Do not scrape or use personal data unless you have a legitimate legal basis; consult a qualified lawyer when unsure.
For problems or selector regressions, open the Actor's Issues tab and include a redacted input plus the relevant run-log excerpt. Programmatic users can find request examples and client snippets in the Actor's API tab. Custom regional enrichment or output fields can be added as a tailored solution.