Google Maps Email Scraper: Reviews, Photos, Pixels — $2.5/1K avatar

Google Maps Email Scraper: Reviews, Photos, Pixels — $2.5/1K

Pricing

from $2.50 / 1,000 business scrapeds

Go to Apify Store
Google Maps Email Scraper: Reviews, Photos, Pixels — $2.5/1K

Google Maps Email Scraper: Reviews, Photos, Pixels — $2.5/1K

Extract Google Maps leads: contact details, phone numbers, MX-verified emails, 19 social profiles, Meta Pixel, GA & GTM detection with real IDs. Lead generation, 100+ fields, 74 languages, flat $2.50/1,000 places. Optional reviews & photos. Drop-in compatible input, MCP/AI-agent ready. CSV, Excel.

Pricing

from $2.50 / 1,000 business scrapeds

Rating

0.0

(0)

Developer

Business Monster

Business Monster

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

⚡ Try it in 30 seconds (≈ $0.13)

  1. Click Start — the form is prefilled (50 dentists in New York, add-ons off). The run finishes in about a minute and costs ~$0.13.
  2. Open the Output tab: emails with ACTIVE/INACTIVE status, social links, and Meta Pixel detection are right there in the first columns.
  3. Hit Export → CSV/Excel. Change the location and search term, raise Max total results, and run your real list — cost is always capped at that number × $0.0025.

What's included at base price

Most popular Google Maps scrapers nickel-and-dime you: a low base rate for name, address, phone, and ratings, then separate paid events for emails, social profiles, email verification, reviews, and images. The more of your data you actually need, the more those add-ons stack up.

This Actor puts the whole business record — emails, deliverability, 19 socials, ad-pixel detection, the first page of reviews, and a photo preview — into one flat price of $2.50 per 1,000 results. The only optional extras are full review history and all photo URLs for a place, and even those are priced at half what the leading competitor charges, billed per item, and only when you switch them on.

DataThis ActorPopular base + add-on scrapers
Name, category, address, phone, website, ratings✅ Included ($2.50 / 1,000)✅ Included in base
Business email from the company website✅ Included💰 Paid add-on (contact enrichment)
Email deliverability check (ACTIVE / INACTIVE)✅ Included💰 Separate paid add-on, priced per email
Social profile links✅ Included (19 networks)💰 Paid add-on (contact enrichment)
First page of reviews + photo preview✅ Included💰 Often a paid add-on
Ad / marketing pixel detection (Meta Pixel, GA, GTM, with IDs)IncludedNot offered at any price
Owner-only business photos, with upload datesIncluded (ownerImages / ownerImageUrls)❌ Not separated; photo dates/authors are a paid add-on
Every review for a place (full pagination)💠 Optional add-on — $0.25 / 1,000 reviews💰 Paid add-on, per review (≈ 2× our price)
All photo URLs for a place (full pagination)💠 Optional add-on — $0.25 / 1,000 images💰 Paid add-on, per image (≈ 2× our price)

The two add-ons default to off (maxReviews / maxImages = 0), so you never pay for them unless you deliberately ask for deep review or photo data.

A concrete comparison

Say you want 1,000 restaurant leads with emails, deliverability status, social links, the first page of reviews, and a photo preview each, plus the ability to see who already runs ads.

  • This Actor: $2.50, flat, everything above included — pixel detection and all.
  • A base + add-on scraper: the base rate is only the start — emails, social profiles, and email verification are billed as separate contact-enrichment events on top, and there is still no pixel detection at any price. For a like-for-like breakdown against the most popular competitor, see the verified comparison table below.

Need the full review history and every photo for each place? Turn on the add-ons at $0.25 per 1,000 reviews and $0.25 per 1,000 images — half what the leading competitor bills per item, and charged only for what you request.

Competitor per-event prices drop on higher paid subscription tiers, so at very high volume on a premium plan their base cost can fall below ours. What does not change: the base is one predictable price, the add-ons stay at half the competitor's rate, and the ad-pixel data is available only here.

To be straight about it, the leading competitor does offer things this Actor does not, namely person-level lead enrichment (contact name, job title, LinkedIn), social profiles enriched with follower metrics, and an AI competitor-analysis report. If those specific extras are your priority, that tool is worth a look. If you want complete business records with verified emails and ad-pixel detection at one flat price, this Actor is built for exactly that.


A Compass alternative at half the price

In short: if you are looking for an alternative to Compass (crawler-google-places) or to Outscraper, this Actor returns the same core Google Maps data — business records, emails, social profiles, reviews, photos — for roughly half the price, and includes ad-pixel detection that neither offers. Compass keeps the edge on person-level lead enrichment and its AI analysis report. Pick this one for volume and predictable cost; pick Compass if you need those two extras.

The most-used Google Maps scraper on Apify is a solid tool. This Actor delivers the shared core at roughly half the price, with everything contact-related included in the base rate instead of billed as add-ons.

Verified prices, both tools on the free tier, for 1,000 businesses:

Scenario (1,000 businesses)CompassThis ActorYou save
Business listings only$4.00$2.5037%
+ emails + social profiles (contact enrichment)$6.00$2.5058%
+ 10 reviews and 5 photos per place$13.50$6.2554%

Why the gap:

  • Emails and 19 social profiles are included in our base price. The leading scraper bills contact enrichment as a separate $0.002-per-place add-on.
  • Category and search filters are free here. It charges $0.001 per filter applied.
  • Reviews and photos are billed at $0.00025 per item — about half of the leading scraper's per-item rate — and only when you turn them on.
  • Ad-pixel detection (Meta Pixel, Google Analytics, GTM — with IDs) is included at no extra charge; the leading scraper does not offer it at any price.
  • Run reliability is public. Check the Actor Metrics box on this page for the live success rate measured by Apify; to date, every run has succeeded.

Prices verified on the free tier as of July 2026. The competitor's per-event prices drop on higher paid subscription tiers; at very high volume on a premium plan its base cost can fall below ours.


Who is this for?

Lead generation agencies. Build B2B contact lists straight from Google Maps: business name, phone, website, email, and social profiles in one export. Emails are MX-verified and pre-filtered, which saves you a separate verification pass and helps protect your sender reputation.

Advertising and marketing agencies. Pixel detection turns the dataset into a prospecting map. Filter for businesses without a Meta Pixel or Google Analytics to find companies that don't advertise yet (your next clients), or filter for businesses with pixels to qualify companies that already spend on ads.

Sales teams. Feed your CRM with structured records: contact info, opening hours, ratings, and social presence. Use maxTotalResults as a hard budget cap so a run never costs more than you planned.

Market researchers. Review counts, rating distributions, individual reviews, price brackets, opening hours, and marketing-tech adoption across an entire city or category, exported with the same column structure every time.


What can you do with the data? Five ready-made recipes

🎯 Find businesses that don't run ads yet — and pitch them first

Pixel detection tells you which businesses already invest in paid marketing and which don't. Businesses with no Meta Pixel and no Google Analytics are prime prospects for a first ad campaign.

