Company Finder: B2B Lists by City and Industry
Pricing
from $2.50 / 1,000 supplier record saveds
Company Finder: B2B Lists by City and Industry
Find companies by industry in any city worldwide. Websites, phones, ratings, shortlist scores. Adaptive map tiles, GeoNames city lookup (no Nominatim). Optional BYOK AI. Registry financials in a later release.
Pricing
from $2.50 / 1,000 supplier record saveds
Rating
0.0
(0)
Developer
Viktor Kondas
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Find companies of a type in any city worldwide — phone, website, ratings, coordinates, and transparent readiness scoring.
Store slug: kondasviktor/google-maps-company-finder
Worked examples (preview mode):
| City | Industry | Typical cost |
|---|---|---|
| Oslo | logistics | ~$0.10–0.15 for 10–40 candidates |
| Austin | software agencies | ~$0.10–0.20 for 20 candidates |
| Budapest | dental clinics | ~$0.10 for a 5–10 place Store QA run |
Schedule a weekly run with the same city + industry when you only want new companies (monitoring fields land in a later release). You pay per saved place, minimum $0.10/run.
City coordinates use the GeoNames cities15000 dump (CC BY 4.0). Custom GeoJSON still overrides the lookup. Public Nominatim is not used.
What it does
- Discovers companies on Google Maps by city + industry preset (or free-text search terms) in any country.
- Adaptive map tiles with a hard
maxCandidatescost cap (worst-case charge printed in the log before scrolling). - Returns structured JSON/CSV/Excel with phone, website,
companyKey, 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. Included Gemini for paid plans arrives with the company-suite Release 2 events.
- 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. Then verify legal names / VAT with Company Data Verifier.
Who it's for
- Procurement teams building first-pass supplier shortlists for clinics, catering, cleaning, security, maintenance, facilities, and local IT services.
- Sales teams building contactable SME lead lists by city or district.
- Vibe coders powering AI company-discovery agents.
- Market researchers auditing service density in any city.
- 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:
- company / 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
| Field | Description |
|---|---|
companyKey | Registrable website domain, or placeId when there is no site |
placeId | Stable Google Maps place identifier |
title | Business name |
categoryName | Primary category |
address, city, postalCode | Parsed location |
phone, website, websiteDomain | Contact channels |
locations | Branch addresses rolled up by domain |
totalScore, reviewsCount | Rating signals |
matchedSearchTerms | Search terms that surfaced this company |
discoveredBy | Which term + map tile found it |
supplierReadinessScore | 0–100 shortlist readiness score |
shortlistStatus | READY, REVIEW, LOW_EVIDENCE, EXCLUDE |
scoreConfidence | HIGH, MEDIUM, LOW |
shortlistReasons | Human-readable reasons |
riskFlags | Missing contact, weak evidence, category mismatch, etc. |
shortlistReady | True when status is READY |
contactableLead | Leads mode only — has phone/website and rating ≥ 3.5 |
aiScore, aiSummary | When AI scoring enabled |
reviews[] | When includeReviews is true |
Legacy aliases procurementScore and vendorTier remain for backward compatibility.
How to use it
- Configure input — search terms (or industry preset), city/country, language, limits.
- Run on Apify cloud (recommended) or locally with
apify run. - 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 examples (5, small caps for fast QA):
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 house", "IT services", "outsourcing IT"],"location": "Warsaw, Poland","countryCode": "PL","language": "pl","maxResultsPerSearch": 50,"outputMode": "leads"}
Oslo logistics (GeoNames + industry preset)
{"mode": "preview","country": "NO","city": "Oslo","industryPreset": "logistics","maxCandidates": 15,"language": "en","outputMode": "procurement"}
Language and localization
Works worldwide. Pass local keywords and set language / countryCode for Maps UI and geocoding:
| Feature | Support |
|---|---|
| Search terms in any language | Yes — e.g. "fogászat", "klimatyzacja", "logistik" |
Maps UI language (language) | Yes — sets ?hl= on search URLs |
| City lookup | GeoNames cities15000 (not Nominatim) |
| Category/relevance scoring | Accent-normalized matching against your searchTerms |
Combining local + English terms often finds more listings because Google Maps indexes both.
Optional AI scoring (BYOK)
| Provider | Input field | Key source |
|---|---|---|
| Gemini (default in auto) | geminiApiKey | Actor env GEMINI_API_KEY or BYOK |
| Claude | anthropicApiKey | Anthropic Console |
| ChatGPT | openaiApiKey | OpenAI API keys |
| OpenRouter | openrouterApiKey | OpenRouter |
| auto | First available key above | Tries Gemini → Claude → OpenAI → OpenRouter |
Google Sheets integration
- Create a Google Cloud service account with Sheets API access.
- Set
GOOGLE_SERVICE_ACCOUNT_KEYin actor environment (JSON string). - Share the target spreadsheet with the service account email (Editor).
- Enable
enableGoogleSheetsExportand passgoogleSheetsUrl.
Use with Claude, Cursor, and MCP
This Actor is available on the Apify MCP server. Ask for a company shortlist by city and industry (Oslo logistics, Austin agencies, Budapest dental, …). Keep maxCandidates / maxResultsPerSearch small for a smoke. Schedule daily if you refresh a city list; you pay per saved place, minimum $0.10/run.
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?
Focused on city + industry company 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). Use maxCandidates for a hard cost cap. Duplicates are removed by placeId.
What is AI scoring and does it cost extra on Apify?
AI scoring is optional. BYOK uses your LLM key (company-profile-byok when enabled in monetization). Included Gemini for paying Apify users ships with the scheduled company-suite events. Scraping works with zero LLM keys.
How much does it cost?
Pay-per-event: $2.50 per 1,000 company/place records (place), minimum $0.10 per run. From 23 Oct 2026: optional AI profile and financials events + explicit min charge top-up. Platform usage is not passed to users (PPE only).
How do I scrape Google Maps companies in any city?
Set city + country (or location + countryCode), an industryPreset or searchTerms, and start with maxCandidates: 10 for a smoke test.
Local development
cd google-maps-cee-scrapernpm installnpm run buildnpm testapify run --input-file=INPUT.test.jsonnpx playwright install chromium
Pricing
Pay-per-event: $2.50 per 1,000 company/place records (place event), minimum charge $0.10 per run.
Use pay per event only in Apify Console (do not pass platform usage to users). Keep apify-actor-start. Do not enable apify-default-dataset-item.
Scheduled from 23 Oct 2026: company-profile, company-profile-byok, financials-found, run-minimum.
Suite path
Finder → Profiler → Verifier. Discover companies here, enrich websites with Company Profiler, then clean VAT/registry fields with Company Data Verifier.
Weekly schedule (recurring)
Save a task with fixed city + industryPreset and maxCandidates: 50. Schedule weekly. Event cost ≈ $2.50 × places / 1000, minimum $0.10/run. Example: 40 new places/week ≈ $0.40/month of place events (plus min charge if a week is empty).
Related
- Company Profiler — Emails, tech stack, EU signals, optional Gemini profile
- Company Data Verifier — VAT (VIES) and no-key registry cleanup
- Dealer / Distributor Locator — Expand a known brand locator instead of Maps search
- PDF Procurement Document Extractor — Certs / reports from supplier sites
- Website Change Monitor — Watch shortlisted pages
Feedback
Open an issue on the actor’s Apify page or contact Vibe Coder's Life.