Google Maps EU Scraper - B2B Leads, No API Key avatar

Google Maps EU Scraper - B2B Leads, No API Key

Pricing

Pay per usage

Go to Apify Store
Google Maps EU Scraper - B2B Leads, No API Key

Google Maps EU Scraper - B2B Leads, No API Key

Find EU businesses by keyword and city using OpenStreetMap/Nominatim - no Google API key needed. Name, address, phone, website, coordinates. Auto proxy routing NL/BE/DE/FR/SE. AI enrichment (5 LLM providers). $0.005/place PPE.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Nick

Nick

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

5 days ago

Last modified

Share

Google Maps EU Scraper - Find European Businesses by Keyword and City

Part of the harvestlab MCP suite - 36 RAG-ready, AI-agent-payment-ready Apify actors covering ecommerce, social, travel, news, jobs, EU B2B, dev-tools, and government data. See the full suite

Find European businesses by keyword and city - without a Google API key. Scrape names, addresses, phones, websites, GPS coordinates, and category from OpenStreetMap. Ideal for B2B lead generation across NL, BE, DE, FR, SE, and the UK. Pay only $0.005 per place with no monthly minimum.


Why This Actor

Most Places scrapers require a Google Maps Platform API key, come with monthly minimums, or charge $2-7 per 1,000 requests. This actor uses OpenStreetMap via the Overpass API and Nominatim geocoding - both free, open, and ODbL-licensed. There is nothing to configure before your first run beyond a search keyword and a city name.

EU coverage is a first-class feature. The actor automatically routes Apify proxy traffic through the correct country exit (NL for Amsterdam, DE for Berlin, FR for Paris, SE for Stockholm, GB for London) to maximise Nominatim and Overpass response reliability. For Dutch or Belgian B2B workflows, it pairs directly with kvk-scraper and contact-extractor to build a complete "discover - verify - enrich - contact" pipeline.


Key Features

FeatureDetail
Data sourceOpenStreetMap via Overpass API + Nominatim geocoding
No API key requiredFree, open data - zero billing setup
EU proxy auto-routingInjects apifyProxyCountry (NL/BE/DE/FR/SE/GB) based on target location
Rich EU coverageAll OSM-mapped businesses across 30+ European cities
Output fieldsname, category, address, city, country, postalCode, phone, website, lat/lng, OSM ID/type, raw tags
AI business enrichment5 LLM providers: OpenRouter, Anthropic, Google AI, OpenAI, Ollama
AI output fieldssector, target_market, business_size, key_insights[], lead_score (1-10), summary
Pay-per-event pricing$0.005/place, $0.005/AI analysis - pay only for what you get
Input aliasesAccepts query/location/maxItems for CLI/API callers
Google Maps linksEach result includes a ready-to-click Google Maps search URL
DeduplicationOSM ID-based dedup prevents double-charging for duplicates
Polite crawling1-second delays between Overpass requests; Nominatim fair-use compliant

Competitor Comparison

ScraperPriceAPI Key NeededEU Proxy RoutingAI Enrichment
Google Maps EU Scraper (this)$0.005/placeNoAuto (6 countries)Yes (5 providers)
compass/crawler-google-places (374k users)~$0.002-0.004/placeYes (Google Maps Platform)ManualNo
Outscraper$0.003-$0.01/rowYes (Google)ManualLimited
PhantomBuster Google MapsFrom $69/moYes (Google)NoNo
DataForSEO Places API$0.0015+/callYesNoNo
Google Maps Platform (direct)$2-$17/1,000 callsYesN/ANo

Key differentiator: No Google API key, EU-native proxy routing, and optional AI lead scoring in a single pay-per-event actor. compass/crawler-google-places leads the category with 374,787 users and Google-sourced data (richer reviews and ratings) - if you need Google Maps reviews and ratings, use that actor. If you need EU B2B leads without API setup and want AI enrichment, this actor is the faster path.


Use Cases

1. B2B prospecting for EU SMBs

A sales team targeting independent accountants in the Netherlands runs "accountant" in "Amsterdam" with a 15 km radius and 500 max results. They get name, phone, website, and coordinates for every OSM-mapped accountancy firm. They pipe the website URLs into contact-extractor to pull managing partner emails, then cross-reference against kvk-scraper for SBI code and headcount before outreach.

2. Restaurant finder app

A travel app needs a JSON feed of all restaurants within 3 km of city centres across five European capitals. One run per city exports name, category, GPS coordinates, phone, and website in a format ready for GeoJSON rendering on a map tile layer.

3. Property nearby amenities

A proptech platform wants to show buyers what amenities (schools, pharmacies, supermarkets, gyms) are within 1 km of any listing. This actor provides that data from OSM without requiring a per-query Google Maps API call.

4. Travel guide content

A travel content agency generates city-by-city guides. They run "museum" or "hotel" searches per destination and feed the AI enrichment to get a 2-3 sentence summary and sector classification for each venue - ready to paste into CMS templates.

5. Retail site selection

A franchise operator researching expansion runs "coffee shop" or "gym" searches in target districts to map existing competitor density, informing their site selection model with real location data.

6. Competitor location mapping