Recipe:

  1. Run the Actor with:
    {
    "locationQuery": "Chicago, USA",
    "searchStringsArray": ["dentist"],
    "language": "en",
    "maxTotalResults": 1000
    }
  2. Open the Marketing tech view of the dataset.
  3. Filter rows where has_meta_pixel is false and has_google_analytics is false — these businesses don't run tracked ads yet.
  4. Cross-check the Contact info view and keep rows where email_durum is ACTIVE.
  5. Export as CSV: a reachable, pre-qualified prospect list for your agency pitch. Cost: 1,000 × $0.0025 = $2.50.

📧 Build a verified cold-outreach list in one run

Every record already includes the business email, MX-verified, so there is no separate scrape → verify → merge pipeline.

Recipe:

  1. Run the Actor for your niche and city (any input works; emails are always included).
  2. Open the Contact info view.
  3. Keep rows where email_durum is ACTIVE — dead mailboxes are already flagged for you.
  4. Deduplicate by the domain column so multi-location businesses get one email, not ten.
  5. Import the CSV into your outreach tool. The star ratings, review counts, and social links in the same row give you personalization material for the first line of every email.

💬 Analyze the full review history of every competitor in an area

Reviews are collected per place, with reviewer, stars, date, text, and Local Guide status — one review per row in the Reviews view.

Recipe:

  1. Run the Actor with the review add-on switched on:
    {
    "locationQuery": "Austin, USA",
    "searchStringsArray": ["coffee shop"],
    "language": "en",
    "maxTotalResults": 200,
    "maxReviews": 500
    }
  2. Open the Reviews view: every review as its own row, ready for a pivot table or an LLM summary.
  3. Use reviewsDistribution in the Photos & ratings view to spot places with unusual 1-star spikes.
  4. Cost control: 200 businesses = $0.50 base; reviews bill at $0.00025 each only beyond the free first page, capped by maxReviews.

📱 Map social-presence gaps for social media agency leads

All 19 social networks are returned as separate columns, null when absent — so "who has a website but no Instagram" is a simple filter, not a research project.

Recipe:

  1. Run the Actor for your target niche and city.
  2. Open the Social media view.
  3. Filter rows where website is filled but instagram and facebook are null — businesses that invest in a website but have no social presence.
  4. Keep rows with email_durum = ACTIVE and export: a niche-specific lead list for social media management services.

🖼 Audit how businesses present themselves (owner photos with dates)

ownerImages contains only the photos the business itself uploaded — visitor photos excluded — each with its uploadedAt date.

Recipe:

  1. Run the Actor with maxImages set (e.g. 100) if you want full photo coverage; owner photos of the first page are included by default.
  2. For each business, check the newest uploadedAt in ownerImages.
  3. Businesses whose newest owner photo is years old are neglecting their listing — a concrete, show-don't-tell opener for web design, photography, or profile-management services.

Input

FieldTypeRequiredDescription
locationQuerystringYesLocation to search, e.g. "New York, USA". One location per run.
searchStringsArrayarray of stringsYesSearch terms, e.g. ["restaurant", "cafe"]. Each term runs as a separate search.
languagestringNo (defaults to en)Result language, one of 74 codes.
maxCrawledPlacesPerSearchintegerNoMax results per search term. Leave empty to collect all available places.
maxTotalResultsintegerNoHard cap on total results across all terms. The run stops when it's reached, so you never pay for more than you asked for.
maxReviewsintegerNoReviews to collect per place, 0–5,000. Default 0 = first page only, no extra charge. Above 0 pages through the full review history, billed $0.00025 per review beyond the first page.
maxImagesintegerNoPhoto URLs to collect per place, 0–5,000. Default 0 = photo preview only, no extra charge. Above 0 pages through all photos, billed $0.00025 per image beyond the first page.

Example input

{
"locationQuery": "New York, USA",
"searchStringsArray": ["restaurant", "cafe"],
"language": "en",
"maxCrawledPlacesPerSearch": 1000,
"maxTotalResults": 1500,
"maxReviews": 0,
"maxImages": 0
}

This run searches restaurants and cafes across New York, takes up to 1,000 places per term, and stops at 1,500 results total. Maximum cost: 1,500 x $0.0025 = $3.75.

Tip: each run targets one location. To cover several cities, run the Actor once per city — or set up a schedule so each city runs automatically every week.


Output: 100+ fields per business

Everything below ships in every record, at one flat price:

🔗 Title / place name📝 Subtitle, category, place ID, CID, and URL
📍 Full address (street, neighborhood, city, postal code, state, country)🌍 Coordinates, plus code, and timezone
☎️ Phone (formatted and raw)🌐 Website, canonical URL, and bare domain
📧 Business email extracted from the company website✅ Email deliverability check (MX, ACTIVE / INACTIVE, localized)
📱 19 social networks (Instagram, Facebook, LinkedIn, YouTube, TikTok, X, WhatsApp, Pinterest, Threads, Telegram, Snapchat, Discord, Vimeo, Twitch, Medium, GitHub, GitLab, Behance, Dribbble)🎯 Ad / marketing pixel detection with IDs (Meta Pixel, Google Analytics, Google Tag Manager)
⭐️ Average rating (totalScore)📊 Review count and full star distribution
💬 Individual reviews (reviewer, text, rating, date, Local Guide)🏷 Review tags and place tags
📸 Business photos, plus owner-only photos (ownerImageUrls) separated from visitor uploads🔒 Temporarily / permanently closed status
🙋 Updates from customers, owner updates, questions & answers🔍 People also search
🍽 Menu, popular dishes, order-online and delivery links💲 Price bracket
⌚️ Opening hours and popular-times histogram➕ Detailed characteristics (additionalInfo: amenities, accessibility, payments, and more)
🪑 Table reservation and booking links🏨 Hotel details (stars, description)

Every record follows the same nested JSON schema, so exports to JSON, CSV, Excel, or XML always have a consistent shape. The dataset ships with 7 preconfigured views, so you can jump straight to the slice you need:

1. Overview

Key details at a glance, differentiators first: lead image, place name, rating, review count, email, email status (ACTIVE/INACTIVE), phone, website, Instagram, Meta Pixel flag, city, and the Google Maps link.

2. Contact info

Full contact sheet: address broken into street, neighborhood, city, postal code, state, and country, plus website, email, the email_durum field (email status), phone in formatted and raw form, coordinates, and plus code.

The email is extracted from the business website. If a site publishes several addresses, they arrive pipe-separated in the same email field ("a@x.com | b@y.com"), and email_durum aligns positionally ("ACTIVE | INACTIVE"). The value of email_durum is returned in the run's output language; English runs emit ACTIVE or INACTIVE. The email column is always present and stays empty for businesses that don't publish an address.

3. Social media

Direct profile links for the top 8 networks: Instagram, Facebook, LinkedIn, YouTube, TikTok, X (Twitter), WhatsApp, and Pinterest. The full set of 19 networks (adding Threads, Telegram, Snapchat, Discord, Vimeo, Twitch, Medium, GitHub, GitLab, Behance, Dribbble) is in the all-fields output. Networks a business doesn't use come back as null, so columns never shift.

4. Marketing tech

Website and canonical URL alongside has_meta_pixel + meta_pixel_id, has_google_analytics + google_analytics_id, and has_gtm + gtm_id. Not just yes/no flags: you get the actual tracking IDs.

5. Photos & ratings

Average rating (totalScore), review count, the full star distribution (how many 1-star through 5-star reviews), and photo count.

6. Reviews

