Company Finder: B2B Lists by City and Industry avatar

Company Finder: B2B Lists by City and Industry

Pricing

from $2.50 / 1,000 supplier record saveds

Go to Apify Store
Company Finder: B2B Lists by City and Industry

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

Viktor Kondas

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

2 days ago

Last modified

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):

CityIndustryTypical cost
Oslologistics~$0.10–0.15 for 10–40 candidates
Austinsoftware agencies~$0.10–0.20 for 20 candidates
Budapestdental 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 maxCandidates cost 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

  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 company-discovery agents.
  4. Market researchers auditing service density in any city.
  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:

  • 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

FieldDescription
companyKeyRegistrable website domain, or placeId when there is no site
placeIdStable Google Maps place identifier
titleBusiness name
categoryNamePrimary category
address, city, postalCodeParsed location
phone, website, websiteDomainContact channels
locationsBranch addresses rolled up by domain
totalScore, reviewsCountRating signals
matchedSearchTermsSearch terms that surfaced this company
discoveredByWhich term + map tile found it
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 (or industry preset), city/country, 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 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:

FeatureSupport
Search terms in any languageYes — e.g. "fogászat", "klimatyzacja", "logistik"
Maps UI language (language)Yes — sets ?hl= on search URLs
City lookupGeoNames cities15000 (not Nominatim)
Category/relevance scoringAccent-normalized matching against your searchTerms

Combining local + English terms often finds more listings because Google Maps indexes both.

Optional AI scoring (BYOK)

ProviderInput fieldKey source
Gemini (default in auto)geminiApiKeyActor env GEMINI_API_KEY or BYOK
ClaudeanthropicApiKeyAnthropic Console
ChatGPTopenaiApiKeyOpenAI API keys
OpenRouteropenrouterApiKeyOpenRouter
autoFirst available key aboveTries Gemini → Claude → OpenAI → OpenRouter

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.

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-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 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).

All Actors

Feedback

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