Google Maps Scraper avatar

Google Maps Scraper

Pricing

from $3.00 / 1,000 google maps leads

Go to Apify Store
Google Maps Scraper

Google Maps Scraper

Extract business data from Google Maps at scale. 35+ fields per place — name, address, phone, website, rating, reviews, opening hours, coordinates, and more. Free email & social media enrichment included. HTTP-only, fast, cheap.

Pricing

from $3.00 / 1,000 google maps leads

Rating

0.0

(0)

Developer

Japi Cricket

Japi Cricket

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Share

Extract detailed business data from Google Maps at scale. Get 35+ fields per place including name, address, phone, website, rating, reviews, opening hours, photos, and more. Optionally enrich with email addresses and social media profiles.

Features

  • 35+ data fields per place (address, phone, website, rating, reviews, opening hours, images, coordinates, and more)
  • Email extraction (3-layer pipeline: regex + deep crawl + MX-validated guessing, ~85% hit rate)
  • Social media profiles (LinkedIn, Facebook, Instagram, YouTube, X/Twitter, Pinterest)
  • Contact enrichment included free — no extra charge for emails and social media
  • HTTP-only architecture — no browser overhead, runs on just 256 MB of memory
  • Anti-detection built in — Chrome TLS fingerprinting, session rotation, human-like timing
  • Multi-language & multi-country — search in 28 languages across any country
  • Automatic deduplication — no duplicate results when running multiple queries
  • Pagination — automatically fetches multiple pages to reach your target count

How It Works

  1. Google Maps Search — sends HTTP requests to Google's internal Maps search API (tbm=map) to get structured JSON data. No browser needed.
  2. Data Extraction — parses 35+ fields from each business listing in a single request.
  3. Contact Enrichment (optional) — visits each business website to extract email addresses and social media profiles using a 3-layer extraction pipeline.

Input

ParameterTypeDefaultDescription
searchStringsArraystring[]["restaurant in New York"]Search queries for Google Maps
maxCrawledPlacesPerSearchinteger20Max places to extract per query (1-500)
languagestringenResult language (28 options)
countryCodestringusCountry focus for results
enrichContactsbooleanfalseExtract emails & social media from websites
enrichmentPagesstring[]["/", "/about", "/contact", "/team"]Website paths to check for contacts
maxEnrichmentConcurrencyinteger5Parallel website fetches
includeOpeningHoursbooleantrueInclude opening hours data
includeImagesbooleanfalseInclude image URLs
maxImagesinteger5Max images per place (0-20)
proxyConfigurationobjectApify Residential USProxy settings (residential required)

Example Input

{
"searchStringsArray": [
"restaurants in Manhattan New York",
"coffee shops in Brooklyn",
"hotels near Times Square"
],
"maxCrawledPlacesPerSearch": 50,
"language": "en",
"countryCode": "us",
"enrichContacts": true
}

Output

Each place produces a JSON object with 35+ fields:

{
"title": "Joe's Pizza",
"subTitle": "New York-style pizza",
"categoryName": "Pizza restaurant",
"categories": ["Pizza restaurant", "Italian restaurant"],
"placeId": "ChIJ...",
"cid": "1234567890",
"url": "https://www.google.com/maps/place/?q=place_id:ChIJ...",
"address": "7 Carmine St, New York, NY 10014",
"neighborhood": "Greenwich Village",
"street": "7 Carmine St",
"city": "New York",
"state": "NY",
"postalCode": "10014",
"countryCode": "US",
"location": { "lat": 40.7303, "lng": -74.0021 },
"plusCode": "87G8Q2JM+XX",
"website": "https://www.joespizzanyc.com",
"phone": "(212) 366-1182",
"phoneUnformatted": "+12123661182",
"totalScore": 4.5,
"reviewsCount": 12847,
"reviewsDistribution": {
"oneStar": 523,
"twoStar": 312,
"threeStar": 891,
"fourStar": 3241,
"fiveStar": 7880
},
"description": "Iconic NYC pizzeria serving classic New York-style slices since 1975.",
"priceLevel": "$",
"openingHours": [
{ "day": "Monday", "hours": "10 AM - 4 AM" },
{ "day": "Tuesday", "hours": "10 AM - 4 AM" }
],
"temporarilyClosed": false,
"permanentlyClosed": false,
"imageUrl": "https://lh5.googleusercontent.com/...",
"profilePhotoUrl": "https://lh5.googleusercontent.com/...",
"serviceOptions": ["Dine-in", "Takeout", "Delivery"],
"email": "info@joespizzanyc.com",
"socialProfiles": {
"linkedin": null,
"facebook": "https://facebook.com/joespizzanyc",
"instagram": "https://instagram.com/joespizza",
"youtube": null,
"twitter": "https://x.com/JoesPizzaNYC",
"pinterest": null
},
"searchString": "restaurants in Manhattan New York",
"rank": 1,
"scrapedAt": "2026-02-16T12:00:00.000Z"
}

Output Fields Reference

FieldTypeDescription
titlestringBusiness name
subTitlestringBusiness subtitle or tagline
categoryNamestringPrimary category
categoriesstring[]All categories
placeIdstringGoogle Maps Place ID
cidstringGoogle CID identifier
urlstringDirect Google Maps link
addressstringFull street address
neighborhoodstringNeighborhood or short address
streetstringStreet address (parsed)
citystringCity name (parsed)
statestringState or province (parsed)
postalCodestringZIP or postal code (parsed)
countryCodestringCountry code (parsed)
locationobject{ lat, lng } coordinates
plusCodestringGoogle Plus Code
websitestringBusiness website URL
phonestringFormatted phone number
phoneUnformattedstringRaw phone digits
totalScorenumberAverage rating (0-5)
reviewsCountintegerTotal review count
reviewsDistributionobjectStar breakdown (1-5)
descriptionstringBusiness description
priceLevelstringPrice indicator ($-$$$$)
openingHoursarrayHours per day of week
temporarilyClosedbooleanTemporarily closed flag
permanentlyClosedbooleanPermanently closed flag
imageUrlstringMain listing image
imageUrlsstring[]Multiple image URLs (when enabled)
profilePhotoUrlstringProfile/logo photo
serviceOptionsstring[]Service types (Dine-in, Delivery, etc.)
emailstringEmail (when enrichment enabled)
socialProfilesobjectSocial media URLs (when enrichment enabled)
searchStringstringQuery that found this place
rankintegerPosition in search results
scrapedAtstringISO timestamp

Use Cases

  • Lead generation — find businesses by category and location, get their contact info
  • Market research — analyze ratings, reviews, and pricing across competitors
  • Local SEO — audit business listings and track rankings
  • Sales prospecting — build targeted lists with email and social media
  • Data enrichment — add Google Maps data to existing business databases

Tips

  • Residential proxies are required. Google blocks datacenter IPs. Use Apify's residential proxy group.
  • Start small. Test with 20 places first to verify your queries return the right results.
  • Use specific queries. "Plumber in 90210" works better than just "plumber" — Google needs location context.
  • Enable contact enrichment when you need email/social data. It adds ~2s per place but the hit rate is high.
  • Deduplication is automatic. Run multiple overlapping queries without worrying about duplicates.