One review per row: stars, text, publish date, likes, reviewer name, the reviewer's total review count, Local Guide status, and a link to the review.

7. Location

Address split into street, neighborhood, city, postal code, state, and country, plus the plus code, exact coordinates, and the Google Maps link.

Full field reference (all 100+ fields)

Every export carries the same columns. Grouped by what they cover:

Identity and category: title, subTitle, description, categoryName, categories, placeId, cid, fid, kgmid, price, claimThisBusiness, permanentlyClosed, temporarilyClosed, isAdvertisement, rank, searchString, searchPageUrl, language, scrapedAt, url, imageUrl

Address and location: address, street, neighborhood, city, postalCode, state, countryCode, location (lat/lng), plusCode, locatedIn, floor, timezone

Contact: phone, phoneUnformatted, phones (array), website, website_canonical, domain (bare host, e.g. casacipriani.com), email, email_durum (deliverability status, localized to the run language), emails (array)

Social profiles (19): instagram, facebook, linkedin, youtube, tiktok, x_twitter, whatsapp, pinterest, threads, telegram, snapchat, discord, vimeo, twitch, medium, github, gitlab, behance, dribbble

Each social network is a single field, and the main ones are also provided as arrays for tools that expect a list: facebooks, instagrams, linkedIns, twitters, youtubes, tiktoks, pinterests, discords. If you are migrating from another Google Maps scraper that returns social links and emails as arrays, these drop-in fields mean your existing code keeps working with no changes.

Marketing tech: has_meta_pixel, meta_pixel_id, has_google_analytics, google_analytics_id, has_gtm, gtm_id

Ratings and reviews: totalScore, reviewsCount, reviewsDistribution (1 to 5 star breakdown), reviews (individual reviews with text, stars, date, reviewer, Local Guide status, review link), reviewsTags, placesTags

Hours and traffic: openingHours, additionalOpeningHours, popularTimesHistogram, popularTimesLiveText, popularTimesLivePercent

Food, hotel and booking: menu, menuAndServices, popularDishes, restaurantData, googleFoodUrl, orderOnline, reserveTableUrl, tableReservationLinks, tableReservationProviders, bookingLinks, hotelStars, hotelDescription, hotelAds, checkInDate, checkOutDate, gasPrices, servicesLink

Media and extras: imagesCount, imageUrls, ownerImageUrls (photos uploaded by the business owner only, visitor photos excluded), ownerImages (same owner photos as objects with uploadedAt date), imageCategories, additionalInfo (amenities and attributes), questionsAndAnswers, updatesFromCustomers, ownerUpdates, webResults, peopleAlsoSearch, leadsEnrichment

Fields that don't apply to a place come back as null or empty, never missing, so your columns are identical on every run.

Example record

This is a complete, real record from a live New York restaurant run, all 102 fields. Long arrays are shortened only for display (2 of 8 reviews, 3 of 4 images, one day of the popular-times histogram, one menu section) and marked accordingly; a live run returns everything in full:

