Solar Installer Lead Finder & Contact Extractor avatar

Solar Installer Lead Finder & Contact Extractor

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Solar Installer Lead Finder & Contact Extractor

Solar Installer Lead Finder & Contact Extractor

Extract B2B leads from the top solar directory. Scrape installer details, phone numbers, brands, and certifications globally or by country. Features an optional enrichment engine that crawls company websites to uncover hidden email addresses and social media links

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

NoCodeNinja

NoCodeNinja

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

ENF Solar Installer Scraper ☀️

ENF Solar Installer Scraper is a high-performance Apify Actor designed to extract comprehensive business intelligence from the global ENF Solar directory.

Built on top of Crawlee's CheerioCrawler, this actor systematically maps the directory structure, handles pagination, and—when enabled—performs advanced deep-web footprinting by visiting installer websites to uncover hidden contact details and social links.


🌟 Features

  • Global or Targeted Crawling: Scrape the entire directory globally or target specific countries (e.g., Germany, United States).
  • Deep Profile Extraction: Look beyond the basic directory lists to pull granular info including corporate descriptions, battery storage capacities, installation sizes, certified brands, and year founded.
  • Deep Website Enrichment: Goes past ENF's walled garden. It can directly visit the installer’s underlying website to discover hidden emails, communication routes, and social footprints.
  • Intelligent Anti-Bot Footprint: Configurable execution delays and seamless Apify Proxy integration to easily bypass rigid 429 Too Many Requests or IP rate limits.
  • Data Hygiene & Integrity: Automated URL normalization, query/hash filtering, and cross-field deduplication ensure your dataset remains clean and unique.

🛑 Important Data Scope Note

⚠️ Check Listing Volumes First: Directory density varies drastically by region on ENF Solar. Some large countries feature thousands of records, while others host only a handful. Before launching massive resource crawls, it is highly recommended to manually inspect the target country on the ENF Solar Directory to understand expected yields and establish logical budget thresholds.


📥 Input Settings

Configure the scraper easily using the interactive console UI or pass a custom JSON object directly.

FieldTypeDefaultDescription
countriesarray[]Explicit country names to target (e.g., ["Germany", "Nigeria"]). Leave empty to crawl the entire world.
maxPagesPerCountryinteger0Upper pagination boundary per country. 0 = Scrape every page available.
maxResultsinteger0Absolute item extraction ceiling. 0 = Run until queue exhaustion.
scrapeProfilesbooleantrueWhen active, visits ENF profile pages to grab detailed attributes (brands, sizes, phone numbers).
enrichContactsbooleanfalseWhen true, safely exits ENF to crawl the target company's own website to scrape digital footprints.
extractEmailsbooleantrueRequires enrichContacts. Dynamically parses target corporate pages for contact email strings.
extractSocialsbooleantrueRequires enrichContacts. Scans for connected social ecosystems (LinkedIn, Facebook, etc.).
maxWebsitePagesinteger5Maximum internal link depth to follow per company site during contact enrichment (Range: 1-20).
crawlSpeedstring"Balanced"Dynamic rate limiter configuration. Choose between Safe, Balanced, or Fast.
useApifyProxybooleantrueToggles Apify Datacenter/Residential proxy pools. Highly recommended to prevent blockades.

Example Input Configuration

{
"countries": ["Germany", "United States"],
"maxPagesPerCountry": 10,
"maxResults": 250,
"scrapeProfiles": true,
"enrichContacts": true,
"extractEmails": true,
"extractSocials": true,
"maxWebsitePages": 5,
"crawlSpeed": "Balanced",
"useApifyProxy": true
}

📤 Output Dataset Structure

Extracted business records are written directly to your Apify Dataset storage. Missing fields indicate data points not publicly exposed by ENF Solar or the target business website.

{
"companyId": "12345",
"companyName": "Example Solar Ltd.",
"profileUrl": "https://www.enfsolar.com/example-solar",
"website": "https://example.com",
"phone": "+1 555 123 4567",
"address": "123 Solar Street, City, Country",
"description": "Premium commercial solar installation provider specializing in grid-tied micro-inverter architectures.",
"emails": ["info@examplesolar.com", "sales@examplesolar.com"],
"linkedinUrls": ["https://linkedin.com/company/example-solar"],
"facebookUrls": ["https://facebook.com/examplesolar"],
"brands": ["Brand A", "Brand B"],
"certifications": ["ISO 9001"],
"yearFounded": "2012",
"batteryStorage": "Yes",
"installationSizes": ["1MWp+ Installations"],
"operatingCountries": ["Germany"],
"sourceCountry": "Germany",
"scrapedAt": "2026-07-18T21:53:36.000Z"
}

💡 Pro Tips & Advanced Tuning

  • Mitigating 429 Bans: ENF Solar aggressively monitors high-concurrency loops. If your logs begin filling with 429 Too Many Requests or timeout retries, change your crawlSpeed parameter to "Safe" or manually step down your concurrency options.
  • Web Enrichment Speeds: Enabling enrichContacts expands the scraper's target domain scope exponentially. While it produces significantly richer contact lists, it will increase overall execution runtime. Apply reasonable maxWebsitePages constraints to balance data generation against execution cost.