Local Business Growth Signal Enricher
Pricing
from $2.40 / 1,000 business-signal-results
Local Business Growth Signal Enricher
Enrich local business leads with public growth and outreach signals - website presence, ratings, review volume, contact and digital-presence hints, and a transparent growth/opportunity score. One flat CSV-ready row per business. No login or cookies.
Pricing
from $2.40 / 1,000 business-signal-results
Rating
0.0
(0)
Developer
Delowar Munna
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share

Enrich local business leads — by business website URL, Google Maps place URL, or local search query — with public growth and outreach signals. For each business you get one flat, CSV-ready row: identity and contact fields, rating and review bands, website + digital-presence signals, and a transparent growth-signal score (0–100).
Built for local lead-generation teams, web design / SEO / marketing agencies, sales teams, and local market researchers who want to prioritise which businesses look active, growing, under-served, or ready for outreach.
- ✅ No login, no cookies, no API keys. Public data only.
- ✅ One row per business, CSV-ready.
- ✅ Transparent, non-AI scoring you can audit field-by-field.
- ✅ Lightweight HTTP + structured-data extraction; optional single homepage check — no headless browser.
What it does
For every business input the actor:
- Normalizes the input and detects its type (business website, Google Maps place, or search query).
- Extracts public profile fields where available: name, category, website, phone, address, rating, review count, opening status.
- Optionally runs a single homepage check for digital-presence signals: title, meta description, HTTPS, contact/booking hint, and social-link hint.
- Derives review/rating bands, website + phone flags, a digital-presence level, and best-effort city/state/country.
- Scores a transparent
growth_signal_scoreand emits one flat row.
It does not do login/session scraping, full review scraping, deep crawling, email enrichment, AI summaries, or historical tracking.
Input
| Field | Type | Default | Description |
|---|---|---|---|
inputMode | string | businessUrls | businessUrls, searchQueries, or mixed. |
businessUrls | array of strings | [] | Business website URLs or Google Maps place URLs. Max 1,000. |
searchQueries | array of strings | [] | Local search terms such as plumbers Canberra. Max 100. Best-effort discovery. |
maxResults | integer | 100 | Max valid unique business rows to save (1–5000). |
maxResultsPerQuery | integer | 50 | Max businesses discovered per query (1–500). |
includeHomepageSignals | boolean | true | Fetch the homepage once for digital-presence signals. |
includeContactPageHint | boolean | true | Detect a homepage link to a contact/booking page (no second fetch). |
minRating | number | 0 | Keep businesses rated ≥ this value (decimals allowed). Missing ratings pass. |
minReviews | integer | 0 | Keep businesses with ≥ this many reviews. Missing review counts pass. |
requireWebsite | boolean | false | Keep only businesses with a website. |
onlyMissingWebsite | boolean | false | Keep only businesses without a website (web/SEO prospecting). Ignored if requireWebsite. |
categoryKeywords | array of strings | [] | Keep if category (or name) contains a keyword. |
locationKeywords | array of strings | [] | Keep if address/location contains a keyword. |
deduplicate | boolean | true | One row per business (place URL, domain, phone, or name+address). |
proxyConfiguration | object | { "useApifyProxy": true } | Datacenter, no proxy, or custom proxy URLs. Apify Residential rejected at startup. |
Example inputs
1. Enrich a list of real business websites — the 20-business set used for validation below.
{"inputMode": "businessUrls","businessUrls": ["https://www.proximityplumbing.com.au","https://www.fixitrightplumbing.com.au","https://www.metropolitanplumbing.com.au","https://www.watermaster.com.au","https://www.smilesolutions.com.au","https://www.thegrounds.com.au","https://www.gelatomessina.com","https://www.guzmanygomez.com.au","https://www.jimsmowing.com.au","https://www.hireahubby.com.au","https://www.snap.com.au","https://www.rotorooter.com","https://www.mrhandyman.com","https://www.terminix.com","https://www.mollymaid.com","https://www.bondivet.com.au","https://www.crownperth.com.au","https://www.flowerpower.com.au","https://www.totaltools.com.au","https://www.autobarn.com.au"],"maxResults": 100,"includeHomepageSignals": true,"includeContactPageHint": true,"deduplicate": true,"proxyConfiguration": { "useApifyProxy": true }}
2. Filter to high-value local leads — keep only well-reviewed plumbers with a website.
{"inputMode": "businessUrls","businessUrls": ["https://www.proximityplumbing.com.au","https://www.fixitrightplumbing.com.au","https://www.metropolitanplumbing.com.au"],"minRating": 4,"minReviews": 50,"requireWebsite": true,"categoryKeywords": ["plumber"],"proxyConfiguration": { "useApifyProxy": true }}
3. Web-design / SEO prospecting — find local businesses missing a website
{"inputMode": "searchQueries","searchQueries": ["plumbers Canberra", "electricians Parramatta"],"maxResultsPerQuery": 25,"onlyMissingWebsite": true,"minReviews": 10,"proxyConfiguration": { "useApifyProxy": true }}
Output
One flat row per enriched business. Key fields:
- Identity / contact:
business_name,business_category,website_url,website_domain,phone,address,city_or_suburb,state_or_region,country - Source:
source_url,source_type(google_maps_place/business_website/search_result/unknown) - Reputation:
rating,review_count,review_volume_band,rating_band,opening_status - Presence signals:
has_website,has_phone,homepage_title,homepage_meta_description,has_https,has_contact_page_hint,has_social_link_hint,digital_presence_level - Scoring:
growth_signal_score(0–100),growth_signal_label(weak/moderate/strong/high_priority),reason_tags - Provenance:
input_value,input_mode,scraped_at
Sample record
Real output for https://www.proximityplumbing.com.au — a Plumber with rich schema.org data (rating, review count, address), scored 100 / high_priority:
{"business_name": "Proximity Plumbing","business_category": "Plumber","website_url": "https://proximityplumbing.com.au/","website_domain": "proximityplumbing.com.au","phone": "+0420102394","address": "Plumber in Point Piper, Point Piper, NSW, 2022, Australia","city_or_suburb": "Point Piper","state_or_region": "NSW","country": "Australia","source_url": "https://proximityplumbing.com.au/","source_type": "business_website","rating": 4.9,"review_count": 2365,"review_volume_band": "very_high","rating_band": "excellent","opening_status": null,"has_website": true,"has_phone": true,"homepage_title": "Proximity Plumbing Sydney | Plumber Eastern Suburbs | 5 ⭐️ Rated","homepage_meta_description": "Proximity Plumbing Voted No.1 Plumber Eastern Suburbs. Providing Quality Sydney Plumbing Service With 25 Years of Collective Experience.","has_https": true,"has_contact_page_hint": true,"has_social_link_hint": true,"digital_presence_level": "strong","growth_signal_score": 100,"growth_signal_label": "high_priority","reason_tags": "has_website|has_https|strong_reviews|excellent_rating|has_phone|contact_page_hint|social_link_hint","input_value": "https://www.proximityplumbing.com.au","input_mode": "businessUrls","scraped_at": "2026-06-17T01:19:38.246Z"}
Output preview
The default Local business signals dataset view — one flat row per business:

Validated locally on the 20-business input above: 20 inputs → 20 rows saved, 0 failed, 0 filtered.
A run summary is stored in the default key-value store under RUN_SUMMARY with counters such as inputs_total, results_saved, duplicates_removed, filtered_out, charged_events, homepage_fetches, and blocked_requests.
Growth-signal score
A transparent 0–100 weighted sum (see PRD §7), based only on visible public fields:
+20has a website,+10HTTPS,+10homepage title/meta+10contact/booking hint,+10social-link hint+15reviews 20–99,+25reviews 100++10rating 4.0–4.49,+15rating 4.5++15has a phone+20missing website but strong review volume (50+) — a high-priority web/SEO lead
Labels: 80–100 high_priority, 60–79 strong, 30–59 moderate, 0–29 weak.
Pricing
Pay Per Event. One event, business-signal-result, is charged only after a valid, unique business row is successfully pushed to the dataset. Duplicate businesses, filtered-out businesses, and failed inputs are never charged. The actor honours your per-run spending limit and stops cleanly when it is reached.
🚦 Proxy policy
Use Apify Datacenter proxy or no proxy for normal runs — both work reliably for business websites at this actor's conservative concurrency.
Apify Residential proxy is not supported. The actor fails at startup if apifyProxyGroups includes RESIDENTIAL. Reason: in pay-per-event actors, residential bandwidth (~$8/GB) is billed to the developer, not the run user, so a single bandwidth-heavy run could exceed the per-result event revenue.
If you genuinely need residential routing, supply your own residential provider via the proxy editor's Custom proxy URLs field — that traffic goes through your provider, not Apify, and is unaffected:
http://user:pass@proxy.iproyal.com:12321http://user:pass@proxy.brightdata.com:22225http://user:pass@proxy.oxylabs.io:7777
Notes & limitations
- Business websites are the most reliable input. Identity, contact, and digital-presence signals come from the homepage's structured data (schema.org
LocalBusiness/Organization) and meta tags. - Google Maps place URLs are best-effort. Google Maps pages are JavaScript-rendered and aggressively bot-protected; over Datacenter/no-proxy the actor extracts what the server-sent meta tags expose (name, and sometimes rating/reviews) and otherwise degrades gracefully. This actor is HTTP-only by design — no headless browser — and does no full review scraping.
- Search-query discovery is experimental and less stable without a proxy. It uses a single free public search per query to find candidate business websites, then enriches each as a website.
- V1 uses no paid places API, no paid enrichment vendor, and no login/cookies/sessions.