Local SEO SMB Lead Gap Scorer
Pricing
Pay per usage
Local SEO SMB Lead Gap Scorer
Turn imported Google Maps or Google Places business rows into deterministic local SEO and SMB outreach gap scores.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Wit Nomad
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Turn imported Google Maps, Google Places, CSV, spreadsheet, dataset, or manual local-business rows into deterministic local SEO and SMB outreach gap scores.
This is an ingest-first Actor for agencies and operators that already have business rows from existing Google Maps/Places scrapers or manual research. It does not collect data itself. It normalizes the rows, dedupes likely duplicate businesses, classifies website presence from supplied URLs, and outputs a CRM-ready priority table.
What it does
- Normalizes business name, category, address, city, phone, website, rating, review count, source URL, and Google Maps URL aliases.
- Dedupes by supplied place ID/CID/FID, canonical Google Maps URL, or normalized business identity.
- Classifies website status as
missing,weak_web_presence, orpresentwithout fetching the website. - Scores local SEO / web design / marketing outreach gaps from supplied fields only.
- Produces gap reasons, evidence snippets, a helpful outreach angle, a recommended offer, CRM fields, confidence, and warnings.
Input
The MVP supports items mode only. Use rows from existing Google Maps/Places scrapers, Google Places exports, CSV/spreadsheet/manual research, or Apify datasets that you paste/import.
Common row fields:
businessName,business,name,title,company,companyName,placeNamecategory,categoryName,primaryCategory,categories,typesaddress,fullAddress,streetAddress,locationcity,suburb,locality,town,regionphone,phoneNumber,contactPhone,internationalPhoneNumberwebsite,websiteUrl,site,domainrating,stars,googleRatingreviewCount,reviews,reviewsCount,userRatingsTotalgoogleMapsUrl,mapsUrl,googleBusinessProfileUrl,placeUrl,sourceUrl,sourceLink,urlplaceId,place_id,cid,fid
If an email or social field is already present, the Actor can pass it through in crmFields. It does not discover new emails or social profiles.
Output
Each dataset item includes:
- normalized business identity and contact fields;
websiteStatus,leadScore, andpriority;gapReasonssuch aswebsite_missing,weak_web_presence,low_review_count, orphone_missing;- input-grounded
evidenceSnippets; outreachAngleandrecommendedOfferwritten to stay helpful and evidence-led, not spammy or shaming;crmFieldsfor downstream sales workflows;confidenceandwarningsfor data quality review.
Example use cases
- Prioritize local businesses that appear to need a starter website or clearer owned web presence.
- Sort Google Maps scraper output into CRM-ready agency outreach lists.
- Identify rows where review operations, GBP cleanup, or contact-data cleanup may be a helpful offer.
- Deprioritize stronger profiles with real websites, phone numbers, categories, addresses, high ratings, and meaningful review counts.
Limits and safety notes
- This Actor does not scrape Google Maps.
- This Actor does not scrape Google Places.
- This Actor does not scrape websites, fetch URLs, crawl pages, or verify if a supplied site is live.
- This Actor does not discover emails.
- This Actor does not discover social profiles.
- This Actor does not scrape reviews or infer review recency.
- This Actor does not use AI/LLMs.
- This Actor does not guarantee buyer intent.
- This Actor does not guarantee lead validity.
- This Actor does not guarantee GBP truth.
- This Actor does not guarantee legal compliance.
- This Actor does not guarantee SEO ranking impact.
- This Actor does not guarantee outreach deliverability.
- Outreach should be helpful/evidence-led and not spammy or shaming. Validate the business context before contacting anyone.
Local development
npm installnpm testapify validate-schema
To run locally without Apify storage, save input as input.json and run:
$node src/main.js --input input.json --output output.json