Home Services Lead Finder - HVAC, Plumbing, Roofing
Pricing
from $4.00 / 1,000 base lead records
Home Services Lead Finder - HVAC, Plumbing, Roofing
Enriched Google Maps leads for US home services contractors. Email, tech stack (ServiceTitan/Housecall Pro/Jobber/FieldEdge), license numbers, service area, social profiles. Built for sales teams selling INTO contractors and PE firms rolling them up.
Pricing
from $4.00 / 1,000 base lead records
Rating
0.0
(0)
Developer
Seibs.co
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
2
Monthly active users
7 days ago
Last modified
Categories
Share
Home Services Lead Finder
TL;DR for B2B SaaS sales reps selling INTO home-services SMBs (HVAC, plumbing, electrical, garage door, pool, lawn, pest, cleaning, handyman): Pulls US home-services SMBs from Google Maps with detected field service management software (ServiceTitan, Jobber, Housecall Pro, FieldEdge, FieldRoutes, ServiceFusion, Workiz, Razorsync), CRM, payments, and dispatch stack. Compared to compass/crawler-google-places, you get vertical FSM stack detection plus PE rollups, national franchises, and home-services aggregators (Apex Service Partners, Wrench Group, Authority Brands, Neighborly, Mr Handyman, Mr Rooter) pre-blocked. Free Apify plan returns about 1,000 leads per month on your $5 platform credit, then demo samples plus an upgrade message. Upgrade to Apify Starter ($49/mo) for unlimited volume.
Run it in 30 seconds
# Via the Apify Python SDKfrom apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("seibs.co/home-services-lead-finder").call(run_input={"search_terms": ["plumber","hvac"],"locations": ["Austin, TX"],"enrichment_tier": "premium","max_results_per_query": 50})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Or via curl:
curl -X POST "https://api.apify.com/v2/acts/seibs.co~home-services-lead-finder/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"search_terms": ["plumber", "hvac"], "locations": ["Austin, TX"], "enrichment_tier": "premium", "max_results_per_query": 50}'
Or click "Try for free" on this page if you prefer the no-code UI.
What you get
Each run produces:
- A clean dataset, filterable in the Apify console and downloadable as CSV or JSON
- An OUTPUT.html dashboard preview of your top records
- A sample-output preview at ./.actor/sample-output.json
Per-archetype custom artifacts shipped with this actor:
- top-leads.csv (HubSpot-ready columns, sorted by confidence_score)
- cold-email-templates.html (per-FSM pitch with copy-to-clipboard buttons)
- stack-breakdown.csv (FSM plus CRM plus payments per record)
What does Home Services Lead Finder do?
Pulls Google Maps listings for HVAC, plumbing, electrical, roofing, solar, garage door, pest control, and landscaping contractors in any US metro, then enriches each record with website-derived signals: emails, social profiles, FSM/CRM tech stack, state license numbers, owner names, hiring activity, and BBB status. Outputs structured JSON ready for CRM ingestion or PE deal-sourcing pipelines.
Features
- Google Maps lead extraction across 8 home-services service lines
- Three pay-as-you-go enrichment tiers (base, email, premium)
- 50+ FSM/CRM platforms detected (ServiceTitan, Housecall Pro, Jobber, FieldEdge, Workiz, Service Fusion and more)
- State license numbers extracted across 27 states
- Role-bucketed emails (sales, support, billing, hr, executive, marketing)
- BBB accreditation, 24/7 service, year founded, fleet hints, owner names, employee count
- National-chain pre-blocking (One Hour, ARS, Roto-Rooter, etc.)
- Online booking, chatbot, email marketing, lead-capture CTA, mobile app, certification, financing detection
- Schema.org JSON-LD parsing
- Confidence score per record for quality filtering
What you get
Sample output: ./.actor/sample-output.json â€" copy-paste-ready preview of real-looking records.
First record inline:
{"place_id": "ChIJsGe2QoCayMk8WuIg4SqEc0OmAYw","name": "Reliable Climate HVAC","category": "HVAC contractor","vertical": "home_services","service_line": "hvac","address": {"street": "2177 Lakeview Dr","city": "Atlanta","state": "GA","zip": "30303","country": "US","lat": 33.779,"lng": -84.396},"phone": "(404) 555-1002","phone_e164": "+14045550102","website": "https://reliableclimatehvac.com/","google_maps_url": "https://www.google.com/maps/place/?q=place_id:ChIJsGe2QoCayMk8WuIg4SqEc0OmAYw","rating": 4.9,"reviews_count": 184,"hours": {"mon": "8:00 AM - 6:00 PM","tue": "8:00 AM - 6:00 PM","wed": "8:00 AM - 6:00 PM","thu": "8:00 AM - 6:00 PM","fri": "8:00 AM - 5:00 PM","sat": "Closed","sun": "Closed"},"claimed": true,"scraped_at": "2026-05-10T10:23:10Z","confidence_score": 0.62,"enrichment": {"tier": "premium","emails": ["info@reliableclimatehvac.com","hello@reliableclimatehvac.com"],"social": {"facebook": "https://www.facebook.com/reliableclimatehvac","instagram": "https://www.instagram.com/reliableclimatehvac","linkedin": "https://www.linkedin.com/company/reliableclimatehvac"},"tech_stack": ["servicetitan","google_tag_manager","housecall_pro","facebook_pixel"],"license_numbers": ["GA-101388"],"service_area_mentions": ["Atlanta","Marietta","Alpharetta"],"year_founded": 2014,"fleet_hints": [],"homepage_title": "Reliable Climate HVAC | Atlanta, GA","homepage_status": 200,"bbb": {"accredited": true,"rating": "A+"},"open_24_7": false,"licensed_bonded_insured": true,"locations_count": 2,"spanish_speaking": false,"linkedin_company": "https://www.linkedin.com/company/reliableclimatehvac","yelp_url": "https://www.yelp.com/biz/reliableclimatehvac-atlanta","third_party_reviews": [],"press_mentions": [],"awards": [],"team_size_hints": ["5 team members"],"owner_names": ["Maria Chen"],"employee_count": 8,"role_emails": {"executive": ["mchen@reliableclimatehvac.com"],"billing": ["billing@reliableclimatehvac.com"],"support": ["support@reliableclimatehvac.com"],"generic": ["info@reliableclimatehvac.com"]},"financing_processors": ["affirm","klarna"],"payment_processors": ["square"],"hiring_signals": {"actively_hiring": true,"indicators": ["careers page link","we're hiring banner"]},"insurance_carriers_accepted": [],"languages_offered": [],"online_booking_platforms": ["calendly"],"customer_count_signals": {"customers_served": 1500,"reviews_count": 184,"projects_completed": null,"locations_served": null,"raw_matches": ["Trusted by 1500+ clients"]},"chatbot_platforms": ["intercom"],"email_marketing_platforms": ["mailchimp"],"lead_capture_ctas": {"has_free_quote_cta": true,"has_get_started_cta": true,"has_appointment_booking": false,"has_callback_request": true,"has_contact_form": true,"cta_count": 3},"mobile_app_links": {"has_ios_app": false,"has_android_app": false,"ios_app_id": null,"android_app_id": null},"certifications_credentials": ["NATE certified","Licensed Master Plumber"],"financing_accepted": ["credit_card","cash"],"growth_signals": {"growth_score": 0.4,"components": {"hiring": 0.6,"employee_scale": 0.4,"multi_location": 0.5},"indicators_count": 2},"jsonld": {"name": "Reliable Climate HVAC","phone": "(404) 555-1002","email": "info@reliableclimatehvac.com","address": {"street": "2177 Lakeview Dr","city": "Atlanta","region": "GA","zip": "30303"},"opening_hours": ["Mo-Fr 08:00-18:00"],"social_urls": ["https://www.facebook.com/reliableclimatehvac","https://www.instagram.com/reliableclimatehvac"],"aggregate_rating": {"rating": 4.9,"count": 184},"employee_count": 8,"founders": ["Maria Chen"]}}}
Real production output from a sample run on McCullough Heating & Air Conditioning (Austin, Texas):
{"name": "McCullough Heating & Air Conditioning","service_line": "hvac","address": {"city": "Austin","state": "Texas","zip": "78757","lat": 30.364748,"lng": -97.731758},"phone": "(512) 877-6043","website": "https://coolmenow.com/","rating": 4.8,"reviews_count": 3306,"enrichment": {"tier": "premium","emails": ["info@coolmenow.com"],"social": {"facebook": "https://www.facebook.com/McCulloughHVAC","instagram": "https://www.instagram.com/mcculloughhvac","youtube": "https://www.youtube.com/user/McCulloughAC"},"tech_stack": ["servicetitan","wordpress","google_tag_manager","podium_messaging"],"year_founded": 1977,"homepage_title": "HVAC Company in Austin, TX | HVAC Repair & Replacement","homepage_status": 200,"open_24_7": true}}
Preview (real production data)
Single-record snapshot from the same run, rendered as a table:
| Field | Value |
|---|---|
| Name | McCullough Heating & Air Conditioning |
| Service line | hvac |
| Location | Austin, Texas |
| Phone | (512) 877-6043 |
| Website | https://coolmenow.com/ |
| Rating | 4.8 (3306 reviews) |
| info@coolmenow.com | |
| Tech stack detected | servicetitan, wordpress, google_tag_manager, podium_messaging |
| Year founded | 1977 |
| Open 24/7 | yes |
| Social channels | facebook, instagram, youtube |
Pricing â€" Pay Per Event
| Event | Price | When charged |
|---|---|---|
| Base record | $0.004 | Always, per emitted record |
| Email enrichment | + $0.004 | When at least one email is found on the website |
| Premium signals | + $0.007 | When tech stack OR license number is detected |
Effective price per record:
- Base tier: $0.004
- Email tier: $0.008
- Premium tier: $0.015 (full enrichment)
You only pay for enrichment that actually fires â€" if a contractor has no website, you only pay the base record price.
Use cases
Sell into contractors. Pull every HVAC company in a metro that uses ServiceTitan and target them for a competitor's outbound campaign. Or invert: pull every HVAC with no detected stack â€" those are the ones still on paper, the highest-conversion prospects for a Housecall Pro or Jobber sales team.
PE rollup pipeline. Filter by service line and metro, exclude national chains, sort by review count. Boom â€" your acquisition target list with rating signal, employee-count hints, and contact email already attached.
Equipment dealer expansion. Find every roofing or solar contractor in a region that doesn't already mention your brand on their website. That's your dealer-recruitment list.
Lead-gen resale. Mark up enriched records 3â€"10x and resell to local contractors who want to buy their competitors' customer lists.
Inputs
| Field | Type | Description |
|---|---|---|
search_terms | array | Google Maps queries, e.g. ["HVAC contractors", "AC repair"] |
locations | array | US locations, e.g. ["Austin, TX", "78701"] |
max_results_per_query | int | Cap per (term Ã- location) tuple, max 500 |
enrichment_tier | string | base, email, or premium |
service_lines | array | Filter to: hvac, plumbing, electrical, roofing, solar, garage_door, pest_control, landscaping |
exclude_chains | boolean | Drop national chains (One Hour, ARS, Roto-Rooter, etc.) |
max_concurrent_enrichments | int | Parallel website fetches, default 8 |
Tech stack signals detected
Field service / FSM platforms: ServiceTitan, Housecall Pro, Jobber, FieldEdge, Workiz, Service Fusion, Servman, Thryv, GorillaDesk, mHelpDesk, RepairShopr, ServiceMax.
Generic web stack: WordPress, Shopify, HubSpot, Google Tag Manager, Facebook Pixel.
Add a request via the issue tracker if a stack you care about is missing.
License numbers detected (top 10 states)
Texas (TACLA/TACLB/M/TECL), California (CSLB / C-class), Florida (CAC/CFC/EC/CGC), New York (HIC), Illinois, Pennsylvania (PA HIC), Ohio (HV/PL/EL/RF), Georgia (CN/CR/MP/EN), North Carolina, Arizona (ROC).
What this actor does NOT do (v1)
- No logged-in scraping of any platform
- No SMTP-level email validation (use a downstream verifier like NeverBounce or ZeroBounce)
- No phone validation
- No website screenshots
- No review text extraction
- No permits / licenses pulled from state portals (separate actor, coming soon)
- No LinkedIn profile enrichment
- No non-US geographies
If you need any of the above, leave a comment â€" we maintain a portfolio of related actors.
Example: 1,000 ServiceTitan-using HVAC contractors in Texas
{"search_terms": ["HVAC contractors", "AC repair", "heating and cooling"],"locations": ["Austin, TX", "Dallas, TX", "Houston, TX", "San Antonio, TX","Fort Worth, TX", "El Paso, TX", "Arlington, TX", "Corpus Christi, TX"],"max_results_per_query": 50,"enrichment_tier": "premium","service_lines": ["hvac"],"exclude_chains": true}
Cost ceiling: 8 cities Ã- 3 terms Ã- 50 = 1,200 raw records â†' 800 after chain + service-line filters â†' at $0.015 fully enriched = **$12 to build a 800-record list of independent Texas HVAC contractors with email + tech stack + license number**.
Roadmap
- v0.2: Permit feed enrichment (recent commercial permits per contractor)
- v0.2: BBB rating + accreditation status
- v0.3: Truck count estimate via fleet vehicle scraping
- v0.3: Insurance carrier detection from website disclosures
- v0.4: BBB complaints / review NLP
FAQ
Q: Is this legal? A: Yes. Data comes from publicly listed Google Maps business profiles and public business website content (homepage, contact, about pages) â€" the same public scraping any directory or sales-intel tool relies on. No login walls bypassed; no private data scraped. You are responsible for CAN-SPAM, TCPA, and state privacy law compliance when contacting leads.
Q: Why might a run fail or return only a few records?
A: The most common cause is hitting the Apify free plan's $5/month platform credit ceiling (~1,000 enriched leads). When that ceiling is hit, the actor soft-fails into a demo mode â€" it returns a small set of sample records plus a clear upgrade message instead of erroring out. Upgrading to Apify Starter ($49/mo) removes the ceiling. Other (rarer) causes: Google Maps temporarily blocking a region or an invalid locations string.
Q: How fresh is the data?
A: Every record is scraped at run time. Google Maps records (name, address, phone, hours, reviews) are pulled live. The website re-scrape that powers enrichment (FSM platforms, emails, license numbers, BBB) happens on the same run. The scraped_at ISO timestamp tells you exactly when each row was collected.
Q: Can I run this scheduled (daily or weekly)? A: Yes. Use Apify's scheduler â€" cron, saved input, dataset routed to a webhook or storage. Docs: https://docs.apify.com/platform/schedules. Typical pattern: weekly runs that diff against the prior dataset to surface newly-opened contractors or platform migrations (e.g. paper â†' Jobber).
Q: How do I integrate the output with my CRM? A: Four options: (1) Zapier â€" trigger on "new dataset item" and map to HubSpot/Salesforce/Pipedrive/Apollo. (2) Make.com â€" same model with deeper branching. (3) Apify webhooks â€" POST the dataset to your endpoint on completion. (4) REST API â€" pull and push via small script. JSON, CSV, Excel, XML export built-in.
Q: How is pricing calculated? A: Pay-Per-Event: $0.004 base + $0.004 per email found + $0.007 per premium signal (FSM platform or license number detected). Fully enriched = $0.015 per record. You only pay for events that actually fire â€" a contractor with no website costs $0.004 and nothing more.
Q: Can I filter by service area, not just business location?
A: Yes. The enrichment.service_area_mentions field lists every city/region the contractor mentions on their website (e.g. a Dallas-based HVAC firm that advertises Plano, Frisco, McKinney). Filter the dataset post-run to find every contractor that services a target ZIP/city even if their HQ is elsewhere. This is the right approach for trades like roofing, HVAC, and plumbing where the truck travels.
Q: Are the emails verified? A: Format-validated and TLD-filtered, but not SMTP-verified. Pipe through NeverBounce or ZeroBounce before cold outreach.
Q: Why are some records missing enrichment fields?
A: Enrichment is best-effort and depends on what the contractor publishes on their public website. Use the confidence_score to filter for richer records.
Q: What is the rate limit?
A: Throttled by Google Maps response time and the max_concurrent_enrichments setting (default 8). Plan ~1-2 records per second per concurrent worker.
Q: Can I get non-US contractors? A: Not in v1. US-only.
Related Actors
Related Actors from this portfolio:
- Houzz Contractor Leads â€" Houzz-listed remodelers, designers, and specialty trades for premium-residential outreach
- Contract-Heavy SMBs â€" construction / commercial contractors with project pipelines for material and equipment sales
- B2B Sales Triggers â€" intent signals (hiring techs, fleet expansion, new licenses) on the contractors you find
- Google Maps Reviews Pro â€" full review history per contractor for reputation-management and reviews-SaaS sales
- House Flipper Leads â€" active flippers who buy from your contractor list (subs, materials, services)
Integrations
- Zapier â€" push records into HubSpot / Salesforce / Pipedrive / Apollo / ServiceTitan / Jobber / Housecall Pro
- Make.com (formerly Integromat) â€" automate multi-step workflows with branching and filters
- n8n â€" self-hosted workflow automation for teams that don't want data leaving their stack
- Apify webhooks â€" POST the dataset to your endpoint on run completion (
ACTOR.RUN.SUCCEEDED/FAILED) - API integration â€" REST API with full dataset export in JSON, CSV, Excel, or XML
- MCP / AI agents â€" call this actor from Claude, GPT, or LangChain agent workflows via the Apify MCP server
Save your input as an Apify Task
Apify Tasks let you save a configured input once and re-run it with a single click - no need to re-type search terms, locations, filters, or tier settings every time. Tasks are the foundation for everything that comes next: schedules, monitor mode, and webhook routing all attach to a saved Task, not to the raw actor.
Steps to save your current input as a Task:
- On this actor's Apify Store page, click
Runwith your input fully configured. - Click the
Save as taskbutton at the top of the run page. - Name the task something memorable (e.g.
HVAC and plumbing in Atlanta, GA - weekly). - Reload the task page and click
Startanytime to re-run with the same inputs.
Tasks unlock the next two features below: scheduling and monitor mode.
Run this weekly with Apify Schedules
Apify Schedules cron-run any saved Task automatically. Pair this with the saved Task above and you get hands-off recurring runs with no manual clicks, no missed weeks, and a steady stream of fresh data into your CRM or warehouse.
Steps to schedule a Task:
- Save your input as a Task (see above).
- Go to https://console.apify.com/schedules and click
Create new schedule. - Pick your Task and set the cron expression. Common patterns:
- Daily at 9am UTC:
0 9 * * * - Weekly on Mondays at 9am:
0 9 * * 1 - Monthly on the 1st:
0 9 1 * *
- Daily at 9am UTC:
- Save. Apify will run your Task on that schedule automatically, push the dataset to whatever integrations you have wired up, and fire run-completion webhooks for downstream automation.
Run weekly to keep your prospect list fresh and catch newly-opened home-services SMBs before they sign with another vendor.
Monitor mode (v2, beta)
Monitor mode is the v2 evolution of this actor and is currently in BETA. It turns a recurring schedule into a true change-feed instead of a firehose of duplicate records.
How it works:
- When this actor runs under an Apify Schedule, monitor mode is enabled automatically.
- Instead of emitting ALL records every run, it emits ONLY records that are NEW or CHANGED since the last scheduled run.
- A digest record summarizes the delta (X new, Y changed, Z removed) at the top of every run.
- Optional: provide a Slack or email webhook URL in the
monitor_webhook_urlinput field and the digest fires there too, so your team gets the delta in their inbox or channel without polling the dataset. - Cost: a single
scheduled_delta_runevent ($0.05) per scheduled run, plus standard PPE on emitted delta records only. Predictable monthly cost, no surprise bills from re-charging for unchanged records.
Monitor mode is rolling out to the top 3 actors first (this one included if it's hotel-motel-lead-finder, google-maps-reviews-pro, or mcp-accounting-firm-leads). Full portfolio coverage by end of June.
Support
Open an issue on this actor's GitHub or reach out via the Apify support page.
More from the SEIB portfolio
Same data engine, different vertical â€" pick the one that matches your buyer:
- ðŸ½ï¸ Restaurants Lead Finder
- ðŸš- Auto Dealerships Lead Finder
- 🦷 Healthcare Practices Lead Finder
- 🧘 Fitness Studios Lead Finder
- ðŸ"Š Accounting Firms Lead Finder
- ðŸ"© Auto Repair Shops Lead Finder
- ðŸ-ï¸ Construction Contractors Lead Finder
- 🨠Hotels & Motels Lead Finder
- âš-ï¸ Law Firms Lead Finder
- 🢠Real Estate Brokerages Lead Finder
- ðŸ'‡ Salons & Spas Lead Finder
All 12 actors share the same Pay-Per-Event pricing ($0.004 base / $0.008 with email / $0.015 with premium signals) and output schema. Mix-and-match across verticals without translation logic. Built by Seibs Management LLC.
Found this useful?
If this actor saved you time or money, please consider leaving a quick review on the Apify Store. Reviews help other buyers find work that solves their problem and let me prioritize the features paying customers actually use. Leave a review: https://apify.com/seibs.co/home-services-lead-finder#reviews