A logistics company wants to know where all competing courier depots are in the Benelux region. They run "courier" and "logistics" searches across Brussels, Antwerp, Rotterdam, and Amsterdam and export the results to a shared spreadsheet.

7. Field sales routing

A medical device sales rep needs a list of all GP clinics and specialist practices in their territory. They run "doctor" and "clinic" searches for their region and export name, address, and phone for route planning in Google Maps.

8. Local SEO audit

An agency running local SEO for clients checks OSM listing completeness for their client's category (e.g., "physiotherapy" in "Cologne") to identify gaps in business directory coverage and opportunities for citations.


EU B2B Pipeline

This actor is the discovery layer in the harvestlab EU B2B pipeline:

google-maps-eu-scraper (discover businesses by keyword + city)
|
v
contact-extractor (extract emails, LinkedIn, 175+ tech stack signals from each website)
|
v
kvk-scraper (cross-reference NL businesses: legal form, SBI code, director names)
|
v
eu-b2b-leadgen (orchestrate KvK + KBO + Handelsregister + SIRENE + VIES VAT validation)
|
v
Your CRM / n8n / Make (HubSpot contact creation, Slack alert, Google Sheet row)

Dutch B2B example: Run google-maps-eu-scraper for "IT consultancy" in "Amsterdam", then feed each website into contact-extractor for CTO/founder emails, then verify each company via kvk-scraper for legal status and employee count before sequencing outreach.

Belgian B2B example: Run for "notaris" in "Ghent", feed into contact-extractor, cross-reference with belgium-kbo-scraper for VAT number and NACE code.


Input Parameters

ParameterTypeDefaultDescription
searchQuerystringrequiredBusiness type or name (e.g., restaurant, plumber, Starbucks).
searchLocationstringAmsterdamCity, region, or address (e.g., Berlin Mitte, Paris 75001).
searchRadiusinteger5000Search radius in metres around the location (100-50000).
maxResultsinteger50Maximum number of places to return (1-1000).
proxyConfigurationobjectApify proxyProxy settings. Datacenter proxy is sufficient.
enableAiAnalysisbooleanfalseEnable LLM-generated business profile per place.
llmProviderstringopenrouterAI provider: openrouter, anthropic, google, openai, ollama.
llmModelstringprovider defaultOverride the model name (e.g., gpt-4o, claude-opus-4-5).
openrouterApiKeystring-OpenRouter API key (or set OPENROUTER_API_KEY env var).
anthropicApiKeystring-Anthropic API key (or set ANTHROPIC_API_KEY env var).
googleApiKeystring-Google AI API key (or set GOOGLE_API_KEY env var).
openaiApiKeystring-OpenAI API key (or set OPENAI_API_KEY env var).
ollamaBaseUrlstringhttp://localhost:11434Ollama server URL for self-hosted models.

CLI aliases (hidden schema fields): query maps to searchQuery, location maps to searchLocation, maxItems maps to maxResults.

LLM provider defaults: OpenRouter uses google/gemini-2.0-flash-001 (cheapest), Anthropic uses claude-sonnet-4-20250514, Google AI uses gemini-2.0-flash, OpenAI uses gpt-4o-mini, Ollama uses llama3.1.


Output Schema

Each item in the dataset represents one business place:

{
"url": "https://www.google.com/maps/search/Cafe%20de%20Jaren%2C%20Nieuwe%20Doelenstraat%2C%20Amsterdam",
"name": "Cafe de Jaren",
"category": "restaurant",
"address": "Nieuwe Doelenstraat 20, Amsterdam, NL",
"city": "Amsterdam",
"country": "NL",
"postalCode": "1012 CP",
"phone": "+31 20 625 5771",
"website": "https://www.dejaren.nl",
"latitude": 52.3693,
"longitude": 4.8990,
"osmId": 123456789,
"osmType": "node",
"tags": {
"amenity": "restaurant",
"name": "Cafe de Jaren",
"addr:street": "Nieuwe Doelenstraat",
"addr:housenumber": "20",
"addr:city": "Amsterdam",
"addr:country": "NL",
"addr:postcode": "1012 CP",
"phone": "+31 20 625 5771",
"website": "https://www.dejaren.nl",
"cuisine": "international",
"outdoor_seating": "yes"
},
"aiAnalysis": {
"sector": "Food & Beverage",
"target_market": "B2C - tourists, students, and Amsterdam residents seeking a grand cafe experience",
"business_size": "small",
"key_insights": [
"Canal-side location with premium pricing potential",
"Outdoor seating drives summer foot traffic",
"International cuisine broadens customer base"
],
"lead_score": 4,
"summary": "Cafe de Jaren is a well-known Amsterdam grand cafe with riverside terrace seating and an international menu. Strong local brand recognition makes it a mid-range B2C prospect; low lead score for B2B outreach but high value for hospitality supplier targeting."
},
"scraped_at": "2026-04-28T10:30:00+00:00"
}

Note: phone, website, postalCode, and aiAnalysis may be empty or null. OSM tag completeness varies by region and place type. City centres and major business districts typically have better coverage.


Data Completeness by Region

