Google Maps Lead Priority Scorer avatar

Google Maps Lead Priority Scorer

Pricing

from $1.50 / 1,000 scored leads

Go to Apify Store
Google Maps Lead Priority Scorer

Google Maps Lead Priority Scorer

Scores Google Maps places (from any Google Maps scraper's output) into a single 0-100 lead-priority score by combining missing website, unclaimed profile, GBP completeness, and relative review count. Zero-fetch, zero-LLM.

Pricing

from $1.50 / 1,000 scored leads

Rating

0.0

(0)

Developer

オレンジ Tb

オレンジ Tb

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

20 hours ago

Last modified

Categories

Share

What does Google Maps Lead Priority Scorer do?

This Actor takes the output of any Google Maps scraper (such as Google Maps Scraper) and turns it into a single, sortable lead-priority score from 0 to 100 for every business. It combines four signals that local SEO and marketing agencies already sell against — no independent website, an unclaimed Google Business Profile, missing profile fields, and a below-median review count versus similar nearby businesses — into one number plus a plain-English list of reasons.

It does not scrape anything itself and makes no external API or LLM calls. You already have the place data from a Maps scraper; this Actor just scores it, in seconds, for about the price of the cheapest scraping tier — and only the leads you receive are billed.

Key features

  • 🎯 Combined lead-priority score — no independent website, unclaimed profile, GBP completeness, and relative review count merged into a single 0-100 number instead of four separate exports to juggle.
  • 📈 Change tracking between runs — run this Actor again later on the same area and every lead is tagged NEW, UPDATED, or UNCHANGED vs. last time, so you only re-review what actually moved.
  • 🚫 Closed businesses excluded automatically — places marked permanently closed on Google Maps are dropped before scoring, so you never call a business that no longer exists.
  • 💸 Filter before you pay — set a minimum tier and only Hot (or Hot+Warm) leads are ever charged for.
  • 🔔 Built-in Slack / Discord / webhook notifications — post a summary of new or updated leads straight to your team, no separate integration setup required.

Why use this Actor?

Existing tools give you one signal at a time — a list of businesses with no website, or a list of unclaimed profiles. But a business missing a website and unclaimed and falling behind its neighbors on reviews is a much hotter lead than one missing just a website. This Actor combines the signals so your sales team can sort by a single number instead of juggling four separate exports.

Typical users: local SEO agencies and freelancers doing outbound prospecting, marketing agencies building target lists for a specific city or category, and directory/listing sites prioritizing which businesses to reach out to for profile claims.

How to use Google Maps Lead Priority Scorer

  1. Run a Google Maps scraper (e.g. Google Maps Scraper) for the area and category you care about, and grab its dataset output.
  2. Paste that array of place objects into the Google Maps places input field here (or chain the two Actors together with an Apify integration).
  3. Optionally set Minimum priority tier to only keep Hot or Hot+Warm leads.
  4. Run it. Results are sorted highest-priority first.

Input

FieldTypeDescription
placesarrayThe place objects from a Google Maps scraper's dataset output
minTierstringHot, Warm, or Cold (default) — the minimum tier to include in the output
slackWebhookUrlstring (optional)Slack Incoming Webhook URL — posts a summary after each run
discordWebhookUrlstring (optional)Discord Channel Webhook URL — posts a summary after each run
webhookUrlstring (optional)Any URL — receives a structured JSON summary (e.g. for n8n/Make)
notifyOnlyNewOrUpdatedbooleanDefault true — only include NEW/UPDATED leads in notifications

Example input:

{
"places": [{ "title": "Lemari Coffee", "placeId": "ChIJv79rmEfzGGARhXlSEd8ceiQ" }],
"minTier": "Warm"
}

Output

{
"title": "Lemari Coffee",
"placeId": "ChIJv79rmEfzGGARhXlSEd8ceiQ",
"priorityScore": 60,
"tier": "Warm",
"changeStatus": "NEW",
"reasons": [
"No independent website (social-media link or none at all)",
"No business description"
],
"hasRealWebsite": false,
"isUnclaimed": false,
"completenessScore": 70,
"reviewPercentileInGroup": 25.0
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Scoring breakdown

SignalMax points
No independent website (a bare social-media link doesn't count)35
Unclaimed Google Business Profile25
Other missing profile fields (phone, description, hours, photos, categories)25
Review count below the median for similar nearby businesses15

Tiers: Hot ≥ 70, Warm 40–69, Cold < 40.

Data table

FieldTypeDescription
titlestringBusiness name
placeIdstringGoogle Maps place ID
priorityScorenumber0-100 combined lead-priority score
tierstringHot, Warm, or Cold
changeStatusstringNEW, UPDATED, or UNCHANGED vs. the previous run on this Actor
reasonsarrayPlain-English reasons contributing to the score
hasRealWebsitebooleanFalse if no site, or only a social-media link
isUnclaimedbooleanTrue if the Google Business Profile is unclaimed
completenessScorenumber0-100 GBP profile completeness
reviewPercentileInGroupnumberReview-count percentile vs. same city+category peers

Pricing / cost estimation

Pay-per-event: a small flat fee when a run starts, plus a per-lead fee for each scored result returned ($0.005 run start + $0.0015 per scored lead). Because this Actor does no scraping or external calls, it costs about the same as, or less than, the cheapest scraping tier for the same places — and only the scored leads you actually receive are billed.

How much does scoring 1,000 leads cost, on top of scraping them?

StepCost for 1,000 places
Scrape 1,000 places with Google Maps ScraperListed "from $1.50 / 1,000 places" on its Store page; ≈ $4 / 1,000 measured in practice (Aug 2026)
Score those same 1,000 places with this Actor$0.005 run start + 1,000 × $0.0015 ≈ $1.51

The scraping is already paid for; this Actor adds only about $1.51 per 1,000 leads scored.

Tips

  • Score places from a single city/category batch at a time — the review-percentile signal compares each business against others in the same city and category, so mixing very different markets in one run dilutes that signal.
  • Set minTier: Hot if you only want to pay for the highest-value leads.
  • Set slackWebhookUrl / discordWebhookUrl / webhookUrl to get notified automatically — by default only new/updated leads are included, so re-running the same area on a schedule only pings you about what actually changed.
  • Prefer Telegram, WhatsApp, or an app connector like Notion? This Actor's built-in webhooks cover Slack/Discord/generic; for anything else, use this Actor's Integrations tab in Apify Console, which works the same way for every Actor on the platform.

FAQ, disclaimers and support

  • This Actor never fetches any website or calls Google directly — accuracy depends entirely on the freshness of the place data you feed it.
  • A business with a social-media page (Instagram, Facebook, etc.) instead of its own website is treated the same as having no website, since that's the actual pitch local SEO agencies make.
  • Found an edge case or want a different scoring weight scheme? Use the Issues tab on this Actor's page.

This Actor is an independent, unofficial tool. It is not affiliated with, endorsed by, or sponsored by Google. "Google Maps" and "Google Business Profile" are trademarks of Google LLC, used here only to describe compatibility.

The presence of a phone number or address on a public Google Business Profile does not by itself constitute consent to receive marketing calls or messages. Before using this data for outreach you are responsible for complying with the laws that apply to you and your recipients — for example GDPR/UK GDPR, CAN-SPAM and TCPA in the US, and Japan's Act on Regulation of Transmission of Specified Electronic Mail and Act on Specified Commercial Transactions. This Actor does not verify consent or opt-in status.