Advanced MCS Certified Installers Scraper avatar

Advanced MCS Certified Installers Scraper

Pricing

from $15.00 / 1,000 results

Go to Apify Store
Advanced MCS Certified Installers Scraper

Advanced MCS Certified Installers Scraper

Scrape MCS-certified installer data from mcscertified.com. Extract contacts, certs, technology details (Solar PV, Heat Pumps, Battery Storage, Biomass, Wind), and geographic coverage for 5,500+ UK installers. Outputs structured JSON with email, phone, website, address, and coordinates.

Pricing

from $15.00 / 1,000 results

Rating

0.0

(0)

Developer

morkerr

morkerr

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

3

Monthly active users

5 days ago

Last modified

Categories

Share

Apify Actor Node.js

Advanced MCS Certified Installers Scraper

Concurrent, high-performance scraper for mcscertified.com/find-an-installer/ the official UK registry of MCS-certified installers. Uses a parallel two-phase architecture to scrape all 5,500+ installers up to 3x faster than sequential scrapers.


Use Cases

  • Solar PV Lead Generation Build targeted lists of Solar PV certified installers by region at speed
  • Heat Pump Market Analysis Map Air Source & Ground Source Heat Pump installer distribution across the UK
  • Competitive Intelligence Identify certified installers in target postcodes and service areas
  • Trade Body Auditing Verify certification status, bodies, and technology coverage in bulk
  • Green Energy Directories Generate clean structured data for renewable energy directories and comparison tools
  • Supply Chain Development Find installation partners by technology type (battery storage, biomass, solar thermal, wind turbine, etc.)

Features

  • Concurrent Fetching Multi-page parallel worker pool (configurable 1-20) scrapes pages simultaneously instead of one-at-a-time
  • Two-Phase Architecture Phase 1 discovers total pages from a single request, Phase 2 dispatches workers to harvest all remaining pages in parallel
  • Per-Page Error Resilience Individual page failures are caught and logged; remaining workers continue unaffected. Summary report at end
  • Technology Filtering Filter by 10+ renewable technology types (server-side via API)
  • Regional Filtering Filter by UK nation (England, Scotland, Wales, Northern Ireland) with England subregion support
  • All Contact Data Email, telephone, website, full address breakdown (line 1/2/3, county, postcode, country)
  • Certification Info Certification number, certification body, boiler upgrade scheme eligibility
  • Geographic Coordinates Latitude and longitude for each installer
  • Comprehensive Coverage Scrapes all 5,500+ certified installers in the MCS database
  • Configurable Pagination Set a page limit for small test runs or scrape the complete dataset
  • Clean Output Structured JSON in Apify dataset with consistent field naming

Input Options

FieldTypeDescription
technologiesMulti-selectFilter by renewable technology types
regionsMulti-selectFilter by UK nations (England, Scotland, Wales, Northern Ireland)
englandSubregionsMulti-selectSub-regions within England (only applies when England is selected)
maxPagesIntegerMaximum pages to scrape (0 = all pages, ~185 pages for full dataset)
concurrencyLimitIntegerPages to fetch in parallel (1-20, default: 5). Higher = faster but more API load

Available Technology Filters

ValueLabel
air-source-heat-pumpAir Source Heat Pump
battery-storageBattery Storage
biomassBiomass
exhaust-air-heat-pumpExhaust Air Heat Pump
ground-water-source-heat-pumpGround/Water Source Heat Pump
micro-chpMicro CHP
small-wind-turbineSmall Wind Turbine
solar-assisted-heat-pumpSolar Assisted Heat Pump
solar-heatingSolar Heating
solar-pvSolar PV

Available Region Filters

ValueLabelSubregions
englandEnglandEastern, East Midlands, London, North East, North West, South East, South West, West Midlands, Yorkshire & Humberside
scotlandScotland
walesWales
northern-irelandNorthern Ireland

Performance

ConcurrencyFull Scrape (5,500+ installers)
1 (sequential)~3-4 minutes
5 (default)~1-2 minutes
10~45-60 seconds
20~30-45 seconds
  • Per page: ~1 second
  • Container size: ~60MB (Node.js 20, no browser dependencies)
  • Memory usage: ~80MB

Performance Tuning

  • Low concurrency (1-3): Gentle on the target API; use if you encounter rate limiting or are running many concurrent actors
  • Medium concurrency (4-10): Best balance of speed and reliability for most use cases
  • High concurrency (11-20): Maximum throughput; may trigger API rate limiting. Use for one-off full scrapes where speed is critical

The actor isolates per-page errors using Promise.allSettled, so individual page failures at high concurrency don't crash the entire run. Failed pages are logged in the final summary.

Output Fields

Each installer record in the dataset includes:

FieldDescription
nameInstaller company name
installerIdUnique MCS installer ID
emailContact email address
telephoneContact phone number
websiteCompany website URL
addressFull address (combined)
addressLine1Address line 1
addressLine2Address line 2
addressLine3Address line 3
countyCounty
postcodePostcode
countryCountry
certificationNumberMCS certification number
certificationBodyCertifying body
boilerUpgradeSchemeBoiler Upgrade Scheme eligibility (boolean)
technologiesArray of renewable technology labels
regionsArray of UK region labels
latLatitude coordinate
lngLongitude coordinate
distanceDistance from search centre point
technologySubTypeTechnology sub-type
scrapedAtISO timestamp of when the record was scraped

Error Handling

The actor uses Promise.allSettled for the parallel phase, meaning:

  • A failed page fetch does not abort the entire run
  • Failed pages are tracked in a per-run error log
  • All successfully fetched pages are saved regardless
  • A summary of failed pages (if any) is printed at the end

This makes the actor robust against transient network issues or API hiccups at high concurrency.

Quick Start

  1. Open the actor in Apify Console: advanced-mcs-certified-installers-scraper
  2. Click Start with default settings to scrape all installers
  3. Adjust concurrencyLimit to tune speed vs. load
  4. Export results as JSON, CSV, XML, or Excel

API Example

const { ApifyClient } = require('apify-client');
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('morkerr/advanced-mcs-certified-installers-scraper').call({
technologies: ['solar-pv'],
regions: ['scotland'],
maxPages: 10,
concurrencyLimit: 5,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Extracted ${items.length} installers`);

Limitations

  • Region filtering is applied client-side because the MCS API does not support server-side region filtering
  • The MCS AJAX nonce has a 12-24 hour lifetime; the actor extracts a fresh nonce on each run
  • The API returns a maximum of 30 results per page
  • High concurrency settings (15-20) may trigger API rate limiting; reduce concurrencyLimit if you encounter throttling

Changelog

2.0.0

  • Added concurrent fetching parallel worker pool (configurable 1-20 concurrency)
  • Two-phase architecture: discover total pages first, then harvest concurrently
  • Per-page error resilience via Promise.allSettled individual page failures don't abort the run
  • Summary error reporting for failed pages
  • Removed sequential-only resume in favour of parallel throughput

1.0.0

  • Initial release
  • AJAX API-based scraping (no browser)
  • Technology and region filtering
  • Complete installer data extraction

Support

Report issues or request features via GitHub Issues.

Disclaimer

This actor scrapes publicly available data from mcscertified.com. Users are responsible for complying with the website's terms of service and applicable data protection regulations when using scraped data.