Google Maps Lead Finder for SEO & PPC Agencies avatar

Google Maps Lead Finder for SEO & PPC Agencies

Pricing

from $4.00 / 1,000 basic qualified leads

Go to Apify Store
Google Maps Lead Finder for SEO & PPC Agencies

Google Maps Lead Finder for SEO & PPC Agencies

πŸ“ Google Maps agency leads from $4 per 1,000. Qualify prospects and get structured sales-pipeline, CRM contact, PPC audit, and website-opportunity views with scores and evidence-based outreach angles.

Pricing

from $4.00 / 1,000 basic qualified leads

Rating

0.0

(0)

Developer

Daniel S.

Daniel S.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

3 days ago

Last modified

Share

Find local businesses with weak websites, missing conversion tracking, and visible reputation gaps. Get ranked agency prospects, local competitor benchmarks, public contacts, evidence-backed outreach, screenshots, and a downloadable sales audit report in one run. πŸ“

This is not a generic Google Maps export. The Actor searches Google Maps, audits each public website for tracking, conversion, technical, contact, and social signals, then prioritizes businesses most likely to benefit from PPC, SEO, web design, or reputation services.

Quick Start: Your First Useful Run πŸš€

You only need a business type and a location. Everything else has a safe default.

  1. Add one Search term, such as dentists, roofers, or med spas.
  2. Add one Location, such as Austin, TX. You can leave it empty only if every search term already contains a location.
  3. Set Number of places to 5–10 for a quick first run.
  4. Keep qualification filters unchanged until you have inspected the first result set.
  5. Choose an enrichment level:
    • Basic: inexpensive Google Maps prospect validation.
    • Contacts: public email and social discovery for a CRM list.
    • Website audit: PPC, conversion, technical, and web-design analysis.
    • Full: contacts and the complete website audit together.
  6. Choose the Service you want to sell. Keep competitor benchmark and sales report enabled.
  7. Click Save & Start, then open the Sales pipeline dataset view for the ranked call list.

For a proper PPC or web-design analysis, use Website audit or Full. Basic mode cannot inspect website tags, conversion tracking, performance, forms, or technical problems.

GoalEnrichmentFocus serviceUseful filtersSort by
PPC and tracking leadsWebsite audit or FullPPCKeep website availability on AllBest agency opportunity
Website redesign leadsWebsite audit or FullWeb designAll or Only without a websiteWebsite opportunity score
Reputation leadsBasic or ContactsReputationMinimum 20 reviews, maximum rating 4.3Best agency opportunity
SEO prospectsWebsite audit or FullLocal SEOKeep broad filters initiallyBest agency opportunity
CRM contact listContacts or FullBalancedOptional category filtersLead gap score

All score thresholds are optional. Leave them at 0 for the first run, inspect the results, and only then raise them to produce a smaller list.

What One Result Looks Like πŸ“Š

Instead of only returning a business name and phone number, the Actor produces an actionable row like this:

FieldExample
BusinessExample Local Dentist
PriorityHot lead
Agency opportunity86/100
PPC opportunity / readiness91/100 / 48/100
Recommended servicePPC tracking and landing-page improvement
EvidenceNo Ads conversion tag observed; weak CTA; competitors have stronger review volume
ContactPublic phone, email, website, and discovered social links
OutreachEvidence-backed email draft, discovery questions, and call opener

The dataset contains the complete structured evidence and scores. When Generate sales audit report is enabled, the run key-value store also contains SALES_AUDIT_REPORT.html and SALES_AUDIT_REPORT.pdf. Optional screenshots can be included as point-in-time website evidence.

Why use this instead of a general Google Maps scraper? 🧭

A broad Google Maps scraper is the better choice when you need large raw place datasets, reviews, images, questions, or exhaustive place attributes. This Actor is purpose-built for the step after data collection: deciding which businesses an agency should contact and what it can credibly offer.

