Google Maps & Google Business Profile Scraper avatar
Google Maps & Google Business Profile Scraper

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Google Maps & Google Business Profile Scraper

Google Maps & Google Business Profile Scraper

The most comprehensive Google Maps & Google Business Profile scraper. Extract business descriptions ("From the business"), reviews with full text, opening hours, photos, Q&A & all standard business data. Uses Camoufox stealth browser with fingerprinting & residential proxies for reliable extraction.

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

John Rippy

John Rippy

Maintained by Community

Actor stats

0

Bookmarked

10

Total users

7

Monthly active users

6.1 hours

Issues response

7 hours ago

Last modified

Share

Google Maps Business Scraper v3.0 - Complete GBP Data Extraction

The most comprehensive Google Maps and Google Business Profile scraper. Extract business descriptions ("From the business"), reviews with full text, opening hours, photos, Q&A, and all standard business data. Uses Camoufox stealth browser with C++ fingerprinting and residential proxies for reliable extraction.

What's New in v3.0

  • Place ID Mode - Scrape detailed GBP data for specific businesses by Place ID
  • Description Extraction - Captures the "From the business" description that other scrapers miss
  • Reviews Extraction - Full review text, author, rating, date, and owner responses
  • Opening Hours - Complete weekly schedule with special hours
  • Photos Count - Number of photos on the listing
  • Q&A Extraction - Questions and answers from the profile
  • Camoufox Browser - C++ level fingerprinting for maximum stealth
  • Residential Proxies - Default configuration for best success rates

Two Operating Modes

1. Search Mode

Search Google Maps with queries like "Plumber Miami FL" and scrape all matching results. Great for lead generation and bulk data collection.

2. Place ID Mode

Provide specific Google Place IDs (ChIJ...) or CIDs to get comprehensive GBP data including description, reviews, hours, and more. Perfect for GBP auditing, monitoring specific businesses, or enriching existing leads.

Features

FeatureSearch ModePlace ID Mode
Business NameYesYes
CategoryYesYes
Address/City/State/ZipYesYes
PhoneYesYes
WebsiteYesYes
Rating & Review CountYesYes
Place IDYesYes
Description-Yes
Full Reviews-Yes
Opening Hours-Yes
Photos Count-Yes
Q&A-Yes

Anti-Detection Technology

  • Camoufox Browser - Firefox-based stealth browser with C++ level fingerprinting
  • Residential Proxies - Default to residential proxy pool for maximum success
  • Human-like Behavior - Random delays, natural scrolling, realistic mouse movements
  • Fingerprint Injection - WebGL, Canvas, AudioContext, and navigator spoofing

Quick Start

Demo Mode (Free Test)

{
"demoMode": true
}

Search Mode - Find Businesses

{
"searchStringsArray": ["Pizza Chicago IL", "Dentist Los Angeles CA"],
"maxCrawledPlacesPerSearch": 20,
"demoMode": false
}

Place ID Mode - Detailed GBP Data

{
"placeIds": ["ChIJN1t_tDeuEmsRUsoyG83frY4", "ChIJrTLr-GyuEmsRBfy61i59si0"],
"maxReviews": 10,
"includeQA": true,
"demoMode": false
}

Complete Example - Reviews + Q&A

{
"placeIds": ["ChIJN1t_tDeuEmsRUsoyG83frY4"],
"maxReviews": 25,
"reviewsSort": "newest",
"includeQA": true,
"language": "en",
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
},
"demoMode": false
}

Input Parameters

Search Mode

ParameterTypeDefaultDescription
searchStringsArrayarray-Search queries like "Plumber Miami FL"
maxCrawledPlacesPerSearchinteger20Max results per search (1-100)

Place ID Mode

ParameterTypeDefaultDescription
placeIdsarray-Google Place IDs (ChIJ...) or CIDs
maxReviewsinteger0Reviews to extract per business (0-100)
reviewsSortstring"newest"Sort: newest, mostRelevant, highestRating, lowestRating
includeQAbooleanfalseExtract Q&A section

Location & Language

