Energy Certificate Checker for Property Listings avatar

Energy Certificate Checker for Property Listings

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Energy Certificate Checker for Property Listings

Energy Certificate Checker for Property Listings

Check EU property ads for missing energy certificate details: Germany's Energieausweis items under GEG §87, France's DPE energy and climate class, annual energy cost and F/G notice, and the energy class EU EPBD 2024/1275 requires on portals (ES, IT and others). Sources per finding.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Ultimate Foresight Inc

Ultimate Foresight Inc

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Security

Limited permissions

Share

Check property listings in Germany, France, Spain, Italy and other EU countries for missing energy certificate details in the ad. The Energy Certificate Checker reads listing titles, descriptions and energy fields and flags German ads missing the GEG §87 items (certificate type, energy value, main energy carrier, year built, efficiency class), French ads missing the DPE energy class, climate (GES) class or estimated annual energy cost, F and G homes without the 'logement à consommation énergétique excessive' notice, and other EU ads with no energy class or indicator (EPBD Art. 20). Works on ImmoScout24, SeLoger, Idealista, and Immobiliare scraper output. Click Start with the prefilled example to see it work.

This is an automated screen of listing text, not a legal determination. It can't see the certificate itself, images or attached PDFs, and duties depend on when a certificate exists and who publishes the ad. A clean result doesn't mean a listing meets the rules. Not legal advice; every row carries this disclaimer and a timestamp.

What does the Energy Certificate Checker do?

  • ✅ Germany (GEG §87): missing certificate type (Bedarfs- or Verbrauchsausweis), final energy value in kWh/(m²·a), main energy carrier, year built and efficiency class for homes.
  • ✅ France (DPE): missing classe énergie, classe climat (GES), estimated annual energy cost range and the energy price reference year.
  • ✅ F and G homes in France without the 'logement à consommation énergétique excessive' notice.
  • ✅ Spain, Italy and other EU countries: no energy class or energy performance indicator in the ad (EPBD 2024/1275 Art. 20(4)).
  • ✅ Country detection from a country field, the portal domain (immobilienscout24.de, seloger.com, idealista.com, immobiliare.it and more) or language cues, shown in countrySource.
  • ✅ Listed buildings and 'certificate pending' notes become info rows, not problems.
  • ✅ Output per row: country, countrySource, energyClass, energyValue, certificateType, energyCarrier, yearBuilt, ghgClass, energyCostShown, missing, propertyType, riskLevel, issueCount, issues (ruleId, severity, message, quote, sourceUrl, fixHint), checkedAt and a disclaimer.

Who is it for?

  • Real estate portals and listing platforms checking ads before they go live, now that EPBD Art. 20 covers portals too.
  • Agents and brokerages auditing their listings across portals.
  • Proptech and data companies enriching scraped listings with energy data quality flags.
  • Consumer groups and researchers measuring how often ads leave out energy information.

How to check property listings for energy certificate details

  1. Click Start with the prefilled example (a German ad missing most GEG items, a complete Hamburg ad, a Lyon class F flat and a Milan flat with no energy data).
  2. Replace the input with your own: title, description, optional country and energy fields like energyClass or energyValue.
  3. Or enter a Dataset ID from an ImmoScout24, SeLoger, Idealista, Immobiliare or other property scraper. Common fields are detected automatically; use Field map for nested ones.
  4. Turn on Only save rows with findings to skip clean rows; you only pay for saved rows.
  5. Export results as CSV, Excel or JSON, or fetch them through the API.

Input example

This is the prefilled input:

{
"listings": [
{
"id": "EXAMPLE-BERLIN",
"country": "DE",
"title": "Example 3-room flat in Berlin",
"description": "Bright 3-room flat, 78 m², balcony. Baujahr 1978. Energieausweis liegt vor."
},
{
"id": "EXAMPLE-HAMBURG",
"country": "DE",
"title": "Example 2-room flat in Hamburg",
"description": "Energieausweis: Verbrauchsausweis, Endenergieverbrauch 112,5 kWh/(m²·a), wesentlicher Energieträger Fernwärme, Baujahr laut Energieausweis 1965, Energieeffizienzklasse D."
},
{
"id": "EXAMPLE-LYON",
"country": "FR",
"title": "Example 2-room flat in Lyon",
"description": "Appartement 2 pièces, 45 m². DPE : F."
},
{
"id": "EXAMPLE-MILANO",
"country": "IT",
"title": "Example 3-room flat in Milan",
"description": "Trilocale luminoso, 85 m², secondo piano con ascensore."
}
]
}