WorkflowGeneral Maps scraperAgency Lead Finder
Multiple business searchesRaw place recordsOne deduplicated prospect list
Website inspectionUsually optional raw fieldsTechnical, tracking, CTA, contact, and social audit
PPC qualificationManual reviewSeparate Ads, conversion tracking, readiness, and opportunity signals
Local benchmarkBuild it yourselfSame-search peer comparison with explicit sample size
Sales prioritizationBuild it yourselfCombined score plus hot/warm/monitor tier
Outreach preparationManual researchSuggested service, email, call opener, evidence table, and PDF report

The value is not simply another copy of the same Maps fields. It is a smaller, sales-ready list that can save an agency from manually opening and auditing every business website.

Pricing πŸ’΅

There is a $0.007 start fee per run. Every exported lead is then charged at exactly one mutually exclusive tier:

Result tierWhen it appliesPrice per leadPrice per 1,000
Basic leadWebsite audit, email search, and social search are not performed$0.004$4
Contact-enriched leadPublic email or social search is performed without the website audit$0.006$6
Website-audited leadTechnical, PPC tracking, and conversion audit is performed without contact search$0.012$12
Fully enriched leadWebsite audit and public contact search are both performed$0.014$14

Raw Google Maps candidates removed by qualification or score filters are not charged as result events. A business without a website remains a basic lead because no website enrichment can be performed.

Why agencies use it ✨

  • 🎯 Prioritized prospects: agency, lead-gap, PPC opportunity, PPC readiness, website, and competitor-gap scores make the next call list obvious.
  • πŸ”Ž Evidence, not guesses: each lead includes the public signals behind the suggested service and outreach angle.
  • πŸ“ˆ PPC-ready audit: inspects rendered pages and browser network traffic for Google Ads, GTM, Analytics, Meta Pixel, call tracking, CTAs, forms, and landing-page weaknesses.
  • πŸ–₯️ Web-design qualification: scores technical age, mobile metadata, titles, descriptions, headings, structured data, broken resources, JavaScript errors, page weight, image alt text, and conversion UX.
  • πŸ“¬ Contactability: finds public email addresses and social profiles from the business website when available.
  • 🏁 Local context: compares each business only with peers collected for the same search term and location.
  • πŸ“„ Sales deliverables: produces structured outreach data plus print-ready HTML and PDF reports; optional screenshots preserve point-in-time website evidence.

What It Collects πŸ“¦

For each business, the dataset includes:

  • businessName
  • category
  • address
  • phoneNumber
  • website
  • emailAddress
  • facebookUrl
  • instagramUrl
  • linkedinUrl
  • googleMapsUrl
  • rating
  • reviewCount
  • coordinates
  • openingHours
  • leadScore
  • leadScoreReasons
  • ppcOpportunityScore
  • ppcReasons
  • ppcReadinessScore, strengths, and gaps
  • websiteOpportunityScore
  • websiteOpportunityReasons
  • competitorGapScore and localBenchmark
  • advertisingIntelligence, which explicitly separates active-ad verification from conversion technology
  • salesAuditReport with evidence, discovery questions, email copy, and call opener
  • auditEvidence with audited URLs and an optional screenshot record key
  • googleAdsStatus: detected, possible-via-gtm, not-observed, or audit-incomplete
  • googleAdsConfidence and concrete tracking evidence
  • PPC tracking signals such as Google Tag Manager, Google Analytics, Google Ads conversion tags, Meta Pixel, LinkedIn Insight, and call tracking
  • conversion signals such as forms, phone links, booking CTAs, quote CTAs, and weak CTA detection
  • website technical signals such as HTTPS, viewport meta, old copyright year, and outdated layout hints

The Actor also saves OUTPUT.json, OUTPUT.csv, RUN_SUMMARY.json, SALES_AUDIT_REPORT.json, SALES_AUDIT_REPORT.html, and SALES_AUDIT_REPORT.pdf to the default key-value store when report generation is enabled.

Structured Dataset Views 🧩

