Google Maps Business Data Scraper - Low Cost API avatar

Google Maps Business Data Scraper - Low Cost API

Pricing

$0.30 / 1,000 unique business result writtens

Go to Apify Store
Google Maps Business Data Scraper - Low Cost API

Google Maps Business Data Scraper - Low Cost API

Fast, low-cost Google Maps scraper and API for structured business listings, local business data, lead generation, and predictable per-result billing.

Pricing

$0.30 / 1,000 unique business result writtens

Rating

0.0

(0)

Developer

Liou

Liou

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Fast, low-cost Google Maps scraper and business data API for extracting public local business listings into normalized rows with a predictable run-wide result cap. Use it for lead generation, local market research, directory building, sales prospecting, automation, and AI-agent workflows without paying for review, photo, email, or social-profile enrichment you did not ask for.

Google Maps business data scraper and API

This Actor searches Google Maps by business query and location, then returns one normalized business per dataset row. It is designed for simple, repeatable collection with a hard global limit across the entire run.

Key features:

  • One global maxResults cap across all queries in the run.
  • One unique business per dataset row, with cross-query deduplication.
  • Public business fields such as name, category, address, phone, website, rating, review count, coordinates, Place ID, Maps URL, and opening hours when available.
  • HTTP-first collection path with no browser in the normal runtime.
  • Structured dataset output plus a machine-readable run summary.
  • Works from Apify Console, API calls, automations, and AI-agent workflows.

Pricing

The billable event is business-result at $0.0003 per delivered business row, equal to $0.30 per 1,000 results. There is no separate Actor-start event in the current pricing configuration.

Only rows actually accepted for output are charged as business-result. A query that returns no businesses produces no business-result charge. The runtime also checks the available event budget before collection so it does not intentionally collect beyond the affordable result count.

Input

In Apify Console, the main path is intentionally three steps: choose what businesses to find, where to search, and the maximum number of unique results. Country and language stay optional and use suggested dropdown values while still accepting custom codes for global coverage.

The same input works through the API:

{
"queries": ["dentist", "orthodontist"],
"location": "Austin TX USA",
"country": "US",
"language": "en",
"maxResults": 100
}

maxResults is a total cap for the whole run, not a per-query limit. If you provide multiple queries, all of them share the same cap. For example, two queries with maxResults: 100 return at most 100 total unique businesses, not 200.

country is an optional two-letter country hint. language controls the Google Maps interface language used for the request. The location can be a city, region, or another human-readable place description.

Output fields

Each dataset row can include:

  • name, category, address, city, state, postalCode, and country
  • latitude and longitude
  • phone, website, and normalized domain
  • rating and reviewsCount
  • placeId and googleMapsUrl
  • structured openingHours as { day, hours } objects
  • closedStatus, the matched query, and result rank

Google Maps does not expose every field for every business, so public fields such as phone, website, opening hours, region, or review count can be null when they are not present in the search response.

Run summary

The default key-value store contains an OUTPUT record with:

  • requestedMaxResults
  • returnedResults
  • hardLimitHonored
  • failedQueries
  • budgetLimited

Failure behavior

A query that returns zero businesses is not treated as a failure. If one query encounters a source error, other queries can still return rows; failed query names and reasons are recorded in failedQueries instead of discarding successful results from the same run.

The Actor enforces the requested hard cap after normalization and deduplication. If the available pay-per-event budget is lower than maxResults, the effective collection limit is reduced before work starts and budgetLimited is set in the run summary.

Common use cases

  • Build local business prospect lists for sales and outreach.
  • Compare business density, ratings, categories, and websites across cities.
  • Feed normalized Google Maps business records into CRMs, spreadsheets, databases, or ETL pipelines.
  • Power AI agents that need structured local-business data instead of manually browsing Maps pages.
  • Create directories or internal research datasets with a predictable maximum result count.

API and automation

The Actor uses the same structured input in Apify Console and through the Apify API. Dataset rows are suitable for JSON export and downstream automation, while the OUTPUT summary gives machines a compact way to verify whether the requested cap was honored and whether any query failed.

For stable integrations, treat nullable fields as optional business data and use placeId as the preferred business identity when it is available.

Notes

This Actor extracts public listing information exposed by Google Maps search responses. Source availability and field completeness can change over time. The Actor does not automatically crawl reviews, photos, emails, social profiles, or business websites for enrichment, which keeps the output focused and the per-result pricing predictable.