Google Maps Business Directory
Pricing
from $2.00 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
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
| Field | Description |
|---|---|
placeId | Google place identifier when available |
name | Business name |
category | Category / type (when shown) |
address | Public address |
rating | Star rating (e.g. 4.5) |
reviewCount | Number of reviews |
website | Public website URL (if listed) |
phone | Business phone shown on the listing (if listed) |
openingHours | Hours snippet if visible |
mapsUrl | Google Maps URL |
searchQuery / location | Your input echo |
scrapedAt | ISO timestamp |
Results are deduplicated by placeId, or by name + address when placeId is missing.
Input
| Field | Required | Default | Notes |
|---|---|---|---|
searchQuery | ✅ | — | e.g. cafeterías, gimnasios, coworking |
location | ✅ | — | e.g. Bogotá, Colombia, Chapinero, Bogotá |
maxResults | 20 | Max 100 | |
language | es | es / en / pt | |
proxyConfiguration | Apify Proxy on | Recommended 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
- Opens Google Maps search for
searchQuery+location - Scrolls the results feed with concurrency 1 and 3–5s delays
- Extracts public card/panel fields with resilient selectors
- Deduplicates and pushes structured dataset items
- 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)
| Plan | Price | Best for |
|---|---|---|
| Pay per result | $1.50 – $3.00 / 1,000 places | Occasional market maps |
| Rental | $29 – $49 / month | Agencies & 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-directorynpm 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
maxResultsreasonable; 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
maxResultscapped 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.