{
"title": "Genesis House",
"subTitle": null,
"description": "A SOPHISTICATED OASIS IN THE HEART OF NEW YORK CITY’S MEATPACKING DISTRICT",
"price": "$100+",
"categoryName": "Korean restaurant",
"address": "40A 10th Ave, New York, NY 10014",
"neighborhood": "Manhattan",
"street": "40A 10th Ave",
"city": "New York",
"postalCode": "10014",
"state": "New York",
"countryCode": "US",
"website": "https://www.genesishouse.com/us/en/nyc/index.html",
"phone": "(855) 444-0836",
"phoneUnformatted": "+18554440836",
"claimThisBusiness": false,
"location": {
"lat": 40.741485999999995,
"lng": -74.008156
},
"locatedIn": null,
"floor": null,
"plusCode": "PXRR+HP New York",
"menu": "https://www.genesishouse.com/us/en/nyc/restaurant.html",
"servicesLink": null,
"totalScore": 4.6,
"permanentlyClosed": false,
"temporarilyClosed": false,
"placeId": "ChIJP1f9kMNZwokRYE4hg0tw_CE",
"categories": [
"Korean restaurant",
"Cafe",
"Cultural center",
"Event venue",
"Tea house"
],
"fid": "0x89c259c390fd573f:0x21fc704b83214e60",
"cid": "2448955767007563360",
"reviewsCount": 675,
"reviewsDistribution": {
"oneStar": 31,
"twoStar": 11,
"threeStar": 35,
"fourStar": 75,
"fiveStar": 523
},
"imagesCount": 2558,
"imageCategories": [
"All",
"Latest",
"Videos",
"Menu",
"Food & drink",
"Vibe",
"Quinoa",
"Soba",
"Street View & 360°"
],
"scrapedAt": "2026-07-28T15:41:32.323Z",
"reserveTableUrl": "https://www.google.com/maps/reserve/v/dine/c/taYSHp_BslQ?source=pa&opi=79508299&hl=en-US&gei=q81oar25LrW35OUPkZid8Q0&ahbb=1&sourceurl=https://www.google.com/maps/preview/place?authuser%3D0%26hl%3Den%26gl%3Dus%26pb%3D!1m16!1s0x89c259c390fd573f:0x21fc704b83214e60!3m8!1m3!1d94.31803513076062!2d-74.008156!3d40.741485999999995!3m2!1i1400!2i19!4f13.1!4m2!3d40.741485999999995!4d-74.008156!15m2!1m1!4s!12m4!2m3!1i360!2i120!4i8!13m57!2m2!1i203!2i100!3m2!2i4!5b1!6m6!1m2!1i86!2i86!1m2!1i408!2i240!7m33!1m3!1e1!2b0!3e3!1m3!1e2!2b1!3e2!1m3!1e2!2b0!3e3!1m3!1e8!2b0!3e3!1m3!1e10!2b0!3e3!1m3!1e10!2b1!3e2!1m3!1e10!2b0!3e4!1m3!1e9!2b1!3e2!2b1!9b0!15m8!1m7!1m2!1m1!1e2!2m2!1i195!2i195!3i20!14m2!1s__and__hotel_and_vr_pa!7e81!15m108!1m28!13m9!2b1!3b1!4b1!6i1!8b1!9b1!14b1!20b1!25b1!18m17!3b1!4b1!5b1!6b1!9b1!13b1!14b1!17b1!20b1!21b1!22b1!30b1!32b1!33m1!1b1!34b1!36e2!10m1!8e3!11m1!3e1!17b1!20m2!1e3!1e6!24b1!25b1!26b1!27b1!29b1!30m1!2b1!36b1!37b1!39m3!2m2!2i1!3i1!43b1!52b1!55b1!56m1!1b1!61m2!1m1!1e1!65m5!3m4!1m3!1m2!1i224!2i298!72m22!1m8!2b1!5b1!7b1!12m4!1b1!2b1!4m1!1e1!4b1!8m10!1m6!4m1!1e1!4m1!1e3!4m1!1e4!3sother_user_google_review_posts__and__hotel_and_vr_partner_review_posts!6m1!1e1!9b1!89b1!90m2!1m1!1e2!98m3!1b1!2b1!3b1!103b1!113b1!114m3!1b1!2m1!1b1!117b1!122m1!1b1!126b1!127b1!128m1!1b0!21m0!22m1!1e81!30m6!3b1!6m1!2b1!7m1!2b1!9b1!34m5!7b1!10b1!14b1!15m1!1b0!37i785!39zR2VuZXNpcyBIb3VzZQ%26q%3DGenesis%2BHouse",
"googleFoodUrl": null,
"hotelStars": null,
"hotelDescription": null,
"checkInDate": null,
"checkOutDate": null,
"hotelAds": [],
"popularTimesLiveText": "Not too busy",
"popularTimesLivePercent": 11,
"popularTimesHistogram": {
"Su": [
{
"hour": 6,
"occupancyPercent": 0
},
{
"hour": 7,
"occupancyPercent": 0
},
{
"hour": 8,
"occupancyPercent": 0
},
{
"hour": 9,
"occupancyPercent": 0
},
{
"hour": 10,
"occupancyPercent": 0
},
{
"hour": 11,
"occupancyPercent": 55
},
{
"hour": 12,
"occupancyPercent": 66
},
{
"hour": 13,
"occupancyPercent": 71
},
{
"hour": 14,
"occupancyPercent": 73
},
{
"hour": 15,
"occupancyPercent": 80
},
{
"hour": 16,
"occupancyPercent": 87
},
{
"hour": 17,
"occupancyPercent": 71
},
{
"hour": 18,
"occupancyPercent": 63
},
{
"hour": 19,
"occupancyPercent": 57
},
{
"hour": 20,
"occupancyPercent": 61
},
{
"hour": 21,
"occupancyPercent": 0
},
{
"hour": 22,
"occupancyPercent": 0
},
{
"hour": 23,
"occupancyPercent": 0
}
]
},
"openingHours": [
{
"day": "Monday",
"hours": "Closed"
},
{
"day": "Tuesday",
"hours": "11 AM to 9 PM"
},
{
"day": "Wednesday",
"hours": "11 AM to 9 PM"
},
{
"day": "Thursday",
"hours": "11 AM to 9 PM"
},
{
"day": "Friday",
"hours": "11 AM to 9 PM"
},
{
"day": "Saturday",
"hours": "11 AM to 9 PM"
},
{
"day": "Sunday",
"hours": "11 AM to 9 PM"
}
],
"peopleAlsoSearch": [
{
"category": "Korean",
"title": "Oiji Mi",
"reviewsCount": 1280,
"totalScore": 4.6
},
{
"category": "Korean",
"title": "Jeju Noodle Bar",
"reviewsCount": 3484,
"totalScore": 4.6
}
],
"placesTags": [],
"reviewsTags": [],
"additionalInfo": {
"Service options": [
{
"Outdoor seating": true
},
{
"Dine-in": true
},
{
"Delivery": true
},
{
"Takeout": true
}
],
"Highlights": [
{
"Fast service": true
},
{
"Great cocktails": true
},
{
"Great tea selection": true
},
{
"Rooftop seating": true
}
],
"Popular for": [
{
"Lunch": true
},
{
"Dinner": true
},
{
"Solo dining": true
}
],
"Accessibility": [
{
"Wheelchair accessible entrance": true
},
{
"Wheelchair accessible restroom": true
},
{
"Wheelchair accessible seating": true
},
{
"Wheelchair accessible parking lot": true
}
],
"Offerings": [
{
"Alcohol": true
},
{
"Beer": true
},
{
"Cocktails": true
},
{
"Coffee": true
},
{
"Hard liquor": true
},
{
"Healthy options": true
},
{
"Small plates": true
},
{
"Vegetarian options": true
},
{
"Wine": true
}
],
"Dining options": [
{
"Lunch": true
},
{
"Dinner": true
},
{
"Dessert": true
},
{
"Seating": true
},
{
"Table service": true
}
],
"Amenities": [
{
"Bar onsite": true
},
{
"Restroom": true
},
{
"Wi-Fi": true
}
],
"Atmosphere": [
{
"Cozy": true
},
{
"Romantic": true
},
{
"Trendy": true
},
{
"Upscale": true
}
],
"Crowd": [
{
"Groups": true
},
{
"Tourists": true
}
],
"Planning": [
{
"Dinner reservations recommended": true
},
{
"Accepts reservations": true
}
],
"Payments": [
{
"Credit cards": true
},
{
"Debit cards": true
},
{
"NFC mobile payments": true
}
],
"Children": [
{
"High chairs": true
}
],
"Parking": [
{
"Paid parking lot": true
},
{
"Paid street parking": true
},
{
"Parking": true
}
]
},
"additionalOpeningHours": null,
"gasPrices": [],
"url": "https://www.google.com/maps/search/?api=1&query=Genesis%20House&query_place_id=ChIJP1f9kMNZwokRYE4hg0tw_CE",
"searchPageUrl": null,
"searchString": null,
"language": "en",
"rank": null,
"isAdvertisement": false,
"imageUrl": "https://lh3.googleusercontent.com/gps-cs-s/AHRPTWlcZFM68DKyBWRk-trpsrN8xD7Vndm1-cM7YiUuiuH224g76qlIObB9wrDC3uiYlD_TA0d6C5dEo7kZhiLKngd3BXt0xzsPznLT5Gg3-jXCgfHNRqg7wQvNV2p52L5B42TtfyF6Dw=w114-h86-k-no",
"kgmid": "/g/11k5lqdsjl",
"questionsAndAnswers": [],
"updatesFromCustomers": {
"text": "Service and attention was amazing! Order Hwemuchim (fluke) and Jaeyook Gui(pork belly). Wash it all down with a True Smoke. It will not disappoint!",
"language": "en",
"postDate": "13 hours ago",
"postedBy": {
"name": "Jaisy George",
"url": "https://www.google.com/maps/contrib/111737648989239431808?hl=en-US",
"title": "Local Guide",
"totalReviews": 26
},
"media": [
{
"link": "https://lh3.googleusercontent.com/grass-cs/ACvplmP81fXyVI_Tx_053Z5YI_ZNErtvvPq2YJ9es3Vt740ciRYnVn1RvbDUcoZJWSlQtDxueDOHb3IbYGZ9FbxlSu5pm-sgMPBa74uexZCJ2zYKU-8LfjoUfOHlRvxpUTT9BpWJYrydven2ebdE=k-no",
"postDate": "13 hours ago"
},
{
"link": "https://lh3.googleusercontent.com/grass-cs/ACvplmPVQRSoWEjLkhygT_dcVxAQdpFk-J0yvqJ8KnpGXNhMVrzlAFgUPNLjPXsVYODc3jJOzrvA298xCuE0bYY6NF8ZYr3RnV_f9cmcXglhLQp58S41LKV2ra0gI0IPQkbl0DM5jJsTcrEx05h_=k-no",
"postDate": "13 hours ago"
},
{
"link": "https://lh3.googleusercontent.com/grass-cs/ACvplmOfoIPDaXYgEJ2I7lj9vzzJ-G9DZNBid0LwlVYo3hbGSj-DxjNEn_PcaLeQA_0SaWZTmPfjS0cDtwdMj490cpD4HHTEEqSqp0gA1Vbr03Z936ahDwQArMTSt3hqx8Q16hX6ZaQAIRzbi6nF=k-no",
"postDate": "13 hours ago"
}
]
},
"webResults": null,
"tableReservationLinks": [
{
"name": "Reserve a table",
"url": "https://www.google.com/maps/reserve/v/dine/c/taYSHp_BslQ?source=pa&opi=79508299&hl=en-US&gei=q81oar25LrW35OUPkZid8Q0&ahbb=1&sourceurl=https://www.google.com/maps/preview/place?authuser%3D0%26hl%3Den%26gl%3Dus%26pb%3D!1m16!1s0x89c259c390fd573f:0x21fc704b83214e60!3m8!1m3!1d94.31803513076062!2d-74.008156!3d40.741485999999995!3m2!1i1400!2i19!4f13.1!4m2!3d40.741485999999995!4d-74.008156!15m2!1m1!4s!12m4!2m3!1i360!2i120!4i8!13m57!2m2!1i203!2i100!3m2!2i4!5b1!6m6!1m2!1i86!2i86!1m2!1i408!2i240!7m33!1m3!1e1!2b0!3e3!1m3!1e2!2b1!3e2!1m3!1e2!2b0!3e3!1m3!1e8!2b0!3e3!1m3!1e10!2b0!3e3!1m3!1e10!2b1!3e2!1m3!1e10!2b0!3e4!1m3!1e9!2b1!3e2!2b1!9b0!15m8!1m7!1m2!1m1!1e2!2m2!1i195!2i195!3i20!14m2!1s__and__hotel_and_vr_pa!7e81!15m108!1m28!13m9!2b1!3b1!4b1!6i1!8b1!9b1!14b1!20b1!25b1!18m17!3b1!4b1!5b1!6b1!9b1!13b1!14b1!17b1!20b1!21b1!22b1!30b1!32b1!33m1!1b1!34b1!36e2!10m1!8e3!11m1!3e1!17b1!20m2!1e3!1e6!24b1!25b1!26b1!27b1!29b1!30m1!2b1!36b1!37b1!39m3!2m2!2i1!3i1!43b1!52b1!55b1!56m1!1b1!61m2!1m1!1e1!65m5!3m4!1m3!1m2!1i224!2i298!72m22!1m8!2b1!5b1!7b1!12m4!1b1!2b1!4m1!1e1!4b1!8m10!1m6!4m1!1e1!4m1!1e3!4m1!1e4!3sother_user_google_review_posts__and__hotel_and_vr_partner_review_posts!6m1!1e1!9b1!89b1!90m2!1m1!1e2!98m3!1b1!2b1!3b1!103b1!113b1!114m3!1b1!2m1!1b1!117b1!122m1!1b1!126b1!127b1!128m1!1b0!21m0!22m1!1e81!30m6!3b1!6m1!2b1!7m1!2b1!9b1!34m5!7b1!10b1!14b1!15m1!1b0!37i785!39zR2VuZXNpcyBIb3VzZQ%26q%3DGenesis%2BHouse"
}
],
"tableReservationProviders": [
"Reserve a table"
],
"bookingLinks": [
{
"name": "Reserve a table",
"url": "https://www.google.com/maps/reserve/v/dine/c/taYSHp_BslQ?source=pa&opi=79508299&hl=en-US&gei=q81oar25LrW35OUPkZid8Q0&ahbb=1&sourceurl=https://www.google.com/maps/preview/place?authuser%3D0%26hl%3Den%26gl%3Dus%26pb%3D!1m16!1s0x89c259c390fd573f:0x21fc704b83214e60!3m8!1m3!1d94.31803513076062!2d-74.008156!3d40.741485999999995!3m2!1i1400!2i19!4f13.1!4m2!3d40.741485999999995!4d-74.008156!15m2!1m1!4s!12m4!2m3!1i360!2i120!4i8!13m57!2m2!1i203!2i100!3m2!2i4!5b1!6m6!1m2!1i86!2i86!1m2!1i408!2i240!7m33!1m3!1e1!2b0!3e3!1m3!1e2!2b1!3e2!1m3!1e2!2b0!3e3!1m3!1e8!2b0!3e3!1m3!1e10!2b0!3e3!1m3!1e10!2b1!3e2!1m3!1e10!2b0!3e4!1m3!1e9!2b1!3e2!2b1!9b0!15m8!1m7!1m2!1m1!1e2!2m2!1i195!2i195!3i20!14m2!1s__and__hotel_and_vr_pa!7e81!15m108!1m28!13m9!2b1!3b1!4b1!6i1!8b1!9b1!14b1!20b1!25b1!18m17!3b1!4b1!5b1!6b1!9b1!13b1!14b1!17b1!20b1!21b1!22b1!30b1!32b1!33m1!1b1!34b1!36e2!10m1!8e3!11m1!3e1!17b1!20m2!1e3!1e6!24b1!25b1!26b1!27b1!29b1!30m1!2b1!36b1!37b1!39m3!2m2!2i1!3i1!43b1!52b1!55b1!56m1!1b1!61m2!1m1!1e1!65m5!3m4!1m3!1m2!1i224!2i298!72m22!1m8!2b1!5b1!7b1!12m4!1b1!2b1!4m1!1e1!4b1!8m10!1m6!4m1!1e1!4m1!1e3!4m1!1e4!3sother_user_google_review_posts__and__hotel_and_vr_partner_review_posts!6m1!1e1!9b1!89b1!90m2!1m1!1e2!98m3!1b1!2b1!3b1!103b1!113b1!114m3!1b1!2m1!1b1!117b1!122m1!1b1!126b1!127b1!128m1!1b0!21m0!22m1!1e81!30m6!3b1!6m1!2b1!7m1!2b1!9b1!34m5!7b1!10b1!14b1!15m1!1b0!37i785!39zR2VuZXNpcyBIb3VzZQ%26q%3DGenesis%2BHouse"
}
],
"orderOnline": null,
"restaurantData": {
"tableReservationProvider": "Reserve a table"
},
"ownerUpdates": [],
"imageUrls": [
"https://lh3.googleusercontent.com/gps-cs-s/AHRPTWlcZFM68DKyBWRk-trpsrN8xD7Vndm1-cM7YiUuiuH224g76qlIObB9wrDC3uiYlD_TA0d6C5dEo7kZhiLKngd3BXt0xzsPznLT5Gg3-jXCgfHNRqg7wQvNV2p52L5B42TtfyF6Dw=w203-h152-k-no",
"https://lh3.googleusercontent.com/gps-cs-s/AHRPTWk6Z6tfNGvVLFoG-SNcRrlwT5mV6HwoxHwQY2cPDoU4wVrYkDDZ3sYvuhY4V7iFBOy-P6GEOIwEhe_v-XS1bl2d37bqp8o4k9poRaUhYCyNoSzl5MNUudUHYbhQIvNJRL7szagb45GEKYPf=w203-h360-k-no",
"https://lh3.googleusercontent.com/gps-cs-s/AHRPTWnuPXNMXy7gWrQRkwQyCi2HUNxWXUiDEmOGt9KJEEhL5ZxKI6q6Zvi4Z4-9J8NUqN73qnYNbt6mBHRPZlVtZ77CdOQgYCK3BBqerk9V86uiqaENmw_JN0_g1RS8WUry-wy3C2CQSq45hPjT=w203-h152-k-no"
],
"popularDishes": [
{
"name": "Traditional Korean Tea Service Set",
"imageUrl": "https://lh3.googleusercontent.com/gps-cs-s/AHRPTWkX4OM4uTd8YDu_ixcmfzsSSaR5oXrthngADzwqFo78Zyzt-8lHHE5P5C2DpMeM5kQNurBzycIU9rk2S6NVDf1VaxadsW8NH-hVYlxpB-2R7elQerwzHTJ5-QmaD-17lK0vDTh1=w640-h640-n-k-no"
}
],
"menuAndServices": [
{
"section": "DINNER",
"sectionDescription": null,
"items": [
{
"name": "SURANCHAE",
"description": "Suranchae has been handed down for generations of the noble family clan in Gyeongju. Softly cooked and thinly sliced meats of seafood including abalone, crab, red sea cucumber, and octopus are topped with slices of crispy, sweet Korean pear, on top of which is placed a softly poached egg. Savory and nutritious pine nut juice is then poured over it. Chilled Abalone, Diver Scallop, Snow Crab, Octopus, Poached Egg, Pine Nut Sauce",
"price": null,
"imageUrl": null
}
]
}
],
"reviews": [
{
"name": "Fiona Sanders",
"text": "One of the most wonderful dining experiences ever. Min was an attentive and helpful server.\nThe visual presentation was eye catching. The tastes was an explosion of deliciousness in every bit. We highly recommend this hidden gem that we learned about after visiting the Marilyn Monroe exhibit",
"textTranslated": null,
"publishAt": "3 weeks ago",
"publishedAtDate": null,
"likesCount": null,
"reviewId": null,
"reviewUrl": "https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sCi9DQUlRQUNvZENodHljRjlvT2tVNVFWOWZVVEpaVFVsUVYwUkxSRUpvV25ORlpVRRAB!2m1!1s0x0:0x21fc704b83214e60!3m1!1s2@1:CAIQACodChtycF9oOkU5QV9fUTJZTUlQV0RLREJoWnNFZUE%7C%7C?hl=en-US",
"reviewerId": "103930513338348058040",
"reviewerUrl": "https://www.google.com/maps/contrib/103930513338348058040?hl=en-US",
"reviewerNumberOfReviews": 43,
"isLocalGuide": false,
"stars": 5,
"originalLanguage": "en",
"reviewImageUrls": [
"https://lh3.googleusercontent.com/grass-cs/ACvplmOuLNvpzRjcZm-v6kf2pRlIbA5eXqDyq-wU2h3EvQrKnrI6XdT24ggCb7RLpdzzw1HGuZ3IpJ2yPa92n4Von8I7acrQDZ-JzF8NKdQ-EHGaIhn7N4V74_M5WbN1Ds2mbBlwlM0qXKkCFgo=k-no",
"https://lh3.googleusercontent.com/grass-cs/ACvplmP8TwJLoMu65HKWlWyejKhB_Ga668woN-NpekVOqCXt8yoVw56zCWHSV2uItAzBj7WJXSqXh-W3fSVF7UyTut1LCaYacdefXARU902lR-n1u2cKOBr0DweCemJI5jIiP-U_yyXBUfEQAN7F=k-no",
"https://lh3.googleusercontent.com/grass-cs/ACvplmNrCA1whvAZIHRNplfROuaUsPP-hf6q2QNJdpSV4RTUD6prNnD1Sjh6FX09OGgbPXMbnPRJYqij1fkO1wweVJEzYMjHW_c7Rsdv4CJebCsTAWZbBXb5WxZHcHsGrXouMmiovH8IyCHf_uma=k-no",
"https://lh3.googleusercontent.com/grass-cs/ACvplmNxc3nXY6U7D1Aqrc1BRs7ScVg_PibfWcCPXU2LeXXymXg7lhAbyMCuAZmZF9ZlapRKlk9WRz-U_FGN8L-ClbjyhZ2waG17O4n0S91jp_8w9km9WQ5BXyeDH7-ckDMv0qXmfnqkcQEENkHe=k-no"
]
},
{
"name": "Jeremy Chang",
"text": "I wish I could give 6 stars to Genesis House! We came here for a graduation dinner last night and we absolutely adored our experience. We had the spring tasting menu, which was incredible. The first half of the dishes emphasized seafood while the latter dishes focused on meats such as dry-aged duck and galbi. So many of the courses were tremendously delicious; I particularly liked the salmon in kimchi sauce.\n\nMin, our host, and all the Genesis House staff were really wonderful and Min pulled out all the stops to make our night feel very special. A very special thanks to him. Overall, our Genesis House experience was completely worthwhile and is an amazing value for NYC. Please go visit!",
"textTranslated": null,
"publishAt": "2 months ago",
"publishedAtDate": null,
"likesCount": null,
"reviewId": null,
"reviewUrl": "https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sCi9DQUlRQUNvZENodHljRjlvT2w5M2NrNUZORTFDYVRRNGRsWnJOa010YzNOQmFVRRAB!2m1!1s0x0:0x21fc704b83214e60!3m1!1s2@1:CAIQACodChtycF9oOl93ck5FNE1CaTQ4dlZrNkMtc3NBaUE%7C%7C?hl=en-US",
"reviewerId": "102081723339218303871",
"reviewerUrl": "https://www.google.com/maps/contrib/102081723339218303871?hl=en-US",
"reviewerNumberOfReviews": 12,
"isLocalGuide": false,
"stars": 5,
"originalLanguage": "en",
"reviewImageUrls": [
"https://lh3.googleusercontent.com/grass-cs/ACvplmPga3xYnbDkbruVHxLMMHWv8sorGq-IcWNMBfPouP21wLQxl2o6AUk5ckOnclUUu6z-Nv63jbbeQ4yg_PZjiF8wE1MC9bADU9KHcCilTuTza4mlsXYP2_1QqoALstMUqpIH0rmzS_DwYbg=k-no",
"https://lh3.googleusercontent.com/grass-cs/ACvplmPEw1UrQLlzQ_ZFk3beDz5vEcpfjv6L5vFdYi1BZCXsiypXij2UUH5X9PHXrQIsWzvOPFJ-goru8BNM5ESiOXyx3Xn_t4rDlT_9pqwZ8sxAhtWgf9y2oo1mPh_TD8i9QGbOuA82CDo6lU2r=k-no",
"https://lh3.googleusercontent.com/grass-cs/ACvplmMdz7tZQzRck8Lv4xBTjNJMrc4bQoNUqUxhoIenfd21pi-D3s1V2AgBEuhlLlzBLwzYkE4N1X39eoFG9qITsTSwzfrixpropUSV6hJIaR1BQFE0hQElspesaoq7KMkqmMCJ-CsLhnl39DJ9=k-no",
"https://lh3.googleusercontent.com/grass-cs/ACvplmM-nsYYpCVNle6VX6tiCoqAAFFRYQE_XfTNyqFOmG-ijDb_c_19k_yXSW1d1xI3EreYq-6mF72YszCpSwq7UQd-JaeQY6mbg2rGx2fYg-_HBQC_uUcpVLsQYo1biBepel7mSKL_bLVIpcQa=k-no",
"https://lh3.googleusercontent.com/grass-cs/ACvplmOHu7-CUcGThIOOaadhzAnkxY8uhUrKL1iyTjqtMun9xre3z2dfoMQKQ2bLHXnEfHkBbMqU5eNLUc3KYbmAVNeNb20M4wdtCsvEV9-ZxZ9QO4dikOlBzdorlKESNSm2xcreTSIIM2y0m5QT=k-no",
"https://lh3.googleusercontent.com/grass-cs/ACvplmMThfcYGpmoeV9tb0ovJVHQBQe7m0nUlYv4RwjgcMxiLbW1ATa91iNQzwzNETCr5MtORaWnBCYJIWkRQcbgcUM3_MJPt7j6BLRuCJEl2iIpmkKPCYBgcQvmKdbsNHL7RCdkDotqKOhUA9c=k-no"
]
}
],
"leadsEnrichment": [],
"timezone": "America/New_York",
"email": "info@genesishousenyc.com",
"email_durum": "ACTIVE",
"facebook": "https://www.facebook.com/genesishousenyc",
"instagram": "https://www.instagram.com/genesishousenyc",
"linkedin": null,
"youtube": null,
"tiktok": null,
"x_twitter": null,
"threads": null,
"pinterest": null,
"whatsapp": null,
"telegram": null,
"snapchat": null,
"discord": null,
"vimeo": null,
"twitch": null,
"medium": null,
"github": null,
"gitlab": null,
"behance": null,
"dribbble": null,
"website_canonical": null,
"has_meta_pixel": true,
"meta_pixel_id": "1908676206177072",
"has_google_analytics": false,
"google_analytics_id": null,
"has_gtm": true,
"gtm_id": "GTM-KCNDVTKH"
}