The default dataset includes flat, filterable columns while retaining the complete nested audit objects for API compatibility. Apify Console provides seven purpose-built views:

  • Sales pipeline: priority, score, recommended service, outreach angle, and primary contact fields.
  • CRM contact list: email, phone, website, social profiles, address, and Maps URL.
  • PPC & conversion opportunities: active-ads verification status, conversion-tracking status, landing-page readiness, Consent Mode, paid-click handling, GTM, Analytics, pixels, forms, and CTAs.
  • Website opportunities: dedicated website score, CMS, HTTPS, outdated-site signal, metadata, structured data, browser load time, broken resources, image alt coverage, forms, and evidence.
  • Local competitor benchmark: peer gap score, cohort summary, concrete gaps, ratings, reviews, and digital-readiness comparisons.
  • Sales audit & outreach: recommended offer, evidence, benchmark summary, email copy, call opener, contacts, and screenshot key.
  • All core fields: broad flat export for advanced automation and integrations.

RUN_SUMMARY.json also reports counts by priority, result tier, and recommended service, average scores, and contact coverage.

Input βš™οΈ

This sample performs a complete PPC-focused analysis. For a cheaper trial, change enrichmentMode to basic and reduce maxResultsPerSearch to 5.

{
"searchTerms": ["dentists", "orthodontists"],
"location": "Austin, TX",
"maxResultsPerSearch": 10,
"maxTotalResults": 20,
"language": "en",
"minReviews": 0,
"maxReviews": 1000000,
"minRating": 0,
"maxRating": 5,
"websiteFilter": "all",
"enrichmentMode": "full",
"focusService": "ppc",
"includeCompetitorBenchmark": true,
"benchmarkCompetitorCount": 3,
"generateSalesReport": true,
"includeAuditScreenshots": false,
"minimumAgencyOpportunityScore": 0,
"minimumPpcOpportunityScore": 0,
"sortBy": "agencyOpportunity",
"proxyConfiguration": {
"useApifyProxy": false
}
}

Input Fields

  • searchTerms: Up to 10 business types or services searched in one run.
  • location: City, region, or country appended to each search term.
  • maxResultsPerSearch and maxTotalResults: Per-query and whole-run safety limits.
  • language: Google Maps and browser language.
  • minReviews, maxReviews, minRating, and maxRating: Qualification ranges applied before website enrichment.
  • websiteFilter: Keep all businesses, only businesses with a website, or only website-less prospects.
  • categoryIncludes and categoryExcludes: Optional case-insensitive category filters.
  • excludeIrrelevantResults: Remove obvious category/name mismatches and unrelated sponsored Maps results before paid enrichment; enabled by default.
  • enrichmentMode: Choose Basic, Contacts, Website audit, or Full with the exact per-result price shown in the form.
  • websiteTimeoutSecs: Timeout for each website enrichment request.
  • maxWebsitePages: Number of pages to fetch per website, including likely contact/about pages.
  • websiteConcurrency: Number of websites audited in parallel.
  • focusService: Prioritize PPC, SEO, web design, reputation, or balanced agency opportunities.
  • includeCompetitorBenchmark: Compare a lead only with businesses collected for the same search term and location.
  • benchmarkCompetitorCount: Include 1-5 concrete comparison businesses per lead.
  • generateSalesReport: Save structured JSON plus printable HTML and PDF sales reports.
  • includeAuditScreenshots and maxEvidenceScreenshots: Optionally preserve capped viewport screenshots in the key-value store.
  • minimumLeadScore, minimumPpcOpportunityScore, minimumWebsiteOpportunityScore, and minimumAgencyOpportunityScore: Remove weak prospects before export.
  • minimumPriorityTier: Export all, warm-and-hot, or hot-only prospects.
  • sortBy: Rank by agency opportunity, PPC opportunity, PPC readiness, website gap, competitor gap, lead gap, or review count.
  • proxyConfiguration: Optional Apify Proxy config. Direct cloud browsing works for smoke tests; for larger runs or blocked regions, use a suitable Apify Proxy group, ideally residential.

