UK EPC Register Scraper · Energy Certificates + Assessors avatar

UK EPC Register Scraper · Energy Certificates + Assessors

Pricing

Pay per event

Go to Apify Store
UK EPC Register Scraper · Energy Certificates + Assessors

UK EPC Register Scraper · Energy Certificates + Assessors

Search the official UK Energy Certificate Register (England, Wales & Northern Ireland) by postcode, street or certificate number. Get EPC/CEPC/DEC/AC certificates with ratings, floor areas, energy use, CO2, improvement steps and assessor contacts. Pay only for results.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Automation Craft

Automation Craft

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

UK EPC Register Scraper — Energy Certificates + Assessors

Turn the official UK Energy Certificate Register (find-energy-certificate.service.gov.uk) into clean, structured JSON. Search whole postcodes or streets, pull full certificate details — ratings, floor areas, energy use, CO₂, recommended improvements with costs, and the assessor who signed the certificate — for England, Wales and Northern Ireland, covering both homes (EPC) and commercial buildings (CEPC, DEC, air-conditioning certificates).

No browser, no logins, no guesswork: this is the public government register, delivered as data you can actually work with.

Who uses this

  • Retrofit, solar and heat-pump installers — find every D/E/F/G-rated home in your service area, with the register's own improvement steps ("cavity wall insulation, £500–£1,500, saves £27/yr") as a ready-made talking point.
  • Landlords and letting agents (MEES compliance) — properties rated F or G cannot legally be let in England and Wales. Filter a portfolio's postcodes by rating and see exactly which certificates are expired or failing.
  • Proptech and data teams — enrich address data with ratings, floor areas, property types, energy costs and CO₂ figures, keyed by the official 20-digit certificate number.
  • Assessor lead lists — every full certificate carries the assessor's name, accreditation scheme and (on most domestic EPCs) phone and email.

✅ What it CAN do

  • Search by postcode — every certificate registered at that postcode (verified live: dense postcodes return all results on one page).
  • Search by street + town (domestic and non-domestic registers).
  • Fetch certificates directly by URL or 20-digit certificate number.
  • Cover both registers: domestic (EPC) and non-domestic (CEPC, CEPC-RR, DEC, DEC-RR, AC-CERT, AC-REPORT), or both at once.
  • Pull full certificate details: current/potential rating and score, property type, floor area, primary energy use, heating/hot-water energy, yearly energy cost and potential saving, CO₂ tonnes per year, step-by-step improvement recommendations with cost ranges, assessor and accreditation-scheme contacts.
  • Flag expired certificates (the register marks them inline; we expose a clean expired boolean).
  • Filter results by current rating (e.g. only F and G).
  • Northern Ireland is served — verified live with Belfast postcodes: BT searches return certificates and their detail pages parse identically.

❌ What it CANNOT do

  • No Scotland. Scottish EPCs live on a separate register (scottishepcregister.org.uk) that this actor does not cover.
  • Only what the public register shows. No owner names, no sale prices, no data beyond the certificate itself.
  • The rating filter is applied after the search, client-side — the register itself has no rating search. Filtered-out rows are never charged.
  • Non-domestic search rows carry no rating (the register's table doesn't show one), so ratingFilter on the non-domestic register only works together with fetchDetails: true.
  • Very broad street searches ("High Street, London") are refused by the register itself ("Too many results"). You get a free status item — use postcodes instead.
  • Some fields are best effort on older or non-domestic certificates (see field notes below).

Input

FieldTypeDefaultDescription
postcodesarray of strings["LS6 1EF"] (prefill)UK postcodes to search. Casing/spacing normalized automatically (ls61ef works).
streetSearchesarray of objects[][{"streetName": "Hessle Avenue", "town": "Leeds"}] — street-level searches.
certificateUrlsarray of strings[]Full certificate URLs or 20-digit certificate numbers (dashes optional).
registerenumdomesticdomestic, non-domestic, or both.
fetchDetailsbooleanfalseOff: cheap search-result rows. On: full certificate details for every result.
ratingFilterarray[] (all)Keep only these current ratings, e.g. ["F","G"]. A+ exists only on non-domestic certificates.
maxItemsinteger100Hard cap on charged items, honored exactly.

Running the actor with a completely empty input ({}) demonstrates it on the default postcode instead of failing.

Output

Three item types land in the dataset: search-result rows (list mode), certificate rows (details mode / direct lookups), and one free summary item at the end (plus free status items for empty/refused searches). Every row echoes the query that produced it (searchedPostcode, searchedStreet, or requestedCertificate). All certificate numbers are strings.

Real output from a live run (one direct certificate + one search row + the summary):

[
{
"type": "certificate",
"certificateNumber": "0260-2870-6219-9191-6111",
"certificateUrl": "https://find-energy-certificate.service.gov.uk/energy-certificate/0260-2870-6219-9191-6111",
"address": "First Floor Flat, 103 Iffley Road, OXFORD, OX4 1EH",
"postcode": "OX4 1EH",
"validUntil": "2029-09-09",
"expired": false,
"propertyType": "Top-floor flat",
"totalFloorAreaSqm": 89,
"dateOfAssessment": "2019-09-10",
"dateOfCertificate": "2019-09-10",
"assessorName": "Kieran Foggett",
"assessorPhone": "01993773258",
"assessorEmail": "cis@pinkconnect.co.uk",
"assessorId": "EES/020660",
"accreditationScheme": "Elmhurst Energy Systems Ltd",
"employer": null,
"register": "domestic",
"certificateType": "EPC",
"currentRating": "E",
"currentScore": 54,
"potentialRating": "D",
"potentialScore": 63,
"primaryEnergyUseKwhM2Year": 335,
"heatingKwhPerYear": 18496,
"hotWaterKwhPerYear": 2196,
"annualEnergyCostGbp": 1096,
"potentialAnnualSavingGbp": 224,
"co2TonnesPerYear": 5.3,
"co2PotentialTonnesPerYear": 4.1,
"recommendations": [
{
"step": 1,
"measure": "Cavity wall insulation",
"costLow": 500,
"costHigh": 1500,
"yearlySaving": 27
},
{
"step": 2,
"measure": "Internal wall insulation",
"costLow": 4000,
"costHigh": 14000,
"yearlySaving": 161
},
{
"step": 3,
"measure": "Heating controls (thermostatic radiator valves)",
"costLow": 350,
"costHigh": 450,
"yearlySaving": 37
}
],
"requestedCertificate": "0260-2870-6219-9191-6111"
},
{
"type": "search-result",
"register": "domestic",
"certificateNumber": "8788-6022-5319-2795-6906",
"certificateUrl": "https://find-energy-certificate.service.gov.uk/energy-certificate/8788-6022-5319-2795-6906",
"address": "2, Hessle Avenue, LEEDS, LS6 1EF",
"postcode": "LS6 1EF",
"certificateType": "EPC",
"currentRating": "D",
"validUntil": "2029-01-07",
"expired": false,
"searchedPostcode": "LS6 1EF"
},
{
"type": "summary",
"searchesRun": 1,
"searchResultsEmitted": 1,
"certificatesEmitted": 1,
"itemsCharged": 2,
"maxItemsReached": true
}
]

Field reliability notes (measured on live pages)

  • Domestic EPCs: ratings, scores, property type, floor area, costs, CO₂, recommendations and assessor contacts populated on every page tested. heatingKwhPerYear / hotWaterKwhPerYear and validUntil are best effort — very old (pre-2012, often expired) certificates can omit them. employer is rarely shown on domestic pages.
  • Non-domestic certificates: assessorName, assessorEmail, accreditationScheme, employer, floor area and validUntil are reliable. assessorPhone, propertyType, ratings/scores and energy figures are best effort — they depend on the certificate type (AC certificates have no rating at all; DECs use operational ratings).

Pricing

Pay-per-event, and only for real data: one small event per search-result row, one larger event per full certificate. Empty postcodes, "too many results" refusals, unknown certificate numbers, status items and the summary are always free — a run that finds nothing costs you nothing beyond the actor start. maxItems is a hard spend cap, honored exactly.

Data license

The register's content is published under the Open Government Licence v3.0. You are free to use it, including commercially, with attribution to the source. This actor only reads public pages, politely (low concurrency, no bypassing of any protection — there is none to bypass).