OSM tag completeness varies across Europe. Approximate coverage for key B2B fields:

RegionNameAddressPhoneWebsite
Netherlands~98%~85%~45%~40%
Germany~97%~82%~40%~35%
France~96%~78%~35%~30%
Belgium~95%~80%~40%~35%
Sweden~95%~75%~35%~30%
UK~94%~72%~30%~28%

City centres and business districts have significantly higher completeness than rural areas. The AI enrichment (enableAiAnalysis) supplements missing metadata by inferring sector and target market from available tags.


Technical Details

  • Data source: OpenStreetMap via the Overpass API and Nominatim geocoding.
  • Search strategy: Queries match on OSM name tag (regex, case-insensitive) AND on category tags (amenity, shop, leisure, office, tourism). Searching "restaurant" returns both places named "Restaurant X" and places tagged amenity=restaurant.
  • Proxy routing: The actor automatically sets apifyProxyCountry to the appropriate country code (NL/BE/DE/FR/SE/GB) based on the detected location, improving response times and reducing timeouts.
  • Google Maps URL: The url field contains a Google Maps search link constructed from the place name and address. It is a convenience link - not a scraped Google Maps URL.
  • OSM ID stability: OSM element IDs are stable within a major version but can change during OSM data corrections. Use name + address as the stable business identifier across runs.
  • Rate limiting: Nominatim enforces 1 request/second. Overpass is rate-limited by query complexity. The actor includes polite 1-second delays and retries on HTTP 429.
  • Deduplication: OSM ID-based deduplication runs before charging, so duplicate elements returned by Overpass are never pushed to the dataset or billed.

Integrations

ActorWhat It Adds
kvk-scraperDutch KvK registration: legal form, SBI code, director names, headcount. Cross-reference OSM businesses with the Dutch Chamber of Commerce.
contact-extractorFrom a website URL, extract email addresses, LinkedIn profiles, job titles, and 175+ tech stack signals. Build a full contact record for each lead.
eu-b2b-leadgenOrchestrate KvK + KBO + Handelsregister + SIRENE in one run with VIES VAT validation and email enrichment.
review-analyzerAnalyse Google/Trustpilot reviews for any business found by this actor - understand sentiment and competitive positioning.
news-monitorTrack press coverage for any company name discovered via this actor.

Scheduling and Automation

Schedule monthly runs in Apify Console to keep EU B2B prospect lists fresh for a target city and keyword. Connect a webhookUrl in n8n or Make to push each extracted business directly into a CRM, Google Sheet, or Slack channel as soon as the run completes.

Example automation: "IT consultancy Amsterdam" - monthly EU Maps run - n8n webhook - HubSpot contact creation.


Pricing

EventPriceWhen It Fires
place-scraped$0.005Each business place extracted from OpenStreetMap
ai-analysis-completed$0.005Per place when AI lead scoring and profile runs

At 1,000 places that is $5 - cheaper than a single LinkedIn Sales Navigator contact export row.


OpenStreetMap Data License

OpenStreetMap data is licensed under the Open Database License (ODbL) v1.0. You are free to copy, distribute, transmit, and adapt the data, even for commercial purposes, provided you:

  1. Attribute OpenStreetMap and its contributors in any product or work derived from the data.
  2. Share-Alike: If you alter or build upon the data, you must distribute the result under the same ODbL license.
  3. Keep any produced works (e.g., databases) open if they incorporate OSM data.

Required attribution: "© OpenStreetMap contributors" with a link to https://www.openstreetmap.org/copyright.

Nominatim and Overpass API Usage Policy

This actor uses the public Nominatim API (hosted by the OSM Foundation) and the public Overpass API (hosted by overpass-api.de). Both have fair-use policies:

  • Nominatim: Maximum 1 request per second; must identify the application via User-Agent (handled automatically).
  • Overpass API: Requests should be reasonable in scope; complex queries may be throttled during peak hours.

For high-volume production use (10,000+ requests/day), consider a self-hosted Nominatim Docker image or a commercial Nominatim provider.

Scraping and ToS Compliance

This actor does not scrape Google Maps, Google Search, or any Google properties. It uses free, open-source OpenStreetMap data via public APIs. No Google Maps Platform API keys are used or required. All data is ODbL-licensed.

User responsibilities:

  • Ensure your use of extracted business data complies with applicable data protection laws in your jurisdiction, including GDPR (EU), UK GDPR, and national implementations.
  • Business contact data (phone numbers, emails) extracted from websites via contact-extractor is subject to GDPR lawful basis requirements for marketing use.
  • Do not use this data to build unsolicited marketing lists without a lawful basis under GDPR Article 6.
  • You are solely responsible for how you use, store, and process the data extracted by this actor.

GDPR Notice

Business addresses, phone numbers, and websites of sole traders or micro-businesses may constitute personal data under GDPR. If you operate in the EU or process data about EU residents, ensure you have a lawful basis for your data processing activities. The actor itself does not store any personal data beyond the current run's dataset.


About

Built by Nick Lukianenko as part of the EU B2B Lead Generation actor portfolio. For support or feature requests, open a GitHub issue or contact via the Apify Actor page.