One real record, three qualifying signals: the restaurant publishes an MX-verified email (info@genesishousenyc.com, ACTIVE), runs a Meta Pixel (1908676206177072) and Google Tag Manager (GTM-KCNDVTKH), and maintains Instagram and Facebook profiles. A lead-gen agency gets a reachable contact; an ad agency sees a business that already invests in paid marketing.


Languages

Choose the result language from 74 options. Category names and listing details are returned in your chosen language, and localized fields such as email_durum follow it too. All 74, exactly as they appear in the input dropdown:

English, Afrikaans, azərbaycan, Bahasa Indonesia, Bahasa Melayu, bosanski, català, Čeština, Dansk, Deutsch, eesti, Español (España), Español (Latinoamérica), euskara, Filipino, Français, galego, Hrvatski, isiZulu, íslenska, Italiano, Kiswahili, latviešu, lietuvių, magyar, Nederlands, norsk, oʻzbekcha, polski, Português (Brasil), Português (Portugal), română, shqip, Slovenčina, slovenščina, Suomi, Svenska, Tiếng Việt, Türkçe, Ελληνικά (Greek), български (Bulgarian), кыргызча (Kyrgyz), қазақ тілі (Kazakh), македонски (Macedonian), монгол (Mongolian), Русский (Russian), српски (Serbian), Українська (Ukrainian), ქართული (Georgian), հայերեն (Armenian), עברית (Hebrew), اردو (Urdu), العربية (Arabic), فارسی (Persian), አማርኛ (Amharic), नेपाली (Nepali), हिन्दी (Hindi), मराठी (Marathi), বাংলা (Bengali), ਪੰਜਾਬੀ (Punjabi), ગુજરાતી (Gujarati), தமிழ் (Tamil), తెలుగు (Telugu), ಕನ್ನಡ (Kannada), മലയാളം (Malayalam), සිංහල (Sinhala), ไทย (Thai), ລາວ (Lao), ဗမာ (Burmese), ខ្មែរ (Khmer), 한국어 (Korean), 日本語 (Japanese), 简体中文 (Simplified Chinese), 繁體中文 (Traditional Chinese).