Legacy API inputs searchQuery, maxResults, requireWebsite, includeWebsiteAudit, includeEmailSearch, and includeSocialLinks remain supported, but the Console form uses the new batch-search and enrichment-tier fields.

Lead Scoring 🎯

leadScore is calculated from agency opportunity signals:

  • Many reviews with weak or average rating.
  • No website on Google Maps.
  • Website uses plain HTTP instead of HTTPS.
  • No public email found.
  • No social media links found.
  • Website appears technically outdated.
  • Website returns HTTP errors.

The final dataset is sorted by the selected sortBy mode; combined agency opportunity is the default.

PPC Opportunity Scoring πŸ“ˆ

ppcOpportunityScore estimates whether the business is a commercially relevant prospect for paid ads services. ppcReadinessScore separately measures whether the public website is ready to convert paid traffic. A high opportunity score is a sales signal; a high readiness score is a website strength.

Higher PPC scores come from:

  • PPC-friendly category such as dentist, clinic, lawyer, home services, restaurant, cafe, gym, salon, hotel, auto repair, or real estate.
  • High review count or strong rating, which indicates demand and trust.
  • Website exists, so PPC traffic has somewhere to go.
  • Missing Google Ads conversion tag.
  • Missing or uncertain conversion measurement and Analytics evidence.
  • Missing Meta Pixel, LinkedIn Insight, or call tracking.
  • Weak website CTA signals, such as no form, no phone link, no booking CTA, and no quote CTA.
  • Outdated website signals where a campaign could be sold together with a better landing page.

The audit does not treat every missing string in raw HTML as proof that Ads is absent. It renders up to four relevant pages in Chromium, observes network requests, detects Consent Mode and paid-click handling, and attempts common cookie-consent actions. A direct Ads ID or conversion request is reported as detected. When GTM is present but no direct Ads evidence is visible, the status is possible-via-gtm, because the container can hold tags that are conditional, consent-gated, or not publicly inspectable. not-observed means no direct signal appeared during this audit, not that the business definitely has no Google Ads account.

advertisingIntelligence.adsActivityStatus remains not-verified unless a future ad-observation source is explicitly enabled. A conversion tag can exist without active spending, and an active campaign can use a different landing page. The Actor never converts tag detection into an unsupported claim that a campaign is currently running.

Local Competitor Benchmark 🏁

When enabled, each lead is compared with deduplicated businesses collected for the same search term and location in that run. The benchmark reports cohort size, average rating, median review count, average PPC readiness, average website weakness, concrete gaps, advantages, and up to five comparison businesses. It does not claim to represent the entire market and returns insufficient-data when fewer than two businesses are available.

Website Opportunity Scoring πŸ–₯️

websiteOpportunityScore ranks prospects for web designers, developers, technical SEO specialists, and conversion agencies. It uses concrete public signals such as missing HTTPS, mobile viewport, title, meta description, H1, structured data, failed resources, browser JavaScript errors, high page weight, weak CTAs, missing image alt text, and an unavailable or outdated website. Set focusService to web_design, filter with minimumWebsiteOpportunityScore, and sort by websiteOpportunityScore to build a web-development sales list.

Agency Outreach Brief πŸ’¬

Every result also includes an agencyOpportunity object and a richer salesAuditReport. The report contains observed strengths and gaps, source URLs, confidence, a recommended first offer, discovery questions, email copy, a call opener, and a verification disclaimer. The run-level HTML and PDF place up to 50 ranked leads into a printable report. Treat these outputs as research support, not permission for unsolicited outreach; users remain responsible for complying with applicable privacy and anti-spam rules.

Example Output πŸ“Š

{
"leadScore": 72,
"leadScoreReasons": [
"Many reviews with improvable rating (3.9 from 248 reviews)",
"Website does not use HTTPS",
"No public email address found",
"No Facebook, Instagram, or LinkedIn link found",
"Website appears technically outdated"
],
"ppcOpportunityScore": 84,
"ppcReadinessScore": 42,
"competitorGapScore": 50,
"agencyOpportunityScore": 80,
"agencyOpportunity": {
"priorityTier": "hot",
"primaryService": "PPC tracking and conversion setup",
"outreachAngle": "PPC tracking and conversion setup: No Google Ads conversion tag was detected; The website has weak conversion calls to action."
},
"advertisingIntelligence": {
"adsActivityStatus": "not-verified",
"conversionTrackingStatus": "not-observed",
"googleAdsTagDetected": false,
"ppcReadinessScore": 42
},
"localBenchmark": {
"status": "available",
"cohortSize": 12,
"summary": "Example Local Restaurant trails local peers on 2 observed signals."
},
"ppcReasons": [
"Business category is strong for local PPC campaigns",
"Existing demand with rating improvement opportunity (3.9 from 248 reviews)",
"Website exists, so PPC traffic has a destination",
"No Google Ads conversion tag found",
"No Google Tag Manager found",
"No Meta Pixel found",
"No call tracking signal found",
"Website has weak call-to-action signals"
],
"businessName": "Example Local Restaurant",
"category": "Restaurant",
"address": "123 Main Street, Austin, TX",
"phoneNumber": "+1 555 123 4567",
"website": "http://example-local-restaurant.com/",
"emailAddress": null,
"facebookUrl": null,
"instagramUrl": null,
"linkedinUrl": null,
"googleMapsUrl": "https://www.google.com/maps/place/example",
"rating": 3.9,
"reviewCount": 248,
"coordinates": {
"lat": 30.2672,
"lng": -97.7431
},
"trackingSignals": {
"googleTagManager": false,
"googleAnalytics": true,
"googleAdsConversion": false,
"metaPixel": false,
"linkedInInsight": false,
"callTracking": false,
"hasAnyTracking": true
},
"conversionSignals": {
"hasForm": false,
"hasPhoneLink": false,
"hasBookingCta": false,
"hasLeadFormCta": false,
"weakCta": true
}
}

Run Locally πŸ’»

npm install
npm test
npx --yes apify-cli run --input-file examples/input-smoke.json

Local and cloud Google Maps runs may show limited data depending on region, consent state, and anti-bot behavior. If a default datacenter proxy times out on Google Maps, run without proxy or use a residential proxy group.

Run On Apify ☁️

npx --yes apify-cli login
npx --yes apify-cli push

Then open the Actor in Apify Console, run it with examples/input.json, and inspect:

  • default dataset for sorted lead rows
  • OUTPUT.csv in the default key-value store
  • OUTPUT.json in the default key-value store
  • RUN_SUMMARY.json in the default key-value store
  • SALES_AUDIT_REPORT.html and SALES_AUDIT_REPORT.pdf in the default key-value store
  • optional AUDIT_SCREENSHOT_*.png evidence records

Monetization Suggestions πŸ’΅

The Actor uses pay-per-event pricing with a low basic-lead price and higher mutually exclusive enrichment tiers. This keeps basic Google Maps prospecting competitive while charging fairly for additional website requests and agency analysis. The Actor charges one result event only after all user-selected qualification and score filters pass.

Store Positioning πŸš€

Title: Google Maps Lead Finder for SEO & PPC Agencies

Short description: πŸ“ Find local businesses with weak websites, missing conversion tracking, and review gaps. Get ranked agency leads, public contacts, and evidence-based PPC or web-design angles.

SEO tags: Google Maps lead finder, SEO agency leads, PPC agency leads, local business scraper, PPC opportunity score, web design leads, reputation management leads, B2B prospecting.

Best target users:

  • πŸ”Ž SEO agencies
  • 🎨 Web design agencies
  • πŸ“ˆ PPC agencies
  • ⭐ Reputation management companies
  • πŸ“ž Local sales teams
  • 🀝 B2B lead generation consultants

Notes And Limitations

Google Maps DOM and anti-bot behavior can change. This Actor uses retries, Apify Proxy support, deduplication, and nullable fields to stay stable, but some fields such as review count or opening hours may be unavailable in limited Google Maps views.

Use the data responsibly and follow applicable laws, platform terms, and outreach regulations.