ParameterTypeDefaultDescription
languagestring"en"Language code (en, es, fr, de, it, pt, ja, ko, zh)
latstring-Latitude for geo-biased search
lngstring-Longitude for geo-biased search
zoominteger13Zoom level (10=city, 14=neighborhood, 17=street)

Proxy Settings

ParameterTypeDefaultDescription
proxyConfigurationobjectResidentialProxy settings. Residential recommended.

Webhook Integration

ParameterTypeDefaultDescription
webhookUrlstring-URL to POST results
webhookPlatformstring"custom"zapier, make, n8n, or custom
webhookHeadersobject{}Custom headers for webhook

Output Format

Search Mode Output

{
"title": "The Mojito Bar",
"categoryName": "Bar",
"address": "11401 NW 12th St, Miami, FL 33172",
"city": "Miami",
"state": "FL",
"postalCode": "33172",
"phone": "(305) 564-1597",
"website": "http://www.themojitobar.com/",
"totalScore": 4.6,
"reviewsCount": 825,
"placeId": "ChIJxxxxx",
"url": "https://www.google.com/maps/place/...",
"scrapedAt": "2026-02-05T12:00:00.000Z"
}

Place ID Mode Output (Full GBP Data)

{
"title": "The Mojito Bar",
"categoryName": "Bar",
"additionalCategories": ["Cocktail Bar", "Latin American Restaurant"],
"address": "11401 NW 12th St, Miami, FL 33172",
"city": "Miami",
"state": "FL",
"postalCode": "33172",
"phone": "(305) 564-1597",
"website": "http://www.themojitobar.com/",
"totalScore": 4.6,
"reviewsCount": 825,
"placeId": "ChIJxxxxx",
"description": "Authentic Cuban mojitos and Latin cuisine in a vibrant atmosphere...",
"openingHours": {
"Monday": "11:00 AM - 11:00 PM",
"Tuesday": "11:00 AM - 11:00 PM",
"Wednesday": "11:00 AM - 11:00 PM",
"Thursday": "11:00 AM - 12:00 AM",
"Friday": "11:00 AM - 2:00 AM",
"Saturday": "11:00 AM - 2:00 AM",
"Sunday": "12:00 PM - 10:00 PM"
},
"isOpen": true,
"photosCount": 1247,
"reviews": [
{
"author": "John Smith",
"rating": 5,
"text": "Best mojitos in Miami! The atmosphere is incredible...",
"date": "2 weeks ago",
"ownerResponse": "Thank you John! We're glad you enjoyed your visit!"
}
],
"questionsAndAnswers": [
{
"question": "Do you have outdoor seating?",
"answer": "Yes, we have a beautiful patio area!"
}
],
"url": "https://www.google.com/maps/place/...",
"scrapedAt": "2026-02-05T12:00:00.000Z"
}

Use Cases

1. GBP Auditing (Place ID Mode)

Check if your client's GBP has a description, photos, and reviews:

{
"placeIds": ["ChIJ_client_place_id"],
"maxReviews": 5,
"demoMode": false
}

2. Lead Generation (Search Mode)

Find businesses in a specific area:

{
"searchStringsArray": ["Plumber Dallas TX", "HVAC Houston TX"],
"maxCrawledPlacesPerSearch": 50,
"demoMode": false
}

3. Review Monitoring (Place ID Mode)

Track competitor or client reviews:

{
"placeIds": ["ChIJ_competitor_1", "ChIJ_competitor_2"],
"maxReviews": 25,
"reviewsSort": "newest",
"demoMode": false
}

4. Competitor Analysis (Search Mode)

Find and analyze competitors:

{
"searchStringsArray": ["Italian Restaurant Downtown Miami"],
"maxCrawledPlacesPerSearch": 30,
"lat": "25.7617",
"lng": "-80.1918",
"zoom": 14,
"demoMode": false
}

5. Citation Building (Search Mode)

Gather NAP data for local SEO:

{
"searchStringsArray": ["Your Client Name City State"],
"maxCrawledPlacesPerSearch": 5,
"demoMode": false
}

Finding Place IDs

Method 1: From Google Maps URL

  1. Open Google Maps and find the business
  2. The URL contains the place ID: ...place/Business+Name/@lat,lng,17z/data=!3m1!...!1s0x...
  3. The part after !1s is the place ID (starts with 0x or ChIJ)