Reliability you can verify

  • Success rate is public. Check the Actor Metrics box on this page — it shows the live run success rate measured by Apify, not by us. To date, every run has succeeded.
  • You pay per result, not per run. Pay-per-event pricing means you are billed per business, review, and photo actually delivered — you are not charged a flat fee for a run that returns nothing.
  • Validated input. The input schema rejects malformed input before the run starts, so typos don't burn your credits.

Pricing

$2.50 per 1,000 results — flat base. Optional review & photo add-ons at half the competitor's rate.

  • 1 result = 1 business record with all 100+ fields: MX-verified emails, 19 social profiles, pixel detection, the first page of reviews, and a photo preview.
  • Base billing is one pay-per-event charge, "Business scraped," at $0.0025 per delivered result (plus a negligible per-GB actor-start event).
  • Optional add-ons — off by default (maxReviews / maxImages = 0), so you pay nothing extra unless you turn them on:
    • Set maxReviews above 0 for full review pagination, billed $0.00025 per review ($0.25 / 1,000) — beyond the free first page only.
    • Set maxImages above 0 for all photo URLs, billed $0.00025 per image ($0.25 / 1,000) — beyond the free first page only.
    • Both are half of what the leading competitor charges per item.
  • maxTotalResults is a hard cap on business records. With the add-ons off, maximum cost is always maxTotalResults × $0.0025.

