Google Maps Business Directory avatar

Google Maps Business Directory

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Google Maps Business Directory

Google Maps Business Directory

Search Google Maps by query + location and extract PUBLIC business listing data for market research: name, category, address, rating, review count, website, phone, and opening hours.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

jose olmedo soto aguirre

jose olmedo soto aguirre

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Extract public business listings from Google Maps by search query + location/zone. Built for market research and B2B lead generation in Colombia and LatAm.

Ethics & scope: This actor collects only public business attributes shown on Google Maps listing cards/panels (name, category, address, rating, review count, website, business phone if shown, opening hours). It is not designed to harvest personal contacts, private profiles, or emails. Use responsibly, respect Google’s Terms of Service, and apply rate limits.


What you get

FieldDescription
placeIdGoogle place identifier when available
nameBusiness name
categoryCategory / type (when shown)
addressPublic address
ratingStar rating (e.g. 4.5)
reviewCountNumber of reviews
websitePublic website URL (if listed)
phoneBusiness phone shown on the listing (if listed)
openingHoursHours snippet if visible
mapsUrlGoogle Maps URL
searchQuery / locationYour input echo
scrapedAtISO timestamp

Results are deduplicated by placeId, or by name + address when placeId is missing.


Input

FieldRequiredDefaultNotes
searchQuerye.g. cafeterías, gimnasios, coworking
locatione.g. Bogotá, Colombia, Chapinero, Bogotá
maxResults20Max 100
languageeses / en / pt
proxyConfigurationApify Proxy onRecommended for Google Maps

Example input

{
"searchQuery": "cafeterías",
"location": "Bogotá, Colombia",
"maxResults": 10,
"language": "es",
"proxyConfiguration": {
"useApifyProxy": true
}
}

Sample output (real run)

Search: cafeterías in Bogotá, Colombia (maxResults: 10) — local apify run, 2026-07-29. Extracted 10 unique businesses.

{
"placeId": "0x8e3f9aa7c7d75f0f:0xac7b506ab04e46e7",
"name": "Café San Alberto Usaquén",
"category": "Cafetería",
"address": "Cl. 117 # 6A-47 6a",
"rating": 4.6,
"reviewCount": null,
"website": "http://www.cafesanalberto.com/",
"phone": "317 5026246",
"openingHours": "Cerrado",
"mapsUrl": "https://www.google.com/maps/place/Café+San+Alberto+Usaquén/...",
"searchQuery": "cafeterías",
"location": "Bogotá, Colombia",
"scrapedAt": "2026-07-29T04:32:32.343Z"
}

Other names from the same run: Érase una vez café de especialidad, Azahar Café, Gracia - Coffee & Brunch, Café Cécile, Café Mundano, Arte y pasión Café, Casa Galería, Café Amor Perfecto Chapinero Alto, Juan Valdez - Zona G.


Use cases

  • Competitive map of cafés, restaurants, gyms, clinics, or retail in a city/zone
  • Density / coverage analysis for expansion (e.g. Bogotá neighborhoods)
  • B2B outreach lists of businesses (website + public business phone only)
  • Enrich market research decks with ratings and review volume

How it works

  1. Opens Google Maps search for searchQuery + location
  2. Scrolls the results feed with concurrency 1 and 3–5s delays
  3. Extracts public card/panel fields with resilient selectors
  4. Deduplicates and pushes structured dataset items
  5. Optionally enriches a small subset by opening place panels (website / phone / hours)

Stack: Apify SDK + Crawlee + Playwright, Apify Proxy, Docker image apify/actor-node-playwright-chrome.


Pricing (suggested)

PlanPriceBest for
Pay per result$1.50 – $3.00 / 1,000 placesOccasional market maps
Rental$29 – $49 / monthAgencies & recurring research

Configure in Apify Console → Actor → Publication → Pricing.

Recommended compute: start with $1.50–2.00 / 1,000 results for list-only scrapes; closer to $3.00 if you enable heavier enrichment.


Local development

cd google-maps-business-directory
npm install --registry https://registry.npmjs.org/
# Ensure APIFY_TOKEN is available (parent ../.env or export)
export $(grep -v '^#' ../.env | xargs)
apify run

Input for local runs: storage/key_value_stores/default/INPUT.json.

Push to Apify:

export $(grep -v '^#' ../.env | xargs)
apify push

Responsible use

  • Only public business listing data
  • Do not use this actor to collect personal emails or private contact databases
  • Keep maxResults reasonable; concurrency is fixed at 1 with delays
  • Comply with Google Terms of Service and applicable privacy laws (e.g. Colombia’s Law 1581 / Habeas Data for any downstream CRM use of business contacts)

Limitations

  • Google Maps UI changes can break selectors; the actor fails gracefully and logs warnings
  • CAPTCHA / soft blocks may reduce yield — use Apify Proxy (residential if needed)
  • Not every listing shows website, phone, or hours
  • maxResults capped at 100 per run

Support

Built for Colombian / LatAm market research workflows. Open an issue on the Actor page or contact the publisher on Apify.