EPC Scraper avatar

EPC Scraper

Try for free

3 days trial then $30.00/month - No credit card required now

View all Actors
EPC Scraper

EPC Scraper

dhrumil/epc-scraper
Try for free

3 days trial then $30.00/month - No credit card required now

Scrape https://find-energy-certificate.service.gov.uk to crawl millions of EPCs from United Kingdom. Our energy performance certificate scraper also lets you monitor specific post code for new EPC listed. You can provide multiple search result listings to scrape/monitor.

🏡 What is EPC Scraper?

This EPC Scraper will enable you scrape any energy performance certificate from find-energy-certificate.service.gov.uk.

You can simply take your listing url from browser and enter it into this actor. This actor will crawl through all pages of particular listing and generate dataset for you.

Listing url is something you get when you perform the search on epc site. Example listing urls :

🚪 What can this EPC Scraper do?

📈 Extract EPC certificates from official UK epc site

👀 This actor is not just scraper but also has monitoring capability. You can turn on monitoring mode and it will give you only newly added epc compared to your previous scrapes.

📩 This actor also helps yu to identify which epc are expired.

⬇️ Download epc data in Excel, CSV, JSON, and other formats

📚 How do I start scraping with this scraper?

  1. Register for your free Apify account here
  2. You don't need to provide your credit card details for free acount. Just click on "Get Started" button on above link and complete the registration only.
  3. Free account comes with reasonable credits to try out this actor. This actor also comes with free trial of 3 days without any commitment/upfront charge.
  4. Run this actor and verify the scraped data. Apify has huge integration possibilities. You can download the data or push the data into any 3rd party platform directly.

🌳 What epc data can I extract using this tool?

📝📝
RatingFull Address
EPC URLLocality
PostcodeProperty Type
Floor AreaExpiry Stats
Current ScorePotential Score
Primary UsageAverage Bill
Potential SavingYear
Produced CO2Potential CO2
Assesor NameAssesor Phone
Assesor EmailAccreditation Details
Assessment DateCertificate Date
Assessment TypeCertificate Expiry Date
FetauresProposed Changes

⬇️ Input

For simple usecase, you just need to provide browser url of rightmove search result page & that's all. You can leave other fields as they are to be sensible defaults.

Input example

1{
2    "listUrls": [
3        {
4            "url": "https://find-energy-certificate.service.gov.uk/find-a-certificate/search-by-postcode?postcode=BN1+3JB"
5        }
6    ],
7    "fullScrape": true,
8    "monitoringMode": false,
9    "addEmptyTrackerRecord" : false
10}

Understading monitoring mode :

  • fullScrape : This option is by default turned on. When enabled it always force actor to scrape complete listing from all pagination pages regardless of monitoring is enabled or not.

  • monitoringMode : This option when turned on will only scrape newly added epc compared to previously scraped epc by this actor. It's important to turn off fullScrape setting if you are using this mode. If you keep fullScrape on, it will re-scrape complete listing again.

  • addEmptyTrackerRecord : This option when turned on will add empty record having only id of epc to Apify dataset. This helps you identify whether epc is still listed compared to your own database in incremental mode.

⬆️ Output

The scraped data is stored in the dataset of each run. The data can be viewed or downloaded in many popular formats, such as JSON, CSV, Excel, XML, RSS, and HTML.

Output example

The result for scraping a single property like this:

1{
2	"url": "https://find-energy-certificate.service.gov.uk/energy-certificate/0010-2129-7282-2472-9215",
3	"postCode": "BN1 3JB",
4	"locality": "BRIGHTON",
5	"address": "Flat 6,36 Dyke Road",
6	"rating": "C",
7	"id": "0010-2129-7282-2472-9215",
8	"propertyType": "Mid-floor flat",
9	"floorArea": "35 square metres",
10	"currentScore": "75 C",
11	"potentialScore": "79 C",
12	"features": [
13		{
14			"name": "Wall",
15			"description": "Solid brick, with internal insulation",
16			"rating": "Good"
17		},
18		{
19			"name": "Window",
20			"description": "Partial double glazing",
21			"rating": "Poor"
22		}
23	],
24	"primaryUsage": 327,
25	"averageBill": 488,
26	"potentialSaving": 94,
27	"averageCostYear": 2022,
28	"co2Produces": 1.9,
29	"co2Potential": 1.5,
30	"changes": [
31		{
32			"name": "Heat recovery system for mixer showers",
33			"installationCost": "£585 - £725",
34			"yearlySaving": "£36",
35			"potentialRating": "76 C"
36		},
37		{
38			"name": "Double glazed windows",
39			"installationCost": "£3,300 - £6,500",
40			"yearlySaving": "£59",
41			"potentialRating": "79 C"
42		}
43	],
44	"assessorName": "Paul Cronin",
45	"assessorPhone": "01273 977447",
46	"assessorEmail": "paul@croninspropertychecks.com",
47	"accreditationScheme": "Stroma Certification Ltd",
48	"accreditationAssessorID": "STRO033856",
49	"accreditationPhone": "0330 124 9660",
50	"accreditationEmail": "certification@stroma.com",
51	"assessorDeclaration": "No related party",
52	"assessmentDate": "31 August 2022",
53	"certificateDate": "6 September 2022",
54	"assessmentType": "RdSAP",
55	"otherCertificates": [
56		{
57			"id": "0576-2869-6215-9092-1251",
58			"expiryDate": "16 September 2022"
59		}
60	],
61	"validtillDate": "5 September 2032",
62	"expired": false
63}

❓Limitations

Since epc site allows only search by full post code, you need to provide multiple such post code list urls to cover larger targetted area. Good News is that even if multiple list urls contains overlapping results, they will get deduplicated within same run data.

🙋‍♀️ For custom solutions

In case you need some custom solution, you can contact me : dhrumil@techvasu.com

Or learn more about me on github : https://github.com/dhrumil4u360

Developer
Maintained by Community

Actor Metrics

  • 3 monthly users

  • 4 stars

  • >99% runs succeeded

  • Created in Mar 2024

  • Modified 8 months ago