Example: 10,000 leads with emails, socials, and pixel data (add-ons off) cost $25.00. If you also set maxReviews=100, each place adds up to 100 × $0.00025 = $0.025 for its reviews — only for the places and reviews you asked for.


🤖 Use with AI agents (MCP)

This Actor is MCP/AI-agent ready: any MCP client — Claude, Cursor, VS Code, or your own agent — can run it as a tool through the Apify MCP server.

  1. Add this server URL to your MCP client configuration (authorize with your Apify token):

    https://mcp.apify.com?tools=businessmonster/google-maps-scraper
  2. Ask your agent for leads, e.g. "Find dentists in New York with verified emails and no Meta Pixel." Only two input fields are required, so agents fill the input reliably:

    {
    "locationQuery": "New York, USA",
    "searchStringsArray": ["dentist"]
    }

Everything else is optional — language defaults to en, add-ons default to off — and the agent can fetch the results straight from the run's dataset.


Integrations: Make, Zapier, n8n

No custom code needed — the generic Apify app connects this Actor to 6,000+ tools:

  • Make: add the Apify module → Run an Actor → pick businessmonster/google-maps-scraper → paste your input JSON. Add a Get Dataset Items module after it to feed emails and phone numbers into Google Sheets, a CRM, or an outreach tool.
  • Zapier: use the Apify app's Run Actor action, or start your Zap with the Finished Actor Run trigger and then Fetch Dataset Items to push each business record into the next step.
  • n8n: install the Apify community node, add an Apify node with Run Actor → this Actor, then read the default dataset in the next node.

Combine any of these with a schedule to get a fresh lead list delivered automatically every week.


Scrape Google Maps with Python or JavaScript (API)

Every run is also available over the Apify API. With the official clients you can scrape Google Maps with Python or JavaScript in a few lines:

Python (apify-client):

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("businessmonster/google-maps-scraper").call(run_input={
"locationQuery": "New York, USA",
"searchStringsArray": ["dentist"],
"maxTotalResults": 50,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["title"], item.get("email"), item.get("has_meta_pixel"))

JavaScript (apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('businessmonster/google-maps-scraper').call({
locationQuery: 'New York, USA',
searchStringsArray: ['dentist'],
maxTotalResults: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((i) => console.log(i.title, i.email, i.has_meta_pixel));

The dataset can be exported as JSON, CSV, Excel, or XML from the API as well as the Console.


FAQ

How does it work?

Enter a location and one or more search terms, pick a result language, and set an optional limit. The Actor searches Google Maps across the whole target area (not just the first page), opens each business, and for every one with a website it visits the site to pull the email, social links, and marketing pixels. Each record is delivered with all 100+ fields, and you can download the dataset as JSON, CSV, Excel, or XML.

How much does it cost to scrape Google Maps?

With this Actor, a flat $2.50 per 1,000 businesses — emails, deliverability status, 19 social profiles, and ad-pixel detection included, with no contact-enrichment surcharges. maxTotalResults is a hard cap, so the maximum cost of a run is always that number × $0.0025 (the prefilled 50-result first run is about $0.13). The only extras are the optional review and photo add-ons at $0.25 per 1,000 items, off by default.

How do I get emails from Google Maps?

Enter a location and search terms. For every business with a website, the Actor visits the site, extracts every email the business publishes there, and MX-checks each one. The result lands in the email field with a matching status in email_durum, in the same record as the rest of the data. No separate email-finder tool needed.

Does every business come with an email?

No, and any tool claiming that is overselling. An email is returned when the business publishes one on its website. The email column is always present in every export and simply stays empty when no address was found, so your spreadsheet structure never changes.

Are the emails verified?

Each extracted email is MX-verified for deliverability and flagged in the email_durum field, whose value follows the run's output language (ACTIVE or INACTIVE in English runs). Multiple emails arrive pipe-separated in email, with statuses aligned positionally in email_durum. Filter to ACTIVE before importing into your outreach tool.

Can I get more than 120 results per area?

Yes. A single Google Maps search caps out around 120 places, but this Actor sweeps the whole target area, so one run can return far more businesses per location.

Can I search multiple locations at once?

Each run targets one location (locationQuery), but you can pass several search terms for that location in searchStringsArray. To cover multiple cities or regions, run the Actor once per location, or set up a schedule to run them automatically. Keeping one location per run also keeps your results and billing easy to track per area.

Can I detect Meta Pixel on business websites?

The Actor checks each business website for Meta Pixel, Google Analytics, and Google Tag Manager, returning both a boolean flag and the actual tracking ID. Agencies use this to segment prospects: businesses without pixels are candidates for a first ad campaign, while businesses with pixels already invest in marketing.

Can I get only the business's own photos, not customer photos?

Yes. Alongside the standard imageUrls, every record includes ownerImageUrls: photos the business itself uploaded through its Google Business Profile, with visitor and review photos filtered out. Useful for judging how a business presents itself. Each owner photo also comes with its upload date (ownerImages returns {imageUrl, uploadedAt}), so you can see whether a business keeps its listing fresh. This uses Google's own photo-source signal, so it's reliable, and it's all included at no extra cost.

Do social media profiles cost extra?

No. All 19 social networks are included in every record at the flat per-result price.

How do the review and photo add-ons work, and what do they cost?

By default (maxReviews = 0, maxImages = 0) every record already includes the first page of reviews and a photo preview at no extra cost — so most users never pay a cent beyond the flat $2.50 / 1,000. If you need the full review history or all photo URLs for each place, set maxReviews or maxImages to how many you want (up to 5,000). Only the items beyond the free first page are billed, at $0.00025 per review and $0.00025 per image — half of what the leading competitor charges per item. The limits cap the spend: at maxReviews=200, a place bills at most 200 × $0.00025 = $0.05 for reviews.

Can I control how much a run costs?

Yes, two ways: maxCrawledPlacesPerSearch caps results per search term, and maxTotalResults is a hard cap for the whole run. Since billing is per delivered result, the maximum cost is always maxTotalResults x $0.0025.

What export formats are supported?

JSON, CSV, Excel, and XML. The schema is identical on every export, and the 7 preconfigured views (Overview, Contact info, Social media, Marketing tech, Photos & ratings, Reviews, Location) let you download exactly the columns you need.

Is this a Google Maps email extractor?

Yes — extracting and verifying business emails is a core feature, not an add-on. For every business with a website, the Actor visits the site, extracts the published email addresses, MX-verifies each one, and returns them in the email field with an ACTIVE/INACTIVE status in email_durum. Unlike dedicated email extractors, you also get the full business record, 19 social profiles, and ad-pixel detection in the same row, at one flat price.

Can I use this Actor from an AI agent or MCP client?

Yes. The Actor is available as a tool through the Apify MCP server. Point your MCP client at https://mcp.apify.com/?tools=businessmonster/google-maps-scraper (with your Apify token) and the agent can start runs and fetch results directly. The input is deliberately small — location, search terms, language, and four optional limits — so AI agents can fill it reliably.

How can I find businesses that don't run ads yet?

Run the Actor for your niche and city, open the Marketing tech view, and filter rows where has_meta_pixel and has_google_analytics are both false — these are businesses with no tracked paid marketing, ideal first-campaign prospects. Filter the opposite way to find businesses that already advertise.

What is the best Compass alternative?

If you want the shared core — business records, emails, social profiles, reviews, photos — at roughly half the price, this Actor is built as exactly that alternative: it uses the same input field names (locationQuery, searchStringsArray, maxCrawledPlacesPerSearch, language) for a drop-in switch, emails and socials are included in the base price instead of billed as add-ons, and you additionally get Meta Pixel/GA/GTM detection, which the leading scraper does not offer. See the verified price comparison table above. To be fair, the leading scraper offers some things this Actor does not (person-level lead enrichment, follower metrics, an AI analysis report) — if those are your priority, it remains a solid choice.

Is there a cheaper alternative to Compass crawler-google-places?

Yes — that is what this Actor is for. On the free tier, crawler-google-places costs $4.00 per 1,000 places and bills contact enrichment as a $0.002-per-place add-on, so a list of 1,000 businesses with emails and socials lands at $6.00. The same list here is $2.50 flat, because emails, deliverability status, 19 social profiles, and ad-pixel detection are all in the base rate. Input field names match, so switching is a copy-paste of your existing run configuration.

What is the best Google Maps scraper for lead generation?

It depends on what you need in the row. For pure volume with contact data, pick the tool whose base price already includes emails and socials — otherwise the add-ons decide your bill, not the base rate. This Actor was built for that case: one flat $2.50/1,000 with MX-verified emails, 19 social networks, and Meta Pixel/GA/GTM detection included. If you need person-level B2B enrichment (contact name, job title, LinkedIn), Compass or a dedicated enrichment tool is the better fit.

How does this compare to Outscraper or other Google Maps scrapers?

Most Google Maps scrapers return the listing data — name, address, phone, rating. The differences show up in three places: whether business emails are included or billed separately, whether those emails are verified before export, and whether you can see which businesses run ads. This Actor includes all three in the base price. Compare on total cost for the dataset you actually need, not on the advertised base rate.

The Actor extracts publicly available business information. As with any data collection, make sure your use complies with the laws and regulations that apply to you, especially regarding personal data.


Feedback & support

Found a bug or missing a field? Open an issue in the Issues tab — issues are typically answered within 24 hours.

If you plan to reuse this Actor, bookmark it (Save) so it stays one click away in your Console. And if it saves you time or money, please consider leaving a review in the Reviews tab — honest feedback (good or bad) directly shapes the roadmap.