Dataset mode:

{"datasetId": "YOUR_DATASET_ID", "fieldMap": {"energyClass": "energyCertificate.energyEfficiencyClass", "description": "descriptionText"}, "onlyFlagged": true}

Output example

Real output from a run of the prefilled input on 2026-11-02 (long finding lists are shortened here; the run returns all of them):

[
{
"itemNo": 1,
"listingId": "EXAMPLE-BERLIN",
"title": "Example 3-room flat in Berlin",
"country": "DE",
"countrySource": "field",
"energyClass": null,
"energyValue": null,
"certificateType": null,
"energyCarrier": null,
"yearBuilt": "1978",
"ghgClass": null,
"energyCostShown": null,
"missing": [
"certificateType",
"energyValue",
"energyCarrier",
"energyClass"
],
"propertyType": "residential",
"riskLevel": "medium",
"issueCount": 4,
"issues": [
{
"ruleId": "de_missing_certificateType",
"severity": "medium",
"message": "No type of certificate (Energiebedarfsausweis or Energieverbrauchsausweis) found. §87(1) no. 1 GEG requires it in commercial-media property ads when an energy certificate exists.",
"quote": null,
"sourceUrl": "https://www.gesetze-im-internet.de/geg/__87.html",
"fixHint": "Add the value from the energy certificate to the ad text or fields."
},
{
"ruleId": "de_missing_energyValue",
"severity": "medium",
"message": "No final energy demand or consumption value (Endenergiebedarf/-verbrauch, kWh/(m²·a)) found. §87(1) no. 2 GEG requires it in commercial-media property ads when an energy certificate exists.",
"quote": null,
"sourceUrl": "https://www.gesetze-im-internet.de/geg/__87.html",
"fixHint": "Add the value from the energy certificate to the ad text or fields."
},
{
"...": "2 more findings: de_missing_energyCarrier 'No main energy source for heating (wesentlicher En', de_missing_energyClass 'No energy efficiency class (Energieeffizienzklasse'"
}
],
"url": null,
"checkedAt": "2026-11-02T19:51:11+00:00",
"disclaimer": "Automated screening of the listing text and fields supplied against Germany's GEG §87,..."
},
{
"itemNo": 2,
"listingId": "EXAMPLE-HAMBURG",
"title": "Example 2-room flat in Hamburg",
"country": "DE",
"countrySource": "field",
"energyClass": "D",
"energyValue": "112,5 kWh/(m²·a)",
"certificateType": "Verbrauchsausweis",
"energyCarrier": "wesentlicher Energieträger",
"yearBuilt": "1965",
"ghgClass": null,
"energyCostShown": null,
"missing": [],
"propertyType": "residential",
"riskLevel": "none found",
"issueCount": 0,
"issues": [],
"url": null,
"checkedAt": "2026-11-02T19:51:11+00:00",
"disclaimer": "Automated screening of the listing text and fields supplied against Germany's GEG §87,..."
},
{
"itemNo": 3,
"listingId": "EXAMPLE-LYON",
"title": "Example 2-room flat in Lyon",
"country": "FR",
"countrySource": "field",
"energyClass": "F",
"energyValue": null,
"certificateType": null,
"energyCarrier": null,
"yearBuilt": null,
"ghgClass": null,
"energyCostShown": false,
"missing": [
"ghgClass",
"energyCost"
],
"propertyType": "residential",
"riskLevel": "medium",
"issueCount": 3,
"issues": [
{
"ruleId": "fr_missing_climate_class",
"severity": "medium",
"message": "No 'classe climat' (greenhouse gas letter A–G) found. French property ads must show both the energy and the climate class.",
"quote": null,
"sourceUrl": "https://www.service-public.fr/particuliers/vosdroits/F16096",
"fixHint": "Add 'Classe climat : X'."
},
{
"ruleId": "fr_missing_energy_cost",
"severity": "medium",
"message": "No estimated annual energy cost range found. Since 1 Jan 2022 French ads must show the 'montant estimé des dépenses annuelles d'énergie pour un usage standard' with the reference year of energy prices.",
"quote": null,
"sourceUrl": "https://www.service-public.fr/particuliers/vosdroits/F16096",
"fixHint": "Add e.g. 'Montant estimé des dépenses annuelles d'énergie pour un usage standard : entre 1 200 € et 1 700 € par an. Prix moyens des énergies indexés au 1er janvier 2021.'"
},
{
"...": "1 more findings: fr_missing_excessive_consumption_notice 'Class F home: French ads for F and G homes must sa'"
}
],
"url": null,
"checkedAt": "2026-11-02T19:51:11+00:00",
"disclaimer": "Automated screening of the listing text and fields supplied against Germany's GEG §87,..."
},
{
"itemNo": 4,
"listingId": "EXAMPLE-MILANO",
"title": "Example 3-room flat in Milan",
"country": "IT",
"countrySource": "field",
"energyClass": null,
"energyValue": null,
"certificateType": null,
"energyCarrier": null,
"yearBuilt": null,
"ghgClass": null,
"energyCostShown": null,
"missing": [
"energyClass",
"energyValue"
],
"propertyType": "residential",
"riskLevel": "medium",
"issueCount": 2,
"issues": [
{
"ruleId": "missing_energy_class",
"severity": "medium",
"message": "No energy class found. EPBD 2024/1275 Art. 20(4) requires the energy performance class to be stated in online and offline ads, including portals (IT national rules apply).",
"quote": null,
"sourceUrl": "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.legislativo:2005-08-19;192",
"fixHint": "Add the energy class from the certificate."
},
{
"ruleId": "missing_energy_indicator",
"severity": "low",
"message": "No energy performance indicator (e.g. kWh/m² per year) found. EPBD 2024/1275 Art. 20(4) requires the indicator as well as the class in ads; how far this is transposed varies by country.",
"quote": null,
"sourceUrl": "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.legislativo:2005-08-19;192",
"fixHint": "Add the energy performance indicator from the certificate."
}
],
"url": null,
"checkedAt": "2026-11-02T19:51:11+00:00",
"disclaimer": "Automated screening of the listing text and fields supplied against Germany's GEG §87,..."
}
]