Method 2: Use Search Mode First

  1. Run a search to find businesses
  2. Each result includes placeId
  3. Use those IDs for detailed scraping

Method 3: Google Places API

Use Google's Place ID finder: https://developers.google.com/maps/documentation/places/web-service/place-id

How Description Extraction Works

The "From the business" description is notoriously difficult to extract. This scraper uses 8+ fallback selectors and full-page text scanning to find:

  1. [data-attrid="kc:/local:merchant desc"] - Primary selector
  2. [data-item-id="merchant_description"] - Alternative selector
  3. [aria-label="From the business"] - Accessibility label
  4. div.PYvSYb - Common class for business descriptions
  5. Full-page scan for "From the business" text block

If no description exists on the GBP listing, the field will be null.

Pricing

EventDescriptionPrice
business_scrapedBasic business data (search mode)$0.04
business_with_reviewsFull GBP data with reviews (place ID mode)$0.08

Example costs:

  • 50 search results: 50 x $0.04 = $2.00
  • 10 detailed GBP scrapes with reviews: 10 x $0.08 = $0.80
  • Demo mode: $0.00

Webhook Integration

Zapier

{
"placeIds": ["ChIJxxxxx"],
"maxReviews": 5,
"webhookUrl": "https://hooks.zapier.com/hooks/catch/xxxxx/xxxxx/",
"webhookPlatform": "zapier"
}

Make.com

{
"placeIds": ["ChIJxxxxx"],
"maxReviews": 5,
"webhookUrl": "https://hook.make.com/xxxxx",
"webhookPlatform": "make"
}

n8n

{
"placeIds": ["ChIJxxxxx"],
"webhookUrl": "https://your-n8n-instance.com/webhook/xxxxx",
"webhookPlatform": "n8n"
}

FAQ

Q: Why use Place ID mode instead of Search mode?

A: Place ID mode extracts comprehensive data including description, reviews, hours, and Q&A that aren't available in search results. Use it when you need complete GBP information.

Q: I'm not getting the description for a business?

A: Not all businesses have a "From the business" description set up. This is a data availability issue on Google's side, not a scraper limitation.

Q: How many reviews can I extract?

A: Up to 100 reviews per business. Reviews are sorted according to reviewsSort setting.

Q: Why residential proxies?

A: Google's anti-bot detection is sophisticated. Residential proxies have the highest success rate for Maps scraping.

Q: What's the difference between CID and Place ID?

A: Both work. CID looks like 0x88d9bf880ee8fad9:0xd5d8645ea7eeff0b, Place ID looks like ChIJN1t_tDeuEmsRUsoyG83frY4. The scraper accepts both formats.

Troubleshooting

"No results" or fewer results than expected

  • Broaden your search query
  • Add city and state to search
  • Increase maxCrawledPlacesPerSearch
  • Check for typos

Missing description

  • Not all businesses have descriptions set
  • The business may not have completed their GBP profile

Reviews not loading

  • Some businesses have reviews disabled
  • Try increasing wait time (actor handles this automatically)

Request blocked

  • Actor uses Camoufox with fingerprinting automatically
  • Residential proxies are enabled by default
  • If issues persist, reduce concurrent requests

Changelog

v3.0 (February 2026)

  • NEW: Place ID Mode - Direct GBP scraping by Place ID
  • NEW: Description Extraction - "From the business" text with 8+ fallback selectors
  • NEW: Reviews Extraction - Full review text, author, rating, date, owner responses
  • NEW: Opening Hours - Complete weekly schedule
  • NEW: Photos Count - Number of photos on listing
  • NEW: Q&A Extraction - Questions and answers
  • NEW: Camoufox Browser - C++ level fingerprinting
  • NEW: Residential Proxies - Default proxy configuration
  • Enhanced anti-detection with human-like behavior
  • Improved website extraction with 15+ CSS selectors

v2.1.28 (January 2026)

  • Fixed website extraction with additional selectors
  • Improved fallback link scanning

v2.1.0

  • Initial release with Playwright browser automation
  • Fingerprint injection for anti-detection
  • Webhook support

Built by John Rippy | LinkedIn | Actor Arsenal