Google Maps CEE Supplier Shortlist Builder avatar

Google Maps CEE Supplier Shortlist Builder

Pricing

from $2.50 / 1,000 supplier record saveds

Go to Apify Store
Google Maps CEE Supplier Shortlist Builder

Google Maps CEE Supplier Shortlist Builder

Build evidence-based local supplier shortlists from Google Maps for CEE procurement and sales teams. Transparent readiness scoring, risk flags, CEE language support, and optional BYOK AI summaries.

Pricing

from $2.50 / 1,000 supplier record saveds

Rating

0.0

(0)

Developer

Viktor Kondas

Viktor Kondas

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Build evidence-based local supplier shortlists from Google Maps for CEE procurement and sales teams.

What it does

  • Scrapes local service provider listings from Google Maps for a city or region (HU, RO, PL, CZ, SK, AT).
  • Resolves locations via OpenStreetMap Nominatim or custom GeoJSON.
  • Returns structured JSON/CSV/Excel with phone, website, ratings, coordinates, and shortlist fields.
  • Procurement mode adds transparent supplier readiness scoring, risk flags, and shortlist status.
  • Optional multi-provider AI scoring (BYOK): Gemini, Claude, ChatGPT, or OpenRouter.
  • Optional Google Sheets export (service account).
  • Built for n8n, Make, Zapier, and vibe-coder agent workflows.

Optional enrichment: pipe result website URLs into the sibling Website Intelligence + Contact Extractor actor for emails, tech stack, and EU compliance flags.

Who it's for

  1. Procurement teams building first-pass supplier shortlists for clinics, catering, cleaning, security, maintenance, facilities, and local IT services.
  2. Sales teams building contactable SME lead lists by city or district.
  3. Vibe coders powering AI supplier-discovery agents.
  4. Market researchers auditing service density in CEE cities.
  5. Agencies running competitor mapping for clients.

What this score is — and is not

This actor helps you discover and rank public Google Maps evidence. It does not verify legal entity status, insurance, certifications, financial health, pricing, or formal vendor approval.

Use the output for:

  • supplier discovery
  • shortlist preparation
  • outreach prioritization

Do not use it as the sole basis for contract award or formal vendor qualification.

What data you get

FieldDescription
placeIdStable Google Maps place identifier
titleBusiness name
categoryNamePrimary category
address, city, postalCodeParsed location
phone, websiteContact channels
totalScore, reviewsCountRating signals
matchedSearchTermsSearch terms that surfaced this supplier
supplierReadinessScore0–100 shortlist readiness score
shortlistStatusREADY, REVIEW, LOW_EVIDENCE, EXCLUDE
scoreConfidenceHIGH, MEDIUM, LOW
shortlistReasonsHuman-readable reasons
riskFlagsMissing contact, weak evidence, category mismatch, etc.
shortlistReadyTrue when status is READY
contactableLeadLeads mode only — has phone/website and rating ≥ 3.5
aiScore, aiSummaryWhen AI scoring enabled
reviews[]When includeReviews is true

Legacy aliases procurementScore and vendorTier remain for backward compatibility.

How to use it

  1. Configure input — search terms, location, country code, language, limits.
  2. Run on Apify cloud (recommended) or locally with apify run.
  3. Download dataset as JSON, CSV, or Excel from the run page.

Input presets

Budapest dental clinics

{
"searchTerms": ["fogászat", "dental"],
"location": "Budapest, Hungary",
"countryCode": "HU",
"language": "hu",
"maxResultsPerSearch": 5,
"outputMode": "procurement"
}

Store input prefill uses this small cap so Apify automated QA finishes within 5 minutes. For real shortlists, raise maxResultsPerSearch (e.g. 50–100) and/or add terms like fogorvos.

Published Store example: Budapest dental clinics shortlist.

Budapest cleaning suppliers

{
"searchTerms": ["takarítás", "cleaning service", "facility management"],
"location": "Budapest, Hungary",
"countryCode": "HU",
"language": "hu",
"maxResultsPerSearch": 100,
"minRating": 3.5,
"outputMode": "procurement"
}

Warsaw IT vendors

{
"searchTerms": ["software development", "IT outsourcing", "web agency"],
"location": "Warsaw, Poland",
"countryCode": "PL",
"language": "pl",
"maxResultsPerSearch": 50,
"outputMode": "leads"
}

CEE catering suppliers

{
"searchTerms": ["catering", "étterem", "restaurant catering"],
"location": "Budapest, Hungary",
"countryCode": "HU",
"maxResultsPerSearch": 200,
"includeReviews": true,
"maxReviewsPerPlace": 5,
"outputMode": "procurement",
"enableAIScoring": true,
"aiProvider": "openrouter",
"openrouterApiKey": "YOUR_KEY"
}

Output example

