Advanced MCS Certified Installers Scraper
Pricing
from $15.00 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
3
Monthly active users
5 days ago
Last modified
Categories
Share
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
| Field | Type | Description |
|---|---|---|
technologies | Multi-select | Filter by renewable technology types |
regions | Multi-select | Filter by UK nations (England, Scotland, Wales, Northern Ireland) |
englandSubregions | Multi-select | Sub-regions within England (only applies when England is selected) |
maxPages | Integer | Maximum pages to scrape (0 = all pages, ~185 pages for full dataset) |
concurrencyLimit | Integer | Pages to fetch in parallel (1-20, default: 5). Higher = faster but more API load |
Available Technology Filters
| Value | Label |
|---|---|
air-source-heat-pump | Air Source Heat Pump |
battery-storage | Battery Storage |
biomass | Biomass |
exhaust-air-heat-pump | Exhaust Air Heat Pump |
ground-water-source-heat-pump | Ground/Water Source Heat Pump |
micro-chp | Micro CHP |
small-wind-turbine | Small Wind Turbine |
solar-assisted-heat-pump | Solar Assisted Heat Pump |
solar-heating | Solar Heating |
solar-pv | Solar PV |
Available Region Filters
| Value | Label | Subregions |
|---|---|---|
england | England | Eastern, East Midlands, London, North East, North West, South East, South West, West Midlands, Yorkshire & Humberside |
scotland | Scotland | |
wales | Wales | |
northern-ireland | Northern Ireland |
Performance
| Concurrency | Full 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:
| Field | Description |
|---|---|
name | Installer company name |
installerId | Unique MCS installer ID |
email | Contact email address |
telephone | Contact phone number |
website | Company website URL |
address | Full address (combined) |
addressLine1 | Address line 1 |
addressLine2 | Address line 2 |
addressLine3 | Address line 3 |
county | County |
postcode | Postcode |
country | Country |
certificationNumber | MCS certification number |
certificationBody | Certifying body |
boilerUpgradeScheme | Boiler Upgrade Scheme eligibility (boolean) |
technologies | Array of renewable technology labels |
regions | Array of UK region labels |
lat | Latitude coordinate |
lng | Longitude coordinate |
distance | Distance from search centre point |
technologySubType | Technology sub-type |
scrapedAt | ISO 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
- Open the actor in Apify Console: advanced-mcs-certified-installers-scraper
- Click Start with default settings to scrape all installers
- Adjust
concurrencyLimitto tune speed vs. load - 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
concurrencyLimitif 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.allSettledindividual 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.