Google Maps Business & Company Data Scraper avatar

Google Maps Business & Company Data Scraper

Pricing

from $2.00 / 1,000 business records

Go to Apify Store
Google Maps Business & Company Data Scraper

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

Gyanendra Thakur

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

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, and generative 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

  1. Open the Actor in Apify Console and select the Input tab.
  2. Add one or more company search terms, such as AI companies.
  3. Enter a region, such as Gurugram, Haryana, India.
  4. Choose the maximum number of companies to save.
  5. Optionally require a website, require a phone number, or set a minimum rating.
  6. Start the run and follow progress in the log.
  7. 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. Both Gurgaon and Gurugram can be used.
  • maxResults: maximum unique records saved after filters.
  • maxSearchResultsPerQuery: maximum listing candidates collected from each result feed.
  • minRating: use 0 to include unrated companies.
  • includeOpeningHours, includeAdditionalInfo, and includeImages: 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

FieldTypeDescription
namestring or nullPublic company or business name
websitestring or nullWebsite linked from Google Maps
phonestring or nullPublic phone number
addressstring or nullFormatted business location
latitude, longitudenumber or nullCoordinates parsed from the canonical Maps URL
ratingnumber or nullAverage Google rating
reviewCountinteger or nullNumber of Google reviews/ratings when available
categorystring or nullPrimary business category
businessStatusstring or nullOperational or closed status when available
openingHoursarrayPublic weekly opening-hours rows
additionalInfoobjectAbout-tab attributes grouped by section
imageUrlstring or nullPrimary public listing image
googleMapsUrlstringCanonical listing URL
matchedQueriesarraySearch 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 tierPrice per recordPrice 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 companies instead of a broad word such as technology.
  • Add synonyms only when they discover meaningfully different listings; duplicates are removed, but their detail pages still consume time during discovery.
  • Set requireWebsite or requirePhone for lead lists, but remember that filtering happens after the detail page is opened.
  • Reduce maxSearchResultsPerQuery and disable optional enrichment for faster validation runs.
  • Keep maxConcurrency between 1 and 3. Higher browser concurrency can increase blocks and memory use.
  • Increase scrollDelayMs when 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.

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.