{
"placeId": "ChIJ...",
"title": "Smile Dental Clinic",
"categoryName": "Dentist",
"address": "Budapest, Váci út 33, 1134",
"phone": "+36 1 234 5678",
"website": "https://example.hu",
"totalScore": 4.7,
"reviewsCount": 112,
"matchedSearchTerms": ["fogászat", "fogorvos"],
"supplierReadinessScore": 84,
"shortlistStatus": "READY",
"scoreConfidence": "HIGH",
"shortlistReady": true,
"shortlistReasons": ["Strong adjusted rating", "Multiple contact channels"],
"riskFlags": [],
"googleMapsUrl": "https://www.google.com/maps/place/...",
"scrapedAt": "2026-07-15T12:00:00.000Z"
}

Supplier readiness scoring

Deterministic 0–100 score (no AI required):

ComponentMax points
Bayesian-adjusted reputation25
Review confidence (log scale)20
Contactability (website + phone)25
Location completeness15
Category/search relevance10
Operational listing evidence5

Shortlist status:

  • READY — strong evidence, contactable, complete enough for outreach
  • REVIEW — promising but needs manual check
  • LOW_EVIDENCE — too little public review evidence
  • EXCLUDE — permanently closed or no contact channel

AI scoring (BYOK — bring your own key)

Scraping and shortlist scoring work without any LLM key. AI is optional and summarizes only the public evidence collected.

When enableAIScoring is true, choose aiProvider and paste your API key:

ProviderInput key fieldGet key
Gemini (default in auto)geminiApiKeyGoogle AI Studio
ClaudeanthropicApiKeyAnthropic Console
ChatGPTopenaiApiKeyOpenAI API keys
OpenRouteropenrouterApiKeyOpenRouter
autoFirst available key aboveTries Gemini → Claude → OpenAI → OpenRouter

OpenRouter model: defaults to google/gemma-4-31b-it:free. Override with aiModel.

Google Sheets integration

  1. Create a Google Cloud service account with Sheets API access.
  2. Set GOOGLE_SERVICE_ACCOUNT_KEY in actor environment (JSON string).
  3. Share the target spreadsheet with the service account email (Editor).
  4. Enable enableGoogleSheetsExport and pass googleSheetsUrl.

CEE language support

The actor is built for CEE markets (HU, RO, PL, CZ, SK, AT). Here is what is supported:

FeatureSupport
Search terms in any languageYes — pass local keywords directly, e.g. "fogászat" for Hungary
Maps UI language (language input)Yes — sets ?hl=hu (or ro, pl, cs, sk, de) on search URLs
Location geocodingYes — Nominatim resolves "Budapest, Hungary" with countryCode: "HU"
Category/relevance scoringYes — accent-normalized matching against your searchTerms
Localized DOM labels (verified, closed, reviews)Partial — HU/PL/RO/CZ patterns plus English; Maps UI changes can affect extraction

Recommended Hungary dental run:

{
"searchTerms": ["fogászat", "fogorvos", "dental"],
"location": "Budapest, Hungary",
"countryCode": "HU",
"language": "hu",
"maxResultsPerSearch": 50,
"outputMode": "procurement"
}

You do not need English terms like "dental" — they broaden coverage but are optional. Combining local + English terms often finds more suppliers because Google Maps indexes both.

Secrets and local development

  • Never commit apify/google-maps-cee-scraper/.env — it is listed in .gitignore.
  • apify push excludes .env via .gitignore and .actorignore.
  • Docker builds exclude .env via .dockerignore.
  • On Apify cloud, customers paste keys into input fields (openrouterApiKey, etc.) marked as secrets — not from your local .env.
  • For local runs only, copy .env.example.env and add APIFY_TOKEN + optional OPENROUTER_API_KEY.
  • Only .env.example (placeholders, no real keys) is in git.

FAQ

Is scraping Google Maps legal?
You are responsible for compliance with Google’s Terms of Service and local laws. This actor collects publicly visible listing data for legitimate business research.

How is this different from generic Google Maps scrapers?
This actor is focused on CEE local-service supplier shortlists with transparent readiness scoring, risk flags, matched search terms, and optional BYOK evidence summaries — not raw record dumps.

How many results can I get per run?
Up to 500 per search term (maxResultsPerSearch). Multiple terms multiply discovery; duplicates are removed by placeId.

What is AI scoring and does it cost extra on Apify?
AI scoring is optional and BYOK. You pay your LLM provider directly. The actor’s Apify fee is per saved supplier record. Scraping works with zero LLM keys.

Local development

cd apify/google-maps-cee-scraper
npm install
npm run build
npm test
apify run --input-file=INPUT.test.json
npx playwright install chromium

Pricing

Pay-per-event: $2.50 per 1,000 supplier records (place event), minimum charge $0.10 per run.

Enable Pay per event + usage in Apify Console so platform compute/proxy costs are passed through to users. That keeps developer margins healthy while remaining competitive for decision-ready shortlists rather than raw scraping.

ActorRole
Google Maps CEE Supplier Shortlist (this Actor)Discover local suppliers
Website Intelligence + ContactEnrich websites (contacts, tech, compliance)
Dealer / Distributor LocatorExpand brand locator pages
PDF Procurement Document ExtractorFind certs / reports / datasheets
Website Change MonitorWatch pages for changes

Each Actor runs standalone; use them as an optional suite when chaining discovery → enrichment → monitoring.

Feedback

Open an issue on the actor’s Apify page or contact Vibe Coder's Life.