Back to blog
Guides & How-tos2026-02-13·10 min read

How to Scrape Phone Numbers on Google Maps: Complete Tutorial & Best Tools

By Ibrahim DemolCEO IBLeadUpdated June 12, 2026

Google Maps contains millions of business phone numbers. Every restaurant, plumber, dentist, and local service provider lists contact info publicly. But manually copying numbers one by one wastes hours.

This guide shows you how to extract phone numbers from Google Maps at scale—whether you need 10 numbers or 10,000.

Why Phone Numbers Matter for Lead Generation

Phone numbers are the most direct way to reach a business decision-maker. Unlike emails (which get filtered), a phone call connects you immediately.

Here's what phone number data unlocks:

  • Cold calling campaigns: Call prospects in your target industry/location
  • Sales outreach: Combine with email for omnichannel prospecting
  • Market research: Survey businesses on pricing, pain points, services
  • Competitor analysis: Map which businesses operate in a territory
  • Lead enrichment: Add phone to existing customer records
  • Local business directories: Build your own niche database

A 2023 Gartner report found that 73% of B2B buyers prefer phone contact for initial outreach. Phone numbers are valuable.

The challenge: Google Maps doesn't provide a "download all" button. You need a tool to extract this data at scale.

How Google Maps Stores Phone Numbers

Before choosing a scraping method, understand how Google Maps structures this data.

Where phone numbers appear:

  1. Business listing page — The main info card on the right side
  2. Business details section — Under "About" → "Contact"
  3. Website contact page — Linked from the Maps listing
  4. Google Business Profile — If the business claimed their listing

Format variations:

  • Local format: (555) 123-4567
  • International format: +1 555 123 4567
  • No formatting: 5551234567
  • Multiple numbers: Main line + fax + support

Google stores these as text strings. When you scrape, you get the raw format as displayed.

Important: Not all businesses list phone numbers. On average, 70-85% of Google Maps listings include a phone number, depending on industry and location.

Method 1: Manual Extraction (For Small Lists)

When to use: You need 5-50 phone numbers, have limited budget, and time isn't critical.

Time cost: 2-3 minutes per phone number (opening detail page, copying number, pasting into spreadsheet).

Step-by-step:

  1. Open Google Maps
  2. Search your target category + location (e.g., "plumbers in Austin, TX")
  3. Click each result
  4. Find the phone number in the info card (right side)
  5. Copy the number
  6. Paste into Excel/Google Sheets
  7. Repeat 50+ times

Pros: - Free - No tools needed - 100% accurate

Cons: - Extremely slow (50 numbers = 2-3 hours) - Error-prone (typos, missed numbers) - Doesn't scale beyond 100 results - Google Maps limits results to ~120 per search

Verdict: Only viable for tiny lists. Not recommended for any serious prospecting.

Some users attempt to use Google Sheets' IMPORTHTML function to pull data from Google Maps pages.

Why this doesn't work well:

  • Google Maps uses JavaScript rendering—the data doesn't exist in static HTML
  • IMPORTHTML only reads plain HTML tables
  • You'd need one formula per business, manually
  • Google blocks automated requests anyway

Skip this method. It's outdated and ineffective.

Method 3: Browser Extensions (Free, Limited Scale)

Browser extensions automate clicking and copying. Two popular options: Bardeen and manual scraping extensions.

Bardeen Chrome Extension

Bardeen is a no-code automation tool. It records actions (click, scroll, copy) and repeats them.

Setup:

  1. Install Bardeen from Chrome Web Store (free)
  2. Create account
  3. Go to Google Maps search results
  4. Click Bardeen icon → "Create playbook"
  5. Record: click result → copy phone → go back → next result
  6. Set it to repeat 30 times
  7. Run playbook

What you get:

  • Bardeen extracts name, rating, review count, and sometimes phone
  • Saves to Google Sheets automatically
  • No coding needed

The phone number problem:

Bardeen struggles with phone numbers specifically. Here's why:

  • Numbers get formatted inconsistently (+1 555-123-4567 vs. (555) 123-4567)
  • Google Sheets interprets them as formulas or errors
  • You end up with "###" or "Error" in cells
  • Requires manual cleanup (adding apostrophe before each number)

Time cost with cleanup: 1-2 minutes per number.

Pros: - Free tier available - Works in your browser - No technical knowledge required

Cons: - Phone number formatting breaks - Requires manual fixing - Limited to 30-50 results per session (Google Maps pagination issues) - Slow (5-10 minutes for 30 results) - Doesn't extract emails or website data

Verdict: Works for micro-lists (10-30 numbers), but the formatting issue makes it frustrating. Not recommended for serious prospecting.


Method 4: Python Scripts (For Developers)

If you know Python, you can build a custom scraper using libraries like Selenium or BeautifulSoup.

Basic approach:

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

driver = webdriver.Chrome()
driver.get("https://maps.google.com/maps?q=plumbers+in+Austin")

# Scroll to load results
for i in range(5):
    driver.execute_script("window.scrollBy(0, 500)")
    time.sleep(1)

# Extract phone numbers
results = driver.find_elements(By.CLASS_NAME, "phone")
phones = [r.text for r in results]
print(phones)

Reality check:

  • Google detects and blocks automated requests
  • Your IP gets rate-limited or banned
  • Requires proxy rotation (expensive)
  • Maintenance: Google changes HTML structure → script breaks
  • Takes 20+ hours to build properly

Pros: - Full control - Free (except proxies) - Can scale to thousands

Cons: - Requires coding skills - High risk of IP bans - Constant maintenance needed - Slow (1,000 numbers = 8+ hours) - Violates Google's ToS (technically)

Verdict: Only viable if you're a developer with budget for proxies. Not recommended for most users.


Method 5: Paid Scraping APIs (Apify, ScraperAPI)

Third-party APIs handle the scraping complexity.

How it works:

  1. You send API request: "Get plumbers in Austin"
  2. API returns structured data (names, phones, addresses)
  3. You get CSV/JSON file

Popular services:

  • Apify ($50-500/month): Reliable, but limited Google Maps support
  • ScraperAPI ($30-300/month): Works with many sites, not optimized for Maps
  • Bright Data ($500+/month): Enterprise-grade, expensive

Pros: - Handles IP rotation automatically - Less maintenance than DIY scripts - Faster than extensions

