Google Maps Phone Number Scraper avatar

Google Maps Phone Number Scraper

Pricing

$15.00 / 1,000 scraped phone numbers

Go to Apify Store
Google Maps Phone Number Scraper

Google Maps Phone Number Scraper

Google Maps Phone Number Scraper collects public business phone numbers from Google Maps searches or URLs. Export names, phones, addresses, websites, ratings, hours, coordinates, and source links.

Pricing

$15.00 / 1,000 scraped phone numbers

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

📞 Google Maps phone number scraper for local lead lists

Google Maps Phone Number Scraper collects public business phone numbers from Google Maps search targets and Google Maps URLs. Add business categories, local search phrases, or listing URLs, choose a country, and get one dataset row per business with a callable phone number plus source-backed context for review, sales research, or CRM import.

📦 Data you can export

Each dataset item represents one Google Maps business listing with a public phone number. The Actor returns only accepted phone-number rows, so empty searches, listings without phones, and skipped targets do not create placeholder rows.

Common fields include:

  • matchedInput: the search phrase, category, or Google Maps URL that produced the row
  • name: business name shown by Google Maps
  • phoneNumber: normalized callable phone number
  • country and dialingCode: market context used for phone formatting
  • googleMapsUrl and googleMapsId: source link and listing identifier when available
  • searchPosition: one-based search position for search-result rows
  • description, address, and website: listing context when Google Maps exposes it
  • categories, rating, reviewCount, businessStatus, and openingHours
  • coordinates: latitude and longitude when available

Some fields can be null or empty arrays because Google Maps does not show the same details for every business. The Actor keeps missing source data empty instead of guessing.

▶️ How to run it

  1. Open the Actor input.
  2. Add one or more values to Search targets. Use business categories, local search phrases, Google Maps search URLs, or Google Maps listing URLs.
  3. Choose Country so phone numbers use the right dialing context.
  4. Set Maximum phone numbers to cap successful phone rows across the whole run.
  5. Start the run and open the dataset.

Good first targets:

  • plumbers in Austin
  • dentists in Boston
  • restaurants in Miami
  • https://www.google.com/maps/search/dentists+in+Boston

Use local intent in each search phrase. A category plus city or service area usually gives better phone rows than a broad category alone.

⚙️ Input

{
"targets": [
"plumbers in Austin",
"dentists in Boston",
"restaurants in Miami",
"electricians in Chicago",
"real estate agents in Denver"
],
"country": "United States (+1)",
"maxPhoneNumbers": 100
}

Search targets accepts business categories, local search phrases, and Google Maps URLs. You can mix target types in the same run.

Country sets the market and dialing code used for phone-number matching and formatting.

Maximum phone numbers stops the run after the requested number of successful phone rows across all targets. The maximum is 10000.

📊 Output example

{
"matchedInput": "plumbers in Austin",
"name": "Austin Plumbing Co.",
"phoneNumber": "+15125550198",
"country": "United States",
"dialingCode": "+1",
"googleMapsUrl": "https://www.google.com/maps/place/?q=place_id:ChIJN1t_tDeuEmsRUsoyG83frY4",
"googleMapsId": "ChIJN1t_tDeuEmsRUsoyG83frY4",
"searchPosition": 3,
"description": "Local plumbing service serving central Austin.",
"address": "123 Congress Ave, Austin, TX 78701",
"website": "https://www.example-plumbing.com",
"categories": ["Plumber", "Drainage service"],
"rating": 4.7,
"reviewCount": 128,
"businessStatus": "Open",
"openingHours": ["Monday: 8:00 AM-5:00 PM"],
"coordinates": {
"latitude": 30.267153,
"longitude": -97.743057
}
}

💳 Pricing

This Actor charges for saved phone-number rows. A row is charged only when a Google Maps business listing has a public phone number and is pushed to the dataset. No-result targets, empty searches, skipped targets, and listings without phone numbers are not charged as phone-number rows.

🔌 Integrations

  • Export finished datasets as JSON, CSV, Excel, XML, RSS, or HTML from Apify Console.
  • Call the Actor through the Apify API when you want phone-number rows in your own app or lead workflow.
  • Schedule repeat runs for recurring category and city checks.
  • Send completed runs to CRMs, sheets, databases, or webhooks using Apify integrations.

❓ FAQ

What is a Google Maps phone number scraper?
A Google Maps phone number scraper collects public business phone numbers from Google Maps listings and saves them as structured rows with source links and business details.

Is it legal to scrape Google Maps contacts?
Use this Actor only for lawful purposes and follow the rules that apply to your business, location, and outreach workflow. The Actor is designed for public listing data and does not collect private Google account data.

Does this scrape Google My Business support phone numbers?
No. The Actor is for business listings shown on Google Maps. It is not a Google support, Google My Business help, or customer-service phone-number finder.

Why not use the Google Maps API?
The Google Maps API is useful for approved API use cases, but it may require setup, billing, and different field availability. This Actor is built for Apify users who want a ready dataset export from public Google Maps listing pages.

What are Google Maps alternatives?
For broader local lead workflows, you can combine this Actor with website email, business address, shared-list, or company-profile scrapers. If you need another source, use a scraper built for that source instead of treating Google Maps as a generic web directory.

Does the Actor return emails?
No. Email extraction is not part of this Actor. It returns phone-number rows and source-backed Google Maps listing context.

Do I need a Google login, cookie, or API key?
No. The public input form does not ask for Google credentials, cookies, browser extensions, or a Google Maps API key.

Why did a target return fewer rows than my limit?
Google Maps may expose fewer phone-bearing listings for a target than your requested limit. The Actor returns the public phone rows it can verify and leaves no-result outcomes out of the dataset.

📝 Changelog

  • 0.0: Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

🔗 Other actors

Made with ❤️ by Maxime Dupré