Google Maps Phone Number Extractor avatar

Google Maps Phone Number Extractor

Pricing

$19.99/month + usage

Go to Apify Store
Google Maps Phone Number Extractor

Google Maps Phone Number Extractor

Google Maps Phone Number Extractor pulls publicly listed business phone numbers from Google Maps listings. Build targeted calling lists by location, category, or rating. Ideal for sales teams and local marketers.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

Scraper Engine

Scraper Engine

Maintained by Community

Actor stats

0

Bookmarked

70

Total users

1

Monthly active users

11 days ago

Last modified

Share

Google Maps Phone Number Extractor ☎️📍

Google Maps Phone Number Extractor collects publicly listed business phone numbers from Google Maps listings. Give it a business category and a country, and it returns a clean, de-duplicated table of numbers together with the listing title, snippet and Maps URL each one came from.

It is built for lead generation, local-market research and territory analysis — anywhere you need a list of businesses in a category you can actually call.

Support and feedback

  • Bug reports: Open a ticket in the repository Issues section
  • Custom features: Contact our enterprise support team Email: scrapier.io@gmail.com

Extractable Data Table 📊

Data TypeDescription
phone_numberBusiness phone number, normalised to E.164 (+441217714141)
titleTitle of the Google Maps listing
descriptionListing snippet (usually name + address + number)
urlDirect Google Maps link for the listing
keywordThe category you searched
country / dial_codeThe country filter that was applied

Key Features 🌟

  • Country-accurate results — every number is normalised and filtered against the country's dial code, so a United Kingdom (+44) run never returns a US number
  • Broad query coverage — each keyword is expanded into a family of searches (category, plural, locality and area-code variants) instead of a single query, so you get far more than the first page of results
  • Automatic de-duplication — the same business is never returned twice, even when several listings mention it
  • Resilient by design — blocked or timed-out pages are retried on a fresh connection and simply skipped if they stay broken; a run always finishes and always saves what it found
  • No proxy setup required — the right proxy is selected automatically

How to use 🚀

  1. ✅ Add one or more business categories to keywords (for example restaurant, hotel, cafe)
  2. ✅ Pick the country whose numbers you want
  3. ✅ Set maxPhoneNumbers — how many numbers to collect per keyword
  4. ✅ Start the run
  5. ✅ Export the dataset as CSV, JSON or Excel

💡 Tip for best yield: common, high-volume local-business categories (restaurant, hotel, cafe, pub, bakery, pizzeria) have far more public Maps listings indexed than narrow B2B terms. Very specific trades in small markets may return only a handful of numbers — that is a limit of what is publicly listed, not a failure of the run.

Use Cases 🎯

🎯 Build calling lists of local businesses by category and country 🎯 Size and map a local market before entering it 🎯 Enrich an existing company list with public contact numbers 🎯 Research competitor density in a region

This actor collects only publicly available business contact information — the same details any visitor sees on a public Google Maps listing. No login, no private data, no personal profiles.

⚖️ Use the collected data responsibly and ethically ⚖️ Respect marketing, telemarketing and data-protection laws in your jurisdiction (GDPR, PECR, TCPA, …) ⚖️ Business contact data is not a licence to contact individuals

Input Parameters 🧩

📦 Example Input (JSON)

{
"keywords": ["restaurant", "hotel"],
"country": "United Kingdom (+44)",
"maxPhoneNumbers": 100,
"platform": "Google-Maps"
}

Input Table

FieldDescription
keywordsOne or more business categories to search
countryCountry + dial code, chosen from the dropdown (e.g. Germany (+49))
maxPhoneNumbersMaximum numbers to collect per keyword (1 – 10,000, default 10)
platformLocked to Google-Maps
proxyConfigurationOptional. Leave as-is — the actor picks the right proxy automatically

Output Format 📤

📝 Example Output (JSON)

[
{
"platform": "Google Maps",
"keyword": "restaurant",
"title": "Restaurants near Druid Rd, Inverness, UK - Google Maps",
"description": "... St, Inverness IV2 3JN, United Kingdom. + 44 1463 711900. Modern, family-run restaurant and patisserie ...",
"url": "https://www.google.com/maps/search/Restaurants%20near%20Druid%20Road,%20Inverness/",
"phone_number": "+441463711900",
"country": "United Kingdom",
"dial_code": "+44"
}
]

Output Table

FieldDescription
platformAlways Google Maps
keywordThe category that produced this row
titleTitle of the Maps listing
descriptionListing snippet the number was read from
urlDirect Google Maps link
phone_numberE.164-normalised number
countryCountry name from your input
dial_codeDial code used for normalisation and filtering

FAQ ❓

How many numbers will I get?

It depends on how many public Maps listings exist for that category and country. Broad categories in large markets return hundreds; niche trades in small markets may return only a few. The run tells you exactly how many it found per keyword.

Why did a run finish with few or no results?

The category/country combination has little publicly indexed Maps content. Try a broader, more common category, or a larger country. The run completes successfully either way — it never fails just because a search was sparse.

Are the numbers de-duplicated?

Yes. Each phone number appears at most once per keyword.

Do I need to configure a proxy?

No. Leave the proxy settings untouched and the actor selects the correct one automatically.