Cons: - Expensive ($50+ for decent volume) - Data quality varies - Limited filtering options (can't filter by rating, claimed status, etc.) - Slower than dedicated tools (API processing time) - Phone numbers still need formatting cleanup

Verdict: Better than DIY scripts, but more expensive than dedicated Google Maps tools.


Professional tools built specifically for Google Maps extraction solve all previous problems.

What makes them different:

  • Optimized for Google Maps structure
  • Built-in phone number formatting
  • Advanced filtering (rating, review count, claimed status)
  • Fast extraction (1,000+ results in minutes)
  • Legal compliance built-in
  • Support included

Top tools:

IBLead

IBLead is a pre-indexed database of 50M+ businesses across 37 countries. No scraping needed—data is already extracted and updated monthly.

How it works:

  1. Go to app.iblead.com
  2. Select country, region/city, category
  3. Set filters (has phone? has email? rating > 4?)
  4. Click export
  5. Download CSV with phone numbers, emails, addresses, websites

Data included with each export:

  • Business name
  • Phone number (formatted correctly)
  • Email address (enriched from website)
  • Full address (street, city, postal code)
  • Website URL
  • Google rating & review count
  • Google Reviews (text, author, date) — exclusive to IBLead
  • 160+ technology detections (WordPress, Shopify, etc.) — exclusive to IBLead
  • Claimed status
  • Social media links
  • Hours of operation
  • Photo count
  • GPS coordinates
  • SIRET/SIREN (France only) — exclusive to IBLead

Pricing:

Plan Credits/month Price
Free 5,000 €0
Starter 10,000 €44/month
Pro 20,000 €89/month
Business 40,000 €179/month
Enterprise 100,000 €449/month

1 credit = 1 business exported. All features included in every paid plan.

Example: Extract 10,000 plumbers in France

  • Search: France → Plumber category
  • Filters: Has phone number, rating > 3.5
  • Results: ~8,500 plumbers
  • Export: 30 seconds
  • Cost: €44/month (Starter plan)

Pros: - Fastest extraction (seconds, not hours) - Phone numbers pre-formatted - Includes emails + website data (no extra cost) - Advanced filters built-in - 50M+ pre-indexed database (no scraping delays) - Cheapest per-contact cost (€44 for 10,000 = 0.35¢ each) - All features included from €44/month

Cons: - Data updated monthly (not real-time, but good enough for most use cases) - Limited to 37 countries (not worldwide)

Best for: Lead generation, sales prospecting, market research, competitor analysis.


Comparison: All Methods Side-by-Side

Method Speed Cost Accuracy Scale Effort Phone Format
Manual Very slow Free High 1-50 Very high Perfect
Bardeen Slow Free Medium 10-50 High Broken
Python Fast Free + proxies Medium Unlimited Very high Manual fix
Apify/APIs Medium $50-500/mo Medium 1,000+ Low Manual fix
IBLead Very fast €44-250/mo High Unlimited Very low Pre-formatted

Winner for phone number extraction: IBLead.

Why? It combines speed, cost, accuracy, and includes bonus data (emails, reviews, technologies) that other tools don't provide.


Step-by-Step: Extract Phone Numbers with IBLead

This is the practical workflow most users follow.

Time: 2-3 minutes. Results: 1,000-100,000 phone numbers.

Step 1: Create Account & Log In

  1. Go to app.iblead.com/register
  2. Enter email, password, confirm
  3. Verify email
  4. You get 200 free credits to test

Step 2: Choose Your Search Criteria

Click "New search" on the dashboard.

Select: - Country: United States, France, Germany, UK, Canada, Spain, Italy, etc. - Region/City: Optional (leave blank for entire country, or pick specific city) - Category: Browse 4,000+ categories (Plumbers, Restaurants, Accountants, etc.)

Example: United States → New York City → Plumbers

Step 3: Apply Filters

Click "Filters" to narrow results.

Essential filters: - Has phone number: Yes - Has email: Yes (optional, but useful) - Has website: Yes (optional)

Advanced filters: - Google rating: 3.5+ stars - Review count: 10+ reviews (signals active business) - Claimed on Google: Yes (they manage their listing) - Price range: $ to $$$ (optional, by industry) - Number of photos: 5+ (signals professional)

IBLead exclusive filters: - Website technology: Find businesses using WordPress, Shopify, etc. - Google reviews: Filter by review count, rating, or read actual review text

Step 4: Preview & Export

Click "Search" to see results count.

Example: "2,847 plumbers in New York City with phone number and rating 3.5+"

If satisfied, click "Export".

Export options: - Format: CSV or Excel - Rows: All, or first 100/500/1,000 - Name: Auto-generated or custom

Step 5: Download & Use

Download CSV. Open in Excel/Google Sheets.

Columns you get:

Column Example
Business Name "Joe's Plumbing"
Phone "+1 (212) 555-0123"
Email "[email protected]"
Address "123 Main St, New York, NY 10001"
Website "joesplumbing.com"
Rating 4.7
Review Count 142
Claimed Yes
Technologies WordPress, Google Analytics

Phone numbers are clean, formatted, ready to use. No cleanup needed.

Step 6: Import to CRM or Email Tool

Most users then import the CSV into: - HubSpot (CRM) - Salesforce (CRM) - Lemlist (cold email) - Instantly (cold email) - Google Sheets (manual follow-up)

IBLead integrates with these platforms, or you can manually import the CSV.


Is scraping Google Maps legal?

Short answer: Yes, extracting publicly available business data is legal. But follow these rules:

  1. Only use public data — Phone numbers, addresses, websites displayed on Google Maps are public
  2. Respect rate limits — Don't hammer servers with 1,000 requests/second
  3. Follow Google's ToS — Don't claim to represent Google, don't resell data
  4. Use for legitimate purposes — Lead generation, research, sales outreach are fine. Spam is not.
  5. Check local laws — GDPR (EU), CCPA (California), PIPEDA (Canada) have data privacy rules

IBLead's compliance: - Extracts only publicly listed business data - Updates monthly (not real-time scraping) - Respects Google's terms - Complies with GDPR, CCPA, PIPEDA

What you can do with the data: - ✅ Cold email campaigns - ✅ Phone prospecting - ✅ Market research - ✅ Competitor analysis - ✅ Build internal databases - ❌ Sell the data as a service (violates ToS) - ❌ Spam or harass businesses - ❌ Claim data is from Google


Common Phone Number Issues & Fixes

Even with professional tools, you'll encounter formatting quirks.

Issue 1: International Formats

Problem: Different countries format numbers differently.

  • US: (555) 123-4567
  • UK: +44 20 7946 0958
  • France: +33 1 42 68 53 00
  • Germany: +49 30 123456

Solution: IBLead detects country automatically and formats accordingly. If you need to standardize, use a formula:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1," ",""),"-",""),"(","")

This removes spaces, dashes, parentheses.

Issue 2: Extensions & Departments

Problem: Some numbers include extensions.

  • "+1 (555) 123-4567 ext. 5"
  • "+1 (555) 123-4567 x5"

Solution: If you need just the main number, extract the first 10-14 digits using text functions. IBLead typically strips extensions automatically.

Issue 3: Fax vs. Phone

Problem: Some listings show fax instead of phone.

Solution: IBLead differentiates phone from fax in the data. Filter by "Phone (not fax)" if available, or manually review the "Contact Type" column.

Issue 4: Disconnected Numbers

Problem: Old listings with outdated numbers.

Solution: IBLead filters by "Claimed" status—claimed listings are actively managed, more likely to have current numbers. Use this filter.


Avoiding Common Mistakes

Mistake 1: Not Filtering by Claimed Status

Problem: You export 5,000 numbers, call them, 30% are disconnected.

Why: Unclaimed listings are abandoned or outdated.

Fix: Always filter: "Claimed on Google: Yes". This cuts your list by 40-50%, but quality jumps 80%.

Mistake 2: Ignoring Review Count

Problem: You call businesses with 1-2 reviews. Many are inactive or closed.

Why: New/dormant businesses don't attract reviews.

Fix: Filter: "Review count: 10+". You lose quantity, gain quality.

Mistake 3: Scraping All Categories

Problem: You export "all businesses in Austin" and get 200,000 results. Useless.

Why: Broad searches include irrelevant categories (schools, parks, libraries).

Fix: Pick specific categories. "Plumbers" not "Home Services". "Dentists" not "Health".

Mistake 4: Not Using Email + Phone Together

Problem: You call, no answer. No way to follow up.

Why: Single-channel outreach fails 70% of the time.

Fix: Export phone + email together. Call first, email if no answer. IBLead includes both.

Mistake 5: Exporting Once & Never Updating

Problem: You export in January, call in March. 15% of numbers are now wrong.

Why: Businesses change numbers, close, or update listings.

Fix: Re-export quarterly. IBLead updates monthly, so fresh data is always available.


Use Cases: Real-World Phone Number Extraction

Use Case 1: Sales Prospecting

Goal: Generate 500 qualified leads for B2B software.

Workflow: 1. Search: United States → All cities → "Accounting firms" 2. Filters: Rating 4+, reviews 20+, claimed, has website 3. Export: 2,000 results 4. Import to Lemlist 5. Personalized cold email + phone follow-up

Cost: €44/month (Starter plan) Time: 10 minutes Results: 500 qualified leads, 40-50 meetings booked (typical 8-10% conversion)

Use Case 2: Competitor Analysis

Goal: Map all competitors' phone numbers in your market.

Workflow: 1. Search: France → Paris → "Web design agencies" 2. Filters:

Ready to get started?

Access every Google Maps business, enriched with emails and legal data.

Try IBLead free