Google Maps Leads + Website Audit for Agencies avatar

Google Maps Leads + Website Audit for Agencies

Pricing

from $1.70 / 1,000 business auditeds

Go to Apify Store
Google Maps Leads + Website Audit for Agencies

Google Maps Leads + Website Audit for Agencies

Google Maps leads for agencies: search any business type + city (or use a Google Maps dataset) and audit each one: no/broken/outdated website, no SSL or mobile, no booking, no analytics/pixel, unclaimed Google profile, weak reviews. Scores, pitch reasons, phone, emails.

Pricing

from $1.70 / 1,000 business auditeds

Rating

0.0

(0)

Developer

Centor Prat

Centor Prat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

🎯 Google Maps Leads + Website Audit for Agencies

Find local businesses that need what you sell, and know why before you call. Type a business type and a city (or pick a Google Maps Scraper dataset you already have). Every business is audited: its website, its Google Business Profile and its reviews. You get opportunity scores for web design, local SEO, reputation, online booking and ads tracking, plain-English pitch reasons, and the phone, emails and social profiles to reach the owner.

Built on top of the Google Maps Scraper (the most-used actor on Apify) · real website checks, not guesses · structured JSON · ready for AI agents, Zapier, Make and your CRM.

⚡ Why it's different

  • It actually opens every website. Most "no website" lead tools only look for an empty field on Google Maps. This one fetches the site and checks it: broken, parked, social-only, DIY builder, no HTTPS, not mobile-ready, outdated footer, slow, no analytics/pixel, no online booking, no schema.
  • Five services, one run. Each business gets a score for web design, local SEO / Google Business Profile, reputation, online booking and ads tracking, plus its best-fit service.
  • Pitch reasons you can paste. "Google Business Profile is UNCLAIMED", "Only a facebook.com page instead of a website", "Bookings by phone / WhatsApp only", "Footer says 2011: looks unmaintained".
  • Built not to embarrass you. Bot-protected sites are never called "broken", chains and franchises are detected and down-weighted, and on Wix / Squarespace / GoDaddy sites (where tracking is configured inside the builder) we never claim "no pixel".
  • Bring your own data. Already ran the Google Maps Scraper? Pick that dataset and only pay for the audit.

📋 What you get (per business)

FieldMeaning
name, category, address, city, phone, website, googleMapsUrl, placeIdThe business from Google Maps
emails, socialsPublic emails and social profiles found on the business's own website
rating, reviewsCount, photosCount, googleProfileClaimed, hasOpeningHoursGoogle Business Profile signals
opportunity.webDesign / .localSeo / .reputation / .booking / .adsTracking0–100 opportunity score per service
bestService, opportunityScoreThe strongest opportunity for this business
score, scoredFor, qualifiedScore for the service you chose, and whether it passes your minimum score with a phone or email
pitch, reasonsWhy: plain-English reasons per service
websiteAudit.statusok, none, not_own_site (Facebook/Instagram/Booksy page), broken, parked, protected
websiteAudit.https, .mobileReady, .builder, .copyrightYear, .outdated, .responseSecondsWebsite quality checks
websiteAudit.analytics, .bookingMode, .hasSchema, .hasMetaDescription, .hasContactFormMarketing stack checks (bookingMode: online / manual / none)
isChainOrFranchiseChain / multi-location site detected (scores are down-weighted)

📥 Input

FieldTypeMeaning
searchTermsarrayBusiness types as you'd type into Google Maps, e.g. ["plumber"], ["dentist","orthodontist"]
locationstringCity / region / country, e.g. "Pueblo, CO, USA", "Madrid, Spain"
maxPlacesPerSearchintegerBusinesses per search term (default 30, max 500)
servicestringall, webDesign, localSeo, reputation, booking, adsTracking
minScoreintegerScore needed to count as a qualified lead (default 50)
onlyQualifiedbooleanReturn (and bill) only qualified leads
datasetIdstringAudit an existing Google Maps Scraper dataset instead of searching
includeContacts, includeClosed, language, concurrency, webhookUrlOptions

Example input: plumbers in a city, all services

{ "searchTerms": ["plumber"], "location": "Pueblo, CO, USA", "maxPlacesPerSearch": 30 }

Example input: web design leads only (no / broken / outdated website)

{ "searchTerms": ["hair salon", "barber shop"], "location": "Lugo, Spain", "language": "es",
"service": "webDesign", "minScore": 60, "onlyQualified": true }

Example input: audit a Google Maps dataset you already have

{ "datasetId": "<your Google Maps Scraper dataset ID>", "service": "localSeo", "onlyQualified": true }

📤 Output (one row per business)

Real output for a plumber in Pueblo, CO (search: plumber, Pueblo, CO, USA):

{
"name": "Industrial Plumbing & Heating Co.",
"category": "Plumber",
"address": "2008 E 17th St, Pueblo, CO 81001",
"phone": "(719) 546-1730",
"website": "https://industrialph.com/",
"emails": ["service@industrialph.com"],
"googleMapsUrl": "https://www.google.com/maps/search/?api=1&query=Industrial%20Plumbing%20%26%20Heating%20Co.&query_place_id=ChIJAVQ35YKjE4cRGhRyOexiYyQ",
"rating": 5, "reviewsCount": 4, "photosCount": 1,
"googleProfileClaimed": false, "hasOpeningHours": true, "isChainOrFranchise": false,
"opportunity": { "webDesign": 0, "localSeo": 85, "reputation": 25, "booking": 70, "adsTracking": 30 },
"bestService": "localSeo", "opportunityScore": 85,
"pitch": [
"Google Business Profile is UNCLAIMED",
"Only 1 photo on Google",
"Only 4 Google reviews",
"Website has no LocalBusiness schema"
],
"reasons": {
"localSeo": ["Google Business Profile is UNCLAIMED", "Only 1 photo on Google", "Only 4 Google reviews", "Website has no LocalBusiness schema"],
"reputation": ["Very few reviews (4)"],
"booking": ["No online booking or scheduling on its website"],
"adsTracking": ["Has analytics but no Meta/Google Ads pixel: no retargeting"]
},
"websiteAudit": {
"status": "ok", "https": true, "mobileReady": true, "responseSeconds": 0.09, "builder": null,
"generator": "WordPress 7.1.3", "hasMetaDescription": true, "hasSchema": false, "hasContactForm": true,
"analytics": ["googleAnalytics"], "bookingMode": "none",
"issues": ["no LocalBusiness schema markup", "analytics only: no ad pixel (Meta / Google Ads) found"]
},
"contactable": true, "score": 85, "scoredFor": "localSeo", "qualified": true
}

How the scores work

ServiceStrong signals
webDesignNo website (95) · only a Facebook / Instagram / Booksy page (90) · broken or parked site (92) · no HTTPS, not mobile-ready, footer ≥3 years old, DIY builder, slow
localSeoGoogle profile unclaimed (+45) · under 10 photos · no opening hours · under 20 reviews · no meta description / schema
reputationRating under 3.5 (90) · under 4.0 (70) · under 4.3 (40) · very few reviews
bookingAppointment-based business (clinics, salons, restaurants, home services, lawyers...) with no online booking (70), or bookings by phone / WhatsApp only (60)
adsTrackingWebsite with no analytics, tag manager or pixel (60) · analytics but no Meta / Google Ads pixel (30)
Chains and franchises are detected (shared domain or /locations/ pages) and down-weighted.

💰 Pricing (pay-per-event menu)

  • business-audited: per business audited and returned.
  • qualified-lead (premium): per returned lead that meets your minScore and has a phone or email.
  • Searches run the Google Maps Scraper, which bills its own places to your account (about $0.004 per place). Auditing an existing dataset (datasetId) has no Maps cost.
  • With onlyQualified, only qualified leads are returned and billed.

💡 Use cases

  • Web design agencies: businesses with no website, a Facebook-only page, a broken or 10-year-old site.
  • Local SEO agencies: unclaimed Google Business Profiles, few photos, missing hours, no schema.
  • Reputation management: businesses rated under 4.0 or with a handful of reviews.
  • Booking software sales (salons, clinics, restaurants, home services): who still books by phone or WhatsApp.
  • Ads & analytics agencies: businesses with no pixel, no tag manager, no tracking.
  • AI sales agents: one call returns qualified, explained, contactable leads.

🚀 Ready-made tasks (one click)

Pre-configured runs for each kind of agency. Open one, change the business type and city, run:

🤖 For AI agents (MCP)

One call: search terms + city in, scored and explained leads out. Every input is typed and described.

{
"mcpServers": {
"google-maps-leads": {
"url": "https://mcp.apify.com/?tools=actors,docs,centorprat/google-maps-leads-website-audit"
}
}
}

Claude Code: claude mcp add --transport http apify "https://mcp.apify.com/?tools=actors,docs,centorprat/google-maps-leads-website-audit" --header "Authorization: Bearer <YOUR_APIFY_TOKEN>"

No extra setup: this Actor is callable from Claude, Cursor, ChatGPT or any MCP client through the Apify MCP server, and agents can find it on their own with the server's search-actors tool.

Call it from code:

curl -X POST "https://api.apify.com/v2/acts/centorprat~google-maps-leads-website-audit/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchTerms":["plumber"],"location":"Pueblo, CO, USA","maxPlacesPerSearch":20,"onlyQualified":true}'

❓ FAQ

  • Where does the business data come from? Google Maps, via the Google Maps Scraper run from your account, or from your own Google Maps dataset.
  • How is the website audited? We fetch the homepage (and the contact page if the homepage has no email) like a browser would, and check HTTPS, the mobile viewport tag, the builder, the footer copyright year, response time, analytics / tag manager / pixels, booking links and widgets, schema markup, the meta description and forms.
  • What does protected mean? The site blocks automated visits (bot protection). It exists, so we never pitch it as broken.
  • Why isn't a big brand scored high? Chain and franchise locations use a corporate website and marketing team, so their web, SEO and booking scores are down-weighted.
  • Why no "no pixel" pitch on Wix / Squarespace sites? Those builders add tracking from their settings, which isn't visible in the page source, so we don't guess.
  • How accurate is "no online booking"? We look for 70+ booking and scheduling platforms, booking links and "book / reserve / appointment" buttons in several languages. We only pitch it when none are found; "manual" means bookings are by phone or WhatsApp.
  • Which countries? Anywhere Google Maps works. Set language for local results (e.g. es, de, fr).
  • How fast is it? Around 30 seconds for 15 businesses, including the Google Maps search. Website audits run in parallel.
  • What does it cost? This actor's audit per business plus the Google Maps Scraper's own per-place price when it searches. Use onlyQualified to pay only for leads you'll use.
  • Are emails personal data? They may be. We only read emails the business publishes on its own website. Use them lawfully (GDPR, CAN-SPAM, your local rules).

📜 Data & attribution

Business listings from Google Maps (via the Google Maps Scraper by compass). Website signals from each business's own public website. DNS via Google Public DNS. Nothing is stored after the run.

Part of one suite of keyless, agent-ready composers by the same developer: