Plumbing Lead Scraper - Maps Website Checker (Unofficial)
Pricing
from $4.00 / 1,000 place leads
Plumbing Lead Scraper - Maps Website Checker (Unofficial)
UNOFFICIAL Google Maps plumbing lead scraper with website health scores, tech detection, and HOT/WARM/COLD ranking. Not affiliated with Google. No AI language models.
Pricing
from $4.00 / 1,000 place leads
Rating
0.0
(0)
Developer
Viv K
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Plumbing Lead Scraper – Google Maps + Website Checker (Unofficial)
Find plumbers and related local businesses from Google Maps, then run deterministic website health checks (reachability, SSL, SEO basics, tech stack, contact signals) and rank leads HOT / WARM / COLD.
Built for web design, SEO, and home-services agencies that sell sites, redesigns, or local SEO to plumbers.
No AI language models. No Google Places API key required.
UNOFFICIAL — not affiliated with, endorsed by, or sponsored by Google LLC. Google Maps is a trademark of Google LLC.
You are solely responsible for complying with Google’s Terms of Service, privacy laws (GDPR/CCPA), anti-spam rules (CAN-SPAM/CASL), website terms, and Apify’s Acceptable Use Policy.
Do not use for unsolicited mass messaging. Scraping Google Maps may violate Google’s contractual terms even when data is publicly visible.
Features
- Search Google Maps by location and keywords (plumbers, drain cleaning, emergency plumber…)
- Extract name, address, phone, website, rating, hours, Maps URL
- Detect unclaimed Google listings
- Website health: HTTP status, HTTPS, SSL, response time, title/meta, mobile viewport, forms, phones, emails, schema, analytics, socials, platform (WordPress / Wix / GoDaddy…)
- Website health score 0–100 with issues / warnings / positives
- Lead score 0–100 and tier HOT / WARM / COLD (no website / down / weak site = opportunity)
- Optional public emails with free MX domain check
- Phone normalization with libphonenumber
- Simple niche tag (e.g. emergency plumbing, water heater, drain cleaning)
Health scores and contact data are rule-based from public pages only. Nothing is invented by AI.
How to use
- Add one or more locations (city or ZIP).
- Add search terms (e.g.
plumbers). - Set Max results per query (try 10–20 first; defaults stay small for Store tests).
- Keep Check websites on for health scores (and optional contact-page probes).
- Set proxy to Apify Proxy → RESIDENTIAL (recommended for Maps).
- Click Start, then download the dataset.
Example input
{"locations": ["Houston, TX"],"searchTerms": ["plumbers"],"maxPlacesPerQuery": 10,"checkWebsites": true,"checkContactPage": true,"validateMxRecords": true,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Input fields
| Field | Description |
|---|---|
| Target locations | Cities, states, or ZIPs |
| Search terms | Maps keywords |
| Max results per query | Cap per location × term |
| Max total places | Optional cap for the whole run |
| Check websites | Run HTTPS/SSL/SEO/tech/contact health checks |
| Probe contact pages | Try common /contact paths |
| Validate MX | Free check that email domains can receive mail |
| Website request timeout | Seconds per site request |
| Proxy for Google Maps | Prefer residential |
| Filters | Phone only / with website / reachable only / needs-website only / include no website |
Output example
{"query": "plumbers in Houston, TX","businessName": "Houston Flow Plumbing","niche": "Emergency plumbing","address": "500 Main St, Houston, TX 77002","primaryPhone": "+17135550100","primaryPhoneNational": "(713) 555-0100","hasPhone": true,"website": "https://houstonflowplumbing.example","hasWebsite": true,"websiteHealthScore": 72,"needsWebsite": false,"websiteCheck": {"reachable": true,"httpStatus": 200,"sslValid": true,"hasMobileViewport": true,"hasContactForm": true,"detectedPlatform": "WordPress","websiteIssues": [],"websiteWarnings": ["Missing LocalBusiness schema"]},"primaryEmail": "office@houstonflowplumbing.example","emails": [{"email": "office@houstonflowplumbing.example","source": "mailto","confidence": 95,"mxValid": true}],"leadScore": 55,"leadTier": "COLD","leadReasons": [],"googleMapsUrl": "https://www.google.com/maps/place/...","scrapedAt": "2026-08-08T12:00:00.000Z"}
Pricing
Pay per event + platform usage. You pay both:
- Event fees (below) — paid to the Actor developer
- Platform usage — paid to Apify for compute, data transfer, storage, and proxies
Platform usage & residential proxy (important)
Google Maps runs need Apify Proxy → RESIDENTIAL. Residential traffic is billed by Apify per GB (rate depends on your plan; often around $7–$8 / GB on lower plans).
- Browser/Maps traffic is heavier than simple HTTP scrapes, so even small runs can use tens–hundreds of MB.
- Proxy + compute usually cost more than the event fees on short test runs.
- Website health checks add some compute, but Maps residential proxy is typically the largest usage line.
- Start with a small test (low
maxPlacesPerQuery) before large city lists. - Without residential proxy you often get 0 results, but you still avoid that proxy charge.
Event fees
| Event | When charged | Price |
|---|---|---|
| Place lead | Each business saved | $0.004 ($4.00 per 1,000) |
| Phone enrichment | Only if at least one validated phone is found | $0.005 ($5.00 per 1,000) |
| Website health check | When a listed website was health-checked | $0.006 ($6.00 per 1,000) |
| No-website opportunity | When the Maps listing has no website | $0.008 ($8.00 per 1,000) |
Event fee examples (platform usage — including residential proxy — is extra):
| Result mix | Approx. event cost only |
|---|---|
| 1,000 places, all with phone + website checked | $15.00 + usage |
| 1,000 places with no website (all opportunity) | $17.00 + usage |
| 1,000 places, ~90% phone, ~80% website checked, ~10% no website | ~$14.30 + usage |
Total cost scales with locations, search terms, max results, residential proxy GB, and compute. Defaults stay small for Store auto-tests and cheap first runs.
Tips
- Residential proxy is important for Google Maps. Without it you may get zero results.
- Expect proxy usage to be a large share of the run cost; keep max results low while testing.
- More cities × more keywords × higher max results = longer runs and higher proxy + compute cost.
- No website, down site, Wix/Weebly/GoDaddy, or unclaimed listings often score HOT for agencies.
- Use the HOT / website opportunities dataset view to prioritize outreach.
Compliance
- Public business information and public website pages only; no login walls.
- Business emails and phones may still be personal data under GDPR/CCPA in some cases.
- You are responsible for lawful use and outreach (anti-spam and privacy rules).
- Do not use for spam or illegal activity.
Limitations
- Google Maps may block non-residential traffic.
- Some sites block bots (403/429) — reported as blocked/unreachable.
- Content in images or heavy JS-only apps may be incomplete.
- Health score is a heuristic, not a conversion guarantee.
- Maps does not return unlimited listings per area.
- Maps page layout can change over time.
Troubleshooting
| Problem | What to try |
|---|---|
| 0 results | Use residential proxy; lower max results; check the run log |
| Sites marked unreachable | Site may block bots; try again later or accept as opportunity signal |
| Slow or costly run | Fewer locations/terms; lower max results; reduce contact-page probes |
| Empty after filters | Turn off “only reachable” / “only needs website” for testing |
Support: open an Issue on this Actor with your run ID and input (no secrets).