Google Maps Enricher - Emails & Socials
Pricing
Pay per usage
Google Maps Enricher - Emails & Socials
Extract businesses from Google Maps and enrich them with emails, phone numbers, and 12+ social media profiles by automatically visiting their websites. Recover missing websites from Maps listings. Includes fast scraping with browser fallback for maximum lead recovery in a single run.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Eduardo Aquino
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
6 days ago
Last modified
Categories
Share
๐บ๏ธ Google Maps Enricher โ Emails & Socials
Scrape businesses from Google Maps and automatically enrich them with emails, phone numbers, and social media profiles โ all in one run.
โ What does this actor do?
This actor searches Google Maps using the Serper.dev API and then visits each business website to extract contact information. Unlike other Google Maps scrapers that only return raw listings, this one gives you leads ready for outreach.
โก Key Features
| ๐ | Google Maps Search โ Fast, structured search via Serper.dev API. No browser needed for searching. Supports pagination for up to 200 results per run. |
| ๐ | Automatic Website Recovery โ When the API doesn't return a website (common for restaurants, bars, hotels), the actor visits the Google Maps page directly using the business CID to recover the website URL and phone number. |
| ๐ง | Multi-Layer Email Extraction โ Finds emails via mailto: links, visible text regex, raw HTML scanning, and deobfuscation ([at], (dot)). Also visits internal /contact and /about pages. |
| ๐ฑ | 12 Social Networks โ Detects Facebook, Instagram, TikTok, LinkedIn, Twitter/X, YouTube, WhatsApp, Pinterest, and Threads. Uses 4 techniques: href links, JSON-LD sameAs, Open Graph meta tags, and aria-label attributes. |
| โก | Two-Phase Enrichment โ Phase 1 uses fast httpx requests. If a site blocks or requires JavaScript, Phase 2 automatically falls back to a full Playwright browser (headless Chromium). No manual intervention needed. |
| ๐ก๏ธ | Smart Filtering โ Automatically skips aggregator sites (Yelp, TripAdvisor, Booking, etc.) and social media share buttons. Only real business websites and profile links are kept. |
| ๐ | Concurrent Processing โ Enriches multiple websites simultaneously with configurable parallelism (default: 5 concurrent requests). |
๐ฏ Use Cases
| Use Case | Example Query | What You Get |
|---|---|---|
| Local Business Outreach | hair salons in Los Angeles, CA | Names + emails + Instagram profiles for cold email campaigns |
| Sales Prospecting | law firms in New York, NY | Phone numbers + LinkedIn + websites for sales reps |
| Market Research | restaurants in Madrid, Spain | Ratings + reviews + price ranges + GPS coordinates |
| Competitor Analysis | dentists in Miami, FL | Complete web presence across all social platforms |
| CRM Enrichment | plumbers in Chicago, IL | Structured JSON data ready to import into any CRM |
๐ Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
serperApiKey | String | โ Yes | โ | Your API key from serper.dev. Free tier includes 2,500 searches. |
query | String | โ Yes | โ | What to search for. Examples: restaurants, dental clinics, hair salons, law firms |
location | String | โ Yes | โ | City or area. Examples: Miami, FL, Madrid, Spain, Santo Domingo, Dominican Republic |
country | String | No | us | Two-letter country code (us, es, do, uk, fr, etc.) |
language | String | No | en | Language for results (en, es, fr, de, etc.) |
maxResults | Integer | No | 20 | Maximum number of businesses to return. Range: 1โ200. |
enrichData | Boolean | No | true | When enabled, the actor visits each website to extract emails and social profiles. Disable for faster, search-only runs. |
maxConcurrency | Integer | No | 5 | How many websites to visit simultaneously during enrichment. Higher = faster but uses more memory. |
๐ค Output Format
Each business in the output dataset contains:
{"name": "Elia on the River","category": "Restaurant","rating": 4.7,"reviewCount": 2500,"address": "1440 NW N River Dr Suite 195, Miami, FL","phone": "+1 305-904-4045","website": "https://www.eliaontheriver.com/","priceRange": "$100+","latitude": 25.785099,"longitude": -80.22043,"cid": "5855841797704673724","gmapsUrl": "https://maps.google.com/?cid=5855841797704673724","emails": ["info@eliaontheriver.com"],"socials": {"facebook": "https://www.facebook.com/eliaontheriver","instagram": "https://instagram.com/eliaontheriver","tiktok": "https://www.tiktok.com/@eliaontheriver"}}
| Field | Type | Description |
|---|---|---|
name | String | Business name |
category | String | Business category from Google Maps |
rating | Number | Google Maps rating (1.0 โ 5.0) |
reviewCount | Number | Total number of reviews |
address | String | Full street address |
phone | String | Phone number (format varies by country) |
website | String | Business website URL (or null if not found) |
priceRange | String | Price level from Google Maps (e.g. $$, $30-50) |
latitude | Number | GPS latitude coordinate |
longitude | Number | GPS longitude coordinate |
cid | String | Google Maps unique business identifier |
gmapsUrl | String | Direct link to Google Maps listing |
emails | Array | All email addresses found on the website |
socials | Object | Social media profiles (keys: facebook, instagram, tiktok, linkedin, twitter, youtube, whatsapp, pinterest, threads) |
โ๏ธ How It Works
The actor runs in 3 automatic phases:
| Phase | What happens | Technology |
|---|---|---|
| 1. Search | Queries Google Maps via Serper.dev API with automatic pagination and deduplication by CID | Serper API + httpx |
| 1.5. Details Recovery | For businesses missing website/phone (common with restaurants, bars, hotels), visits the Google Maps page directly to recover those fields | Playwright (Chromium) |
| 2a. Fast Enrichment | Visits each business website with fast HTTP requests to extract emails and social links | httpx + BeautifulSoup |
| 2b. Deep Enrichment | Automatic fallback โ if a website blocks or requires JavaScript, retries with a full browser | Playwright (Chromium) |
๐ฐ Cost
This actor uses the Serper.dev API for Google Maps data. You need your own API key:
| Plan | Searches | Price |
|---|---|---|
| ๐ Free Tier | 2,500 searches | $0 |
| Starter | 50,000 searches/month | $50/month |
| Enterprise | Unlimited | Custom |
๐ Get your API key at serper.dev
Note: Each run with
maxResults: 20uses approximately 1 Serper API call. WithmaxResults: 200, it may use up to 10 calls due to pagination (20 results per API request).
๐พ Memory Recommendations
| Configuration | Recommended Memory | Use When |
|---|---|---|
Search only (enrichData: false) | 256 MB | You only need business names, addresses, ratings, and GPS |
| Search + Enrichment (small runs) | 1024 MB | Up to 50 businesses with enrichment enabled |
| Search + Enrichment (large runs) | 2048 MB | 100+ businesses with enrichment and Playwright fallback |
๐ Supported Countries & Languages
This actor works globally. Set the country and language parameters to match your target market:
| Market | Country Code | Language |
|---|---|---|
| ๐บ๐ธ United States | us | en |
| ๐ช๐ธ Spain | es | es |
| ๐ฉ๐ด Dominican Republic | do | es |
| ๐ฌ๐ง United Kingdom | uk | en |
| ๐ซ๐ท France | fr | fr |
| ๐ฉ๐ช Germany | de | de |
| ๐ง๐ท Brazil | br | pt |
| ๐ฒ๐ฝ Mexico | mx | es |
| ๐ฎ๐น Italy | it | it |
| ๐ธ๐ฌ Singapore | sg | en |
Any country supported by Google Maps is supported by this actor. Use the standard ISO 3166-1 alpha-2 country codes.
๐ฑ Social Networks Detected
| Network | Domains Matched | Detection Methods |
|---|---|---|
facebook.com, fb.com | href, JSON-LD, OG, aria-label | |
instagram.com | href, JSON-LD, OG, aria-label | |
| TikTok | tiktok.com | href, JSON-LD, OG, aria-label |
linkedin.com | href, JSON-LD, OG, aria-label | |
| Twitter / X | twitter.com, x.com | href, JSON-LD, OG, meta tag |
| YouTube | youtube.com | href, JSON-LD, OG, aria-label |
wa.me, api.whatsapp.com | href, aria-label | |
pinterest.com | href, JSON-LD, aria-label | |
| Threads | threads.net | href, JSON-LD, aria-label |
๐ง Integrations
The output dataset is compatible with:
- Google Sheets โ Export directly from the Apify console
- Zapier / Make โ Trigger workflows with new results
- CRMs โ Import JSON into HubSpot, Salesforce, Pipedrive
- Clay โ Sync via Apify integration
- Excel / CSV โ Download from the Apify console
โ FAQ
Q: Does this work with any search term? Yes. Restaurants, dental clinics, law firms, hair salons, plumbers โ any business type you can find on Google Maps.
Q: Some businesses don't have emails or social media. Why? Not all businesses have contact information on their websites. The actor extracts everything available, but some businesses simply don't publish emails or maintain social media profiles.
Q: How many Serper API credits does each run use?
Approximately 1 credit per 20 results. A run with maxResults: 100 uses ~5 credits.
Q: Can I run this without enrichment?
Yes. Set enrichData: false to get only Google Maps data (faster, no website visits, 256MB memory).