Electrician Leads Scraper — Emails & Licenses avatar

Electrician Leads Scraper — Emails & Licenses

Pricing

from $25.00 / 1,000 enriched electrician leads

Go to Apify Store
Electrician Leads Scraper — Emails & Licenses

Electrician Leads Scraper — Emails & Licenses

Find electrician leads with verified emails, phones, websites, license numbers, services, locations, and structured business data.

Pricing

from $25.00 / 1,000 enriched electrician leads

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Scrape electrician and electrical contractor contacts from Google Maps with verified emails, phone numbers, license numbers, service areas, and social media links. Built for solar companies, EV charging installers, electrical supply distributors, home warranty providers, and trade SaaS sales teams who need CRM-ready electrician lead lists.

The actor searches Google Maps by specialty and location, then crawls each electrician's website to extract contact emails, contractor license numbers, service area coverage, and social profiles. Emails are verified via DNS MX record lookup to flag deliverable inboxes. Export to HubSpot, Salesforce, or CSV in a single run.

Export scraped data, run the scraper via API, schedule and monitor runs, or integrate with other tools.

Use Cases

  • Solar & EV sales — Build targeted lead lists of residential electricians and solar installers for solar panel and EV charging station sales outreach
  • Electrical supply distributors — Prospect commercial and industrial electricians by territory for product distribution partnerships
  • Home warranty providers — Find licensed electricians by service area for contractor network building
  • Trade SaaS sales — Generate electrician lead lists by specialty (residential, commercial, industrial, low voltage) for dispatch software, invoicing, and CRM tools
  • Contractor compliance — Extract license numbers to verify contractor licensing status and skip-trace unlicensed operators
  • Multi-channel outreach — Use email + phone + social links for combined email, cold-call, and Facebook ad campaigns

Features

  • Google Maps search — Find electricians by specialty (9 preset categories) or custom search query
  • Verified emails — Crawls electrician websites and verifies email deliverability via DNS MX record lookup
  • License number extraction — Extracts contractor license numbers (TECL, EC, state formats) from websites
  • Service area extraction — Parses electrician websites for cities and regions they serve
  • Specialty detection — Detects residential, commercial, industrial, solar, EV, low voltage, and emergency specializations
  • Social media links — Finds Facebook, Instagram, LinkedIn, Twitter/X, YouTube, and TikTok profiles
  • Multi-location batch mode — Search multiple cities in a single run and combine results
  • Deduplication — Removes duplicate electricians by phone or business name across multi-location runs
  • CRM export formats — Output in Full, HubSpot CSV import, or Salesforce import format
  • No login required — No Google account or cookies needed
  • Residential proxies — Uses Apify's residential proxy pool by default for reliable access

Input Parameters

ParameterTypeDefaultDescription
businessTypestringResidential ElectricianSelect from 9 specialty presets, or Custom
locationstringDallas, TXCity, state, or region to search (e.g., Phoenix, AZ)
locationsarrayMultiple locations for batch mode (e.g., ["Dallas, TX", "Houston, TX"])
searchQuerystringCustom Google Maps query (used when businessType = Custom)
startUrlsarrayDirect Google Maps place URLs to scrape
maxResultsinteger50Maximum number of leads to collect (1–2000)
enrichEmailsbooleantrueCrawl electrician websites to find email addresses
verifyEmailsbooleantrueVerify email deliverability via DNS MX lookup
enrichSocialsbooleantrueExtract social media profile links
extractLicenseNumberbooleantrueExtract contractor license numbers from websites
extractServiceAreasbooleantrueParse service area coverage from websites
outputFormatstringfullfull, hubspot, or salesforce
deduplicateResultsbooleantrueRemove duplicates across multi-location runs
maxWebsitePagesinteger5Max pages to crawl per electrician website (1–20)
proxyUrlstringCustom HTTP proxy URL (format: http://user:pass@host:port)

Quick Start Example

{
"businessType": "Residential Electrician",
"location": "Dallas, TX",
"maxResults": 50,
"enrichEmails": true,
"verifyEmails": true,
"extractLicenseNumber": true,
"outputFormat": "hubspot"
}

Multi-City Batch Example

{
"businessType": "Solar Installer",
"locations": ["Phoenix, AZ", "Los Angeles, CA", "Houston, TX", "Miami, FL"],
"maxResults": 200,
"outputFormat": "salesforce"
}

EV Charging Installer Example

{
"businessType": "EV Charging Station Installer",
"location": "Seattle, WA",
"maxResults": 100,
"extractServiceAreas": true
}

Output Data

Each lead record contains:

FieldTypeDescription
namestringBusiness name
business_typestringSpecialty used for the search
specialtystring|nullDetected specialty (Residential, Commercial, Solar, etc.)
categorystring|nullGoogle Maps business category
license_numberstring|nullContractor license number (if found on website)
service_areasarrayCities/regions the electrician serves
addressstring|nullFull postal address
phonestring|nullPrimary phone number
websitestring|nullElectrician website URL
emailstring|nullPrimary contact email
all_emailsarrayAll emails found with verification status
email_verifiedboolean|nullWhether email passed DNS verification
email_verification_statusstringdeliverable, undeliverable, risky, unknown, not_verified
social_linksobjectFacebook, Instagram, LinkedIn, Twitter, YouTube, TikTok URLs
ratingnumber|nullGoogle Maps rating (1–5)
review_countinteger|nullNumber of Google Maps reviews
hoursstring|nullOperating hours
maps_urlstring|nullDirect Google Maps listing URL
place_idstring|nullGoogle Places API identifier
latitudenumber|nullGeographic latitude
longitudenumber|nullGeographic longitude
scraped_atstringISO 8601 timestamp
source_urlstringSource Google Maps URL

Sample Output

{
"name": "Bright Electrical Services",
"business_type": "Residential Electrician",
"specialty": "Solar installation",
"category": "Electrician",
"license_number": "TECL-12345",
"service_areas": ["Dallas", "Fort Worth", "Plano", "Frisco"],
"address": "4521 Maple Ave, Dallas, TX 75219",
"phone": "(214) 555-0192",
"website": "https://brightelectrical.com",
"email": "info@brightelectrical.com",
"all_emails": [
{
"address": "info@brightelectrical.com",
"verified": true,
"status": "deliverable",
"verificationNote": "MX record found: mail.brightelectrical.com"
}
],
"email_verified": true,
"email_verification_status": "deliverable",
"social_links": {
"facebook": "https://facebook.com/brightelectrical",
"linkedin": "https://linkedin.com/company/bright-electrical"
},
"rating": 4.7,
"review_count": 312,
"hours": "Mon-Fri 7:00 AM - 6:00 PM",
"maps_url": "https://www.google.com/maps/place/Bright+Electrical+Services/@32.8032,-96.8067,17z",
"place_id": "ChIJb5xK7wLQIYURxjM",
"latitude": 32.8032,
"longitude": -96.8067,
"scraped_at": "2026-06-24T12:00:00.000Z",
"source_url": "https://www.google.com/maps/search/residential+electrician+in+Dallas"
}

Pricing

This actor uses pay-per-event pricing: $0.025 per enriched electrician lead.

LeadsCost
10 leads$0.25
50 leads$1.25
100 leads$2.50
500 leads$12.50
1,000 leads$25.00

You only pay for successfully enriched leads with contact data — no charge for empty results.

Code Examples

Run via Apify SDK (JavaScript)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('muhammadafzal/electrician-lead-scraper').call({
businessType: 'Residential Electrician',
location: 'Dallas, TX',
maxResults: 50,
enrichEmails: true,
verifyEmails: true,
extractLicenseNumber: true,
outputFormat: 'hubspot'
});
const dataset = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${dataset.items.length} electrician leads`);

Run via REST API

curl -X POST "https://api.apify.com/v2/acts/muhammadafzal~electrician-lead-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"businessType":"Solar Installer","location":"Phoenix, AZ","maxResults":20}'

Schedule a Daily Run

apify schedule create --actor muhammadafzal/electrician-lead-scraper \
--cron "0 9 * * 1" \
--input '{"businessType":"Commercial Electrician","location":"Houston, TX","maxResults":100}'

FAQ

Why are some emails null?

Not all electrician websites list email addresses publicly. The actor crawls contact, about, services, and service-area pages. If no email is found, the field is null and you still get the phone, address, license number, and social links.

How does email verification work?

The actor performs DNS MX record lookup on each email's domain to confirm a mail server exists. Emails from domains with valid MX records are marked deliverable. This reduces bounce rates compared to unverified email lists.

How accurate are license numbers?

The actor uses pattern matching to detect common contractor license formats (TECL, EC, state license numbers) from website text. Accuracy depends on how the electrician displays their license on their site. Always verify license numbers against your state's licensing board before relying on them for compliance.

What if Google Maps blocks the request?

The actor uses Apify's residential proxy pool by default. If you experience blocks, you can provide a custom proxy URL via the proxyUrl parameter using services like IPRoyal, Smartproxy, or Bright Data.

Can I search multiple cities at once?

Yes. Use the locations array parameter with multiple cities. The actor searches each location and combines results with deduplication enabled by default.

What CRM formats are supported?

full returns all fields. hubspot formats output for HubSpot CSV import. salesforce formats for Salesforce data import. All formats are exportable as CSV, JSON, or Excel from Apify's dataset.

Integration Ideas

  • HubSpot: Set outputFormat: "hubspot", export dataset as CSV, import directly into HubSpot Contacts
  • Salesforce: Set outputFormat: "salesforce", export as CSV and use Data Import Wizard
  • Mailchimp: Filter leads where email_verified === true, export emails for outreach campaigns
  • Apollo/Outreach: Use the name and email fields for personalized cold email sequences
  • Facebook Ads: Use the social_links.facebook field to build Custom Audiences for retargeting

Changelog

  • v1.0 — Initial release with Google Maps search, email enrichment, DNS verification, license number extraction, service area extraction, specialty detection, social link extraction, multi-location batch mode, and HubSpot/Salesforce export formats

What is Electrician Leads Scraper?

Electrician Leads Scraper turns the target data into structured, reusable results on Apify. Use it when you need repeatable collection for sales teams, agencies, recruiters, market researchers, and data-enrichment workflows without maintaining a custom scraper or one-off integration. Run it manually, schedule recurring jobs, call it through the Apify API, or connect it to an AI agent through the Apify MCP server.

The Actor stores results in an Apify dataset, where they can be previewed and exported as JSON, CSV, Excel, XML, or RSS. Availability and completeness depend on the source, supplied inputs, public visibility, authentication requirements, and upstream rate limits.

Use cases for Electrician Leads Scraper

  • Build structured datasets for research, reporting, enrichment, or monitoring.
  • Automate repetitive collection with schedules, webhooks, and API calls.
  • Feed clean records into spreadsheets, databases, CRMs, BI tools, AI agents, or RAG pipelines.
  • Track changes over time by running the same validated input on a schedule.
  • Replace fragile manual copy-and-paste work with a reproducible Apify workflow.

How to use Electrician Leads Scraper

  1. Open the Actor input page and choose a focused, valid target.
  2. Set a conservative result limit for the first run.
  3. Start the Actor and inspect the dataset for coverage and field availability.
  4. Export the results or connect the dataset to your downstream system.
  5. Scale gradually and use scheduling, pagination, or proxies when supported.

Important input options

  • businessType — Use this field to select the type of electrical contractor to find on Google Maps. The actor automatically builds the search query — 'Residential Electrician' finds home wiring & repair elec
  • location — Use this field to specify the city, state, or region to search for electricians. Use 'City, ST' format for US locations — 'Dallas, TX', 'Phoenix, AZ', 'Los Angeles, CA'. ZIP codes and neighb
  • locations — Use this field when you want to search multiple cities in a single run. Each location is searched separately and results are combined with deduplication. Example: ['Dallas, TX', 'Houston, TX
  • searchQuery — A raw Google Maps search query, used ONLY when Electrician Specialty is set to 'Custom'. Write queries the same way you would type them into Google Maps — 'ev charging installers in Seattle
  • startUrls — Use this field when the user provides specific Google Maps place URLs to scrape directly. Format: [{"url": "https://www.google.com/maps/place/..."}]. Do NOT use this when the user describes
  • maxResults — The maximum number of electrician leads to collect and return. Set to a small number (3-5) first to verify data quality before scaling. Google Maps typically returns up to 120 results per se
  • enrichEmails — When enabled, the actor visits each electrician's website and scans contact pages, footers, and about pages to extract email addresses. Disable if you only need phone numbers and addresses,
  • verifyEmails — When enabled, each extracted email is checked via DNS MX record lookup to confirm the mailbox exists and can receive mail — without sending a message. Reduces bounce rates. Only applies when

API and automation example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('muhammadafzal/electrician-lead-scraper').call({
// Add the same input fields you use in the Apify Console.
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Use these dedicated tools when a neighboring data source or workflow is a better match:

Frequently asked questions

How many results can I scrape with Electrician Leads Scraper?

The practical total depends on the source, input limits, pagination, available records, run timeout, and upstream restrictions. Start with a small run, verify the output, and increase the limit gradually.

Can I integrate Electrician Leads Scraper with other apps?

Yes. Use Apify integrations, webhooks, schedules, dataset exports, Make, Zapier, Google Sheets, cloud storage, or your own application.

Can I use Electrician Leads Scraper with the Apify API?

Yes. Start runs with the Apify REST API or an official Apify client, then retrieve records from the run's default dataset. Keep your API token in a secret or environment variable.

Can I use Electrician Leads Scraper through an MCP Server?

Yes. The Apify MCP server can expose the Actor to compatible AI clients and agents. Review the input and expected cost before allowing an autonomous workflow to run it at scale.

Do I need proxies?

It depends on the source and volume. Use the default configuration first. For larger or geographically sensitive jobs, select an appropriate proxy configuration only when the Actor supports it.

Scraping rules vary by source, jurisdiction, data type, and intended use. Collect only data you are authorized to access, respect applicable terms and privacy laws, and avoid restricted or personal data misuse. This documentation is not legal advice.

Your feedback

If a field is missing, a source layout has changed, or you need a supported use case documented, open an issue on the Actor page with a reproducible input and run ID.