How much does it cost to check property listings?

This Actor uses pay-per-event pricing: $0.003 per listing saved plus a $0.00005 start fee per run, plus small platform usage paid by you (a few hundredths of a cent for small runs). That's about $3.00 for 1,000 listings and $30.00 for 10,000 plus usage. With Only save rows with findings on, rows without findings aren't saved or charged. You can set a maximum cost per run in the run options.

Use it through the API, integrations or AI agents

  • Run it and get results in one call: https://api.apify.com/v2/acts/ultimatemc~property-energy-certificate-checker/run-sync-get-dataset-items
  • Use it from AI agents through the Apify MCP server: https://mcp.apify.com?tools=ultimatemc/property-energy-certificate-checker
  • Schedule it after a daily scraper run, send flagged rows to Slack or email with webhooks, or connect it to Make, Zapier, n8n or Google Sheets.
  • Chain it after any property scraper by passing the scraper's dataset ID.

How it works

Checks are deterministic rules written from GEG §87, the French DPE advertising rules summarised on service-public.fr, the recast EPBD (EU) 2024/1275 Art. 20, Spain's Real Decreto 390/2021 and Italy's D.Lgs. 192/2005, checked on 2026-11-02. Values are read from fields first and then from listing text in German, French, Spanish, Italian and English. No AI and no external calls.

Sources:

FAQ

What must a German property ad show?

If an energy certificate exists when the ad is published, GEG §87 requires the certificate type, the energy demand or consumption value, the main energy carrier, and for homes the year built and efficiency class.

What must a French ad show?

The DPE energy class and climate class, and since 2022 the estimated annual energy cost range with the reference year of prices. F and G homes must also be described as having excessive energy consumption.

Which countries are covered?

Detailed rules for Germany and France, a general class-or-indicator check for Spain, Italy and other EU countries, and an info note for countries outside the EU.

Does it read the certificate image?

No. It reads text and fields only.

Is it AI?

No. It's a fixed set of rules, so the same input always gives the same result.

Limitations

  • Text and fields only; energy label images and PDFs aren't read.
  • National rules outside Germany and France are checked only at the general EPBD level.
  • Commercial and special property types have extra rules that are only partly covered.

Other tools by Ultimate Foresight

Found a false positive? Open an issue on the Issues tab with the listing text and what you expected, and we'll review the rule.