MCS Certified Installers UK Scraper: Solar PV, Heat Pump & Etc. avatar

MCS Certified Installers UK Scraper: Solar PV, Heat Pump & Etc.

Pricing

from $1.50 / 1,000 results

Go to Apify Store
MCS Certified Installers UK Scraper: Solar PV, Heat Pump & Etc.

MCS Certified Installers UK Scraper: Solar PV, Heat Pump & Etc.

Download and Get all 5,500+ MCS certified UK installers in ~10 seconds: email, phone, website, address, installer types, regions and Boiler Upgrade Scheme status. De-duplicated and refreshed daily.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Azan

Azan

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

21 hours ago

Last modified

Categories

Share

MCS Certified Installers UK: Solar PV, Heat Pump and Battery Installer Database

Get every MCS certified renewable energy installer in the UK as clean, ready-to-use data in seconds: company name, email, telephone, website, full address with coordinates, installer types (solar PV, heat pumps, battery storage, biomass, solar thermal and more), regions covered, certification numbers and bodies, and Boiler Upgrade Scheme status.

The data comes from the official MCS "Find an Installer" directory, the UK's register of certified small-scale renewable installers. It is refreshed automatically every day.

  • ⚡ Instant results. The full UK directory (5,500+ companies) comes back in about 10 seconds. Filtered searches are faster still.
  • 🧹 Clean, de-duplicated data. One record per company, standard postcodes, tidy addresses, and null where MCS has no value.
  • 🎯 Precise filters. Installer type, region (or all of England at once), nationwide coverage, postcode, county, keyword, certification body, Boiler Upgrade Scheme, website and phone.
  • 🛡️ Works even when MCS doesn't. Your runs never depend on the MCS website being up, fast or unchanged.

Why this Actor is faster and more reliable

Most scrapers for this directory are live scrapers: every time you press Start, they go to the MCS website and page through it, 30 installers at a time. The full directory is about 190 pages, so you wait while each one downloads, and your run depends on the website behaving.

This Actor works differently. We scrape the whole MCS directory once a day, clean and check the data, and store it in a database built into the Actor. When you press Start, the Actor filters that database and returns your results. It never has to talk to the MCS website.

This ActorTypical live-scraping Actor
Full UK directory (5,500+ installers)About 10 seconds30 seconds to several minutes, depending on concurrency
A filtered search, e.g. heat pump installers in DevonA few seconds, same speed as any other queryOften still pages through most of the directory, or filters after downloading
If the MCS website is slow or downUnaffected. You get the latest daily snapshotRun slows down, partly fails or returns nothing
If MCS rate-limits or blocks trafficUnaffectedMissing pages, errors, or you have to lower concurrency and wait longer
If MCS changes its websiteUnaffected. Updates pause while we fix it and your runs keep workingBreaks until the developer fixes it
Duplicate companiesMerged. One record per companyOne record per registration, so the same company can appear twice
Settings to tuneNone. No concurrency, page limits or retriesConcurrency and page limits to trade speed against errors
Compute used per runTiny. No browser, no page downloadsGrows with every page fetched
Load on the MCS websiteOne scrape a day, totalOne full scrape per customer run

What that means for you

  1. You save time on every run. Answers come back in seconds, so you can try filters freely and wire the Actor into apps and automations that need a quick response.
  2. Your pipelines don't break. Scheduled runs, CRM syncs and Zapier or Make workflows get complete results every time, whatever state the MCS website is in.
  3. Fewer surprises in your data. Every record has been through the same checks: merged duplicates, normalised postcodes and consistent fields. You don't have to clean up after a half-finished scrape.
  4. Results are consistent. The same query gives the same answer all day, so exports and reports match up.
  5. You can use it as an API. Because runs are this fast, the one-call run-sync-get-dataset-items endpoint works well for live lookups. See API.

The trade-off, honestly

A live scraper shows changes the moment MCS publishes them. This Actor shows them after the next daily refresh, so the data is at most about a day old. Every record carries dataUpdatedAt so you always know exactly when it was refreshed. The whole directory changes by only a handful of installers a day, so for lead generation, research and CRM work a daily snapshot gives the same answers, faster and more reliably.


What's in the dataset

Approximate figures from a recent refresh. The live numbers change slightly every day.

Companies
Total MCS certified installer companies5,580+ (from 5,630+ MCS registrations)
With email100%
With telephone99%
With website55%
With map coordinates100%
Registered for the Boiler Upgrade Scheme1,670+
Cover all 12 UK regions (nationwide)2,500+
Installer typeCompanies
Solar PV4,300+
Battery Storage2,790+
Air Source Heat Pump2,170+
Ground/Water Source Heat Pump540+
Exhaust Air Heat Pump180+
Solar Heating (Solar Thermal)160+
Biomass58
Solar Assisted Heat Pump21
Gas Absorption Heat Pump14
Small Wind Turbine11
Micro CHP3

What you can do with it

  • Lead generation. Build lists of solar, heat pump or battery installers by region, county or postcode for B2B outreach. Filter to "has a website" or "no website", for example to sell web services.
  • Selling to installers. Wholesalers, equipment manufacturers, software, finance and insurance companies can reach every certified installer in their area.
  • Market research. See how many installers cover each technology and region, and who is registered for the Boiler Upgrade Scheme.
  • Finding partners and subcontractors. Find certified installers near a site or covering the whole country.
  • CRM enrichment and compliance checks. Match your records against MCS certification numbers and bodies.
  • Directories and comparison sites. Feed a daily-fresh, structured list of certified installers into your product.

Filters

All filters are optional. Different filters combine with AND. Several values inside one filter combine with OR, for example "Solar PV or Battery Storage".

InputWhat it does
Installer typesAir Source Heat Pump, Battery Storage, Biomass, Exhaust Air Heat Pump, Ground/Water Source Heat Pump, Micro CHP, Small Wind Turbine, Solar Assisted Heat Pump, Solar Heating (Solar Thermal), Solar PV, Gas Absorption Heat Pump.
Must install ALL selected typesTurn on to find installers certified for every type you picked, e.g. Solar PV and Battery Storage.
Regions coveredEngland (all 9 English regions in one click), any single English region, Scotland, Wales or Northern Ireland.
Nationwide onlyOnly installers covering all 12 UK regions.
PostcodesThe installer's own postcode, by area (BS), district (BS1), sector (BS1 6) or full postcode (BS1 6XN). B matches Birmingham only, not BS, and BS1 doesn't match BS10.
CountiesFor example Devon or Kent.
Keyword searchCompany name, certification number, email, website or address.
Certification bodiesNICEIC, NAPIT, APHC, OFTEC, The IAA, BAB, Simply Certification, HETAS.
Boiler Upgrade Scheme onlyOnly installers registered for the BUS grant.
WebsiteAny, has a website, or no website.
TelephoneAny, has a telephone, or no telephone.
Max resultsDefaults to 100. Set it to 0 to get every match.

Leave everything empty and set Max results to 0 to download the complete UK directory.

Unknown values (e.g. a technology that isn't in the list, or a negative max) are rejected by the input form before the run starts. A malformed postcode starts the run and fails it with an Invalid input: … message.

Output

One record per installer company. Fields MCS doesn't publish are returned as null (or an empty list), never guessed.

{
"installerId": 751,
"mcsInstallerIds": [751],
"companyName": "4 Seasons Air Conditioning Ltd",
"contactPerson": null,
"email": "info@4seasonssolutions.co.uk",
"emails": ["info@4seasonssolutions.co.uk"],
"telephone": "08009556118",
"telephones": ["08009556118"],
"website": "www.4seasonssolutions.co.uk",
"websites": ["www.4seasonssolutions.co.uk"],
"addressLine1": "80 Langstone Drive",
"addressLine2": null,
"addressLine3": "Exmouth",
"county": "Devon",
"postcode": "EX8 4JD",
"country": null,
"fullAddress": "80 Langstone Drive, Exmouth, Devon, EX8 4JD",
"latitude": 50.634,
"longitude": -3.39761,
"installerTypes": ["Air Source Heat Pump", "Battery Storage", "Solar PV"],
"technologySubTypes": ["Air-To-Water"],
"regionsCovered": ["South West"],
"coversAllRegions": false,
"certificationNumbers": ["EPP-32553"],
"certificationBodies": ["NICEIC"],
"boilerUpgradeScheme": true,
"registrationCount": 1,
"profileUrl": "https://mcscertified.com/find-an-installer/4-seasons-air-conditioning-ltd/",
"logoUrl": null,
"dataUpdatedAt": "2026-09-29T19:05:48+00:00"
}
FieldDescription
installerIdMCS installer id (the lowest one if the company has several registrations)
mcsInstallerIdsEvery MCS installer id belonging to this company
registrationCountHow many MCS registrations were merged into this record
companyNameRegistered company name
contactPersonAlways null: MCS does not publish contact names
email, emailsMain email, and every email across the company's registrations
telephone, telephonesMain telephone, and all of them
website, websitesMain website, and all of them (null / empty if none)
addressLine1–3, county, postcode, fullAddressBusiness address. Postcodes use the standard format (BS1 6XN)
countryUsually null: MCS lists almost every installer as "Unspecified"
latitude, longitudeMap coordinates of the business address
installerTypesTechnologies the company is certified to install
technologySubTypese.g. Air-To-Water, Air-To-Air
regionsCovered, coversAllRegionsUK regions the company works in; true when it covers all 12
certificationNumbers, certificationBodiesAll MCS certification numbers and the bodies that issued them
boilerUpgradeSchemetrue if registered for the Boiler Upgrade Scheme
profileUrlThe company's page in the MCS directory
logoUrlAlways null at the moment: MCS shows a placeholder image for every installer
dataUpdatedAtWhen this data was last refreshed from MCS (UTC)

How we clean the data

  • Duplicates merged. Some companies hold several MCS registrations, for example one through NAPIT for solar and one through APHC for heat pumps. We merge these into one record per company, keeping every email, phone, website, certification number and body, so nothing is lost.
  • Postcodes standardised. bs16xn becomes BS1 6XN, so postcode filters and your exports line up.
  • Addresses tidied. Stray commas and empty parts are removed.
  • Real nulls. Placeholders like "N/A" or "Unspecified" become null, so a missing value is always obviously missing.
  • Nothing invented. Values are otherwise exactly as MCS publishes them, including any typos in the source data.
  • Checked before release. If a daily refresh looks wrong (for example, far fewer installers than yesterday), it is rejected and the previous day's data stays live.

Use it as an API

Run the Actor and get the results in one HTTP call:

curl -X POST "https://api.apify.com/v2/acts/<username>~mcs-certified-installers/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"technologies": ["ground_water_source", "ashp"], "regions": ["england"], "boilerUpgradeSchemeOnly": true, "maxItems": 0}'

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_TOKEN>")
run = client.actor("<username>/mcs-certified-installers").call(run_input={
"technologies": ["solar_pv", "battery"],
"matchAllTechnologies": True,
"postcodes": ["BS", "BA"],
"websiteFilter": "with",
"maxItems": 0,
})
installers = client.dataset(run["defaultDatasetId"]).list_items().items
print(len(installers), "installers")

Results can also be exported from the dataset as JSON, CSV, Excel, XML or RSS, or sent to Google Sheets, Zapier, Make and other Apify integrations.

Input values for the API

  • technologies: ashp, battery, biomass, eahp, ground_water_source, micro_chp, wind_turbine, sahp, solar_thermal, solar_pv, gahp
  • regions: england, eastern, east_midlands, london, north_east, north_west, south_east, south_west, west_midlands, yorkshire_humberside, scotland, wales, northern_ireland
  • certificationBodies: NICEIC, NAPIT, APHC, OFTEC, The IAA, BAB, Simply Certification, HETAS
  • websiteFilter, telephoneFilter: any, with, without

FAQ

How fresh is the data? It's refreshed from the MCS directory automatically every day. Every record includes dataUpdatedAt, so you can see exactly when.

Why are results so fast if you're not scraping? The scraping happens once a day on our side. Your run only searches the prepared database, which takes a fraction of a second, plus the few seconds Apify needs to start the Actor and save your results.

Why does the MCS website show a slightly higher count? The website counts registrations, and we return companies. About 50 companies hold two registrations (usually with different certification bodies for different technologies). The website lists them twice; we list them once, with both ids in mcsInstallerIds. This affects every total, including nationwide, by a few dozen at most.

Why is Ground/Water Source Heat Pump one option? That's how the MCS website presents it, and MCS records nearly all of these installers under one heading. Offering them separately would make one of the two look almost empty.

Why is contactPerson always null? MCS doesn't publish the names of people at installer companies. The column is there so you can see it's genuinely unavailable, not missing by mistake.

Is this data public? Yes. It comes from the public MCS installer directory, which is published so homeowners and businesses can find certified installers.

Can I get installers near a specific address? Use the Postcodes filter with the area or district, e.g. BS1 or BS. For distance searches, use the latitude and longitude in each record.