Title: Open data | EREVergelijken
Canonical: https://erevergelijken.eu/en/data/
Language: en
Last modified: 2026-10-21
Source: EREVergelijken.eu (the ERE Team), CC BY 4.0 for the data

Open data

# Open data

Every public data file from EREVergelijken.eu, with its fields, how often it is updated, the licence and a citation.

[Machine-readable description (OpenAPI 3.1)](https://erevergelijken.eu/data/openapi.json)

## How to cite us

Cite a page with the title, the URL and the date on the page (updated or checked). Cite a dataset with the name, the file URL, the date inside that file and CC BY 4.0.

## Licence

These files are under CC BY 4.0. Attribution: EREVergelijken.eu (the ERE Team).[CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).

## ERE providers (Dutch labels)

Every compared provider with pricing, payout, contract, net indication and trust score. Dutch labels.

-   [JSON](https://erevergelijken.eu/data/ere-aanbieders.json) [CSV](https://erevergelijken.eu/data/ere-aanbieders.csv)
-   [Explanation on the site](https://erevergelijken.eu/en/compare/)

### Updates

Terms are checked on the 1st of the month (terms-check.yml). A check only reads; a person updates the source file. This JSON file is rebuilt on every publish. dataCheckedOn is the latest provider check.

Date field: `dataCheckedOn`

### Fields

ERE providers (Dutch labels). Fields
| Field | Meaning |
| --- | --- |
| title, publisher, source, license | Name, publisher EREVergelijken.eu, page source and CC BY 4.0 (name, url, attribution). |
| dataCheckedOn | Latest check date of a provider in the list (YYYY-MM-DD). |
| referenceAnnualKwh | Annual kWh the net indication is calculated on. |
| notes | How to read commission, the volume schedule, the minimum and maximum, the net indication and the trust score. |
| providers\[\].slug, name, url | Key, name and the page on EREVergelijken.eu. |
| providers\[\].website, legalEntity | Own site and legal entity, or null when that is not public. |
| providers\[\].registration | open, preregistration, waitlist or closed. |
| providers\[\].audiences | Audiences, for example private, business, HOA. |
| providers\[\].eligibility | Who can sign up, in one sentence, in the language of this file. |
| providers\[\].neaListed | Whether the provider is on the NEa list of registration service providers. |
| providers\[\].commission | Standard 1-year commission as a fraction (0.15 is 15%), or null when no percentage is public. |
| providers\[\].commissionAtReferenceKwh | Fraction at referenceAnnualKwh. The published volume tier at that volume, otherwise the same as commission. |
| providers\[\].commissionTiers | Volume schedule or null. Each item: fromKwh, toKwh (where the next step starts, or null), rate, and termMonths (12 is 1 year). |
| providers\[\].commissionMinEur | Minimum commission in euro per charger a year (incl. VAT), or null. The commission is gross times the rate, then limited. |
| providers\[\].commissionMaxEur | Maximum commission in euro per charger a year (incl. VAT), or null. |
| providers\[\].annualFeeEur | Fixed amount in euro per year, or null. |
| providers\[\].pricing, payout, payoutText, contract, contractMonths, lockIn | Pricing text, payout code and text, contract text, term in months, and whether leaving is restricted. |
| providers\[\].netEurPerYearAtReferenceKwh | Indicative net per year: low and high, or null when we cannot estimate an amount. |
| providers\[\].trustScore, trustBand | Trust score from 0 to 10 and the band label, or null. |
| providers\[\].hiddenFees, hiddenFeesCode, checkedOn | Hidden fees in words and as a code, and this provider’s check date. |

### Example citation

EREVergelijken.eu (the ERE Team). "ERE providers (Dutch labels)". https://erevergelijken.eu/data/ere-aanbieders.json. CC BY 4.0. Data checked on October 21, 2026.

## ERE providers (English labels)

The same rows as ere-aanbieders.json, with English text.

-   [JSON](https://erevergelijken.eu/data/ere-providers.json) [CSV](https://erevergelijken.eu/data/ere-providers.csv)
-   [Explanation on the site](https://erevergelijken.eu/en/compare/)

### Updates

Same cadence as ere-aanbieders.json.

Date field: `dataCheckedOn`

### Fields

ERE providers (English labels). Fields
| Field | Meaning |
| --- | --- |
| title, publisher, source, license | Name, publisher EREVergelijken.eu, page source and CC BY 4.0 (name, url, attribution). |
| dataCheckedOn | Latest check date of a provider in the list (YYYY-MM-DD). |
| referenceAnnualKwh | Annual kWh the net indication is calculated on. |
| notes | How to read commission, the volume schedule, the minimum and maximum, the net indication and the trust score. |
| providers\[\].slug, name, url | Key, name and the page on EREVergelijken.eu. |
| providers\[\].website, legalEntity | Own site and legal entity, or null when that is not public. |
| providers\[\].registration | open, preregistration, waitlist or closed. |
| providers\[\].audiences | Audiences, for example private, business, HOA. |
| providers\[\].eligibility | Who can sign up, in one sentence, in the language of this file. |
| providers\[\].neaListed | Whether the provider is on the NEa list of registration service providers. |
| providers\[\].commission | Standard 1-year commission as a fraction (0.15 is 15%), or null when no percentage is public. |
| providers\[\].commissionAtReferenceKwh | Fraction at referenceAnnualKwh. The published volume tier at that volume, otherwise the same as commission. |
| providers\[\].commissionTiers | Volume schedule or null. Each item: fromKwh, toKwh (where the next step starts, or null), rate, and termMonths (12 is 1 year). |
| providers\[\].commissionMinEur | Minimum commission in euro per charger a year (incl. VAT), or null. The commission is gross times the rate, then limited. |
| providers\[\].commissionMaxEur | Maximum commission in euro per charger a year (incl. VAT), or null. |
| providers\[\].annualFeeEur | Fixed amount in euro per year, or null. |
| providers\[\].pricing, payout, payoutText, contract, contractMonths, lockIn | Pricing text, payout code and text, contract text, term in months, and whether leaving is restricted. |
| providers\[\].netEurPerYearAtReferenceKwh | Indicative net per year: low and high, or null when we cannot estimate an amount. |
| providers\[\].trustScore, trustBand | Trust score from 0 to 10 and the band label, or null. |
| providers\[\].hiddenFees, hiddenFeesCode, checkedOn | Hidden fees in words and as a code, and this provider’s check date. |

### Example citation

EREVergelijken.eu (the ERE Team). "ERE providers (English labels)". https://erevergelijken.eu/data/ere-providers.json. CC BY 4.0. Data checked on October 21, 2026.

## ERE price

The current median, the current indication and every dated observation from a named source.

-   [JSON](https://erevergelijken.eu/data/ere-prijs.json)
-   [Explanation on the site](https://erevergelijken.eu/en/ere-price/)

### Updates

Every Tuesday (price-record.yml, npm run price:record). That job writes new observations itself. current.date is the newest source in the median.

Date field: `current.date`

### Fields

ERE price. Fields
| Field | Meaning |
| --- | --- |
| title, publisher, source, license, unit | Name, publisher, page /ere-prijs/, CC BY 4.0, unit EUR per ERE. |
| current.price, current.low, current.high, current.date | Median, low and high of the band, and the date of the newest source in that median. |
| indication | Current indication, or null when fewer than 2 sources qualify. price is the median. low and high are the lowest and highest figure the sources state (the source band, or the price itself). from and to are YYYY-MM-DD. sources has label, date, price and url. Median of the latest price indication per named source, plus a dated benchmark, within the last 14 days of the newest named observation. No realised sales. An aggregator without a named source does not count. This is a different figure from current. |
| observations\[\].date, source, label, kind, named | Reference date, source key, label, kind (benchmark, realised, indicative, aggregator) and whether the source is named. |
| observations\[\].price, low, high, url, note | Price per ERE, optional band, source URL and optional note. Aggregators are not part of current or indication. |

### Example citation

EREVergelijken.eu (the ERE Team). "ERE price". https://erevergelijken.eu/data/ere-prijs.json. CC BY 4.0. Data checked on October 18, 2026.

## ERE market monitor

One JSON file per quarter: price, providers, trust, commission, payouts and public charging, with sources.

-   [JSON 2026-q3](https://erevergelijken.eu/data/ere-marktmonitor/2026-q3.json) [CSV](https://erevergelijken.eu/data/ere-marktmonitor/2026-q3.csv)
-   [Explanation on the site](https://erevergelijken.eu/en/ere-market-monitor/)

### Updates

Rebuilt on every publish. The edition covers one quarter (period.start to period.end). What changed after that is included through includedThrough. The ERE price follows the Tuesday price check, the electricity price the daily day-ahead check.

Date field: `modified`

### Fields

ERE market monitor. Fields
| Field | Meaning |
| --- | --- |
| id, title, period, published, includedThrough, modified | Quarter id, title (nl and en), period.start and period.end, publication date, how far post-quarter notes go, and the latest date in the file. |
| license, voice, citation, findings | CC BY 4.0, the public voice (the ERE Team), a citation sentence and the findings, each in nl and en. |
| figures\[\] | id, label, value, unit, asOf, source. These are the edition’s measured variables. |
| price | method, atPrior, atEnd, live, inQuarter, anonymousExcluded, afterQuarter. Each basket has date, price, low, high and sources. |
| providers | asOf, listed, byStatus, closed, addedToComparison, rows (name, slug, status, trustScore, commission, annualFeeEur, guaranteedMinPerKwh). |
| trust | asOf, n, median, average, averageRounded1, bands. |
| commission | asOf, n, min, max, median. Fractions, not percent signs. |
| breakEven\[\] | slug, name, fee, feeNow, atEnd, atLive. kWh a year where a fixed fee equals the median commission. |
| charging | asOf, acMedian, dcMedian, acLow, acHigh, dcLow, dcHigh, networks (slug, name, ac, acMin, dc, dcMin). Euro per kWh. |
| links | html (nl and en), json and csv of this edition. |

### Example citation

EREVergelijken.eu (the ERE Team). "ERE market monitor". https://erevergelijken.eu/data/ere-marktmonitor/2026-q3.json. CC BY 4.0. Data checked on October 21, 2026.

## Electricity price per month

Dutch day-ahead price per month since 2019, excluding VAT and energy tax.

-   [JSON](https://erevergelijken.eu/data/stroomprijs-per-maand.json) [CSV](https://erevergelijken.eu/data/stroomprijs-per-maand.csv)
-   [Explanation on the site](https://erevergelijken.eu/en/trends/)

### Updates

Every day (daily-prices.yml, scripts/record-day-ahead.mjs) and also on Tuesday in price-record.yml. updatedOn is the date of the series.

Date field: `updatedOn`

### Fields

Electricity price per month. Fields
| Field | Meaning |
| --- | --- |
| title, publisher, source, license, attribution, unit | Name, publisher, page /trends/, CC BY 4.0, the Energy-Charts / SMARD attribution, unit EUR per MWh excluding VAT. |
| definitions | Meaning of avg, smartAvg, eveningAvg, negativeHours, zeroOrNegativeHours and partial. |
| updatedOn | Date the monthly series was updated. |
| months\[\] | month (YYYY-MM), avg, min, max, smartAvg, eveningAvg, negativeHours, zeroOrNegativeHours, intervalMinutes, coverage, partial, through. |

### Example citation

EREVergelijken.eu (the ERE Team). "Electricity price per month". https://erevergelijken.eu/data/stroomprijs-per-maand.json. CC BY 4.0. Data checked on October 21, 2026.

## Electricity price per day

Day-ahead price per day since 2019, plus hours with a negative price and the cheapest consecutive hours.

-   [JSON](https://erevergelijken.eu/data/stroomprijs-per-dag.json) [CSV](https://erevergelijken.eu/data/stroomprijs-per-dag.csv)
-   [Explanation on the site](https://erevergelijken.eu/en/electricity-price/)

### Updates

Every day (daily-prices.yml, npm run dayahead:daily). updatedOn is when the series was updated; through is the last day in the file.

Date field: `updatedOn`

### Fields

Electricity price per day. Fields
| Field | Meaning |
| --- | --- |
| title, publisher, source, license, attribution, unit | Name, publisher, page /stroomprijs/, licence (name, url), attribution, unit. |
| definitions, updatedOn, first, through, gaps | Field meanings, update date, first day, last day, and days with missing hours (date, hours). |
| days\[\] | date, avg, min, max, negativeHours, smartAvg, eveningAvg, windowStart, windowAvg, hours. Prices in EUR per MWh. |

### Example citation

EREVergelijken.eu (the ERE Team). "Electricity price per day". https://erevergelijken.eu/data/stroomprijs-per-dag.json. CC BY 4.0. Data checked on October 21, 2026.

## Renewable share and CO2

Renewable share of Dutch electricity load per quarter hour, plus the CO2 intensity from Energy-Charts. The source does not name a unit for CO2.

-   [JSON](https://erevergelijken.eu/data/grid-mix.json)
-   [Explanation on the site](https://erevergelijken.eu/en/electricity-price/#green-charging)

### Updates

Every day at the same times as the electricity price (daily-prices.yml, npm run gridmix:record): 12:20, 14:05 and 05:05 UTC. updatedOn is the local day of the fetch.

Date field: `updatedOn`

### Fields

Renewable share and CO2. Fields
| Field | Meaning |
| --- | --- |
| title, publisher, source, license, attribution, licenseNote | Name, publisher EREVergelijken.eu, page /stroomprijs/#groen-laden, CC BY 4.0 (name, url, attribution), the source sentence and the Energy-Charts API licence text. |
| timeZone, updatedOn, fetchedAt, today, historyDays | Europe/Amsterdam. updatedOn is the local day of the fetch. fetchedAt is UTC. today is the day the series was fetched. historyDays is 3: yesterday, today and tomorrow when the source publishes it. |
| endpoints, units, forecast | The API paths used. units.renSharePct is percent of load. units.co2 is null: /co2eq does not name a unit. forecast says whether a forecast exists, through which quarter the values are measured, and whether tomorrow is in the source. |
| definitions | Meaning of renSharePct, renKind, co2, co2Kind and localTime. |
| days\[\].intervals\[\] | unixSeconds, localTime (start of the quarter), renSharePct, renKind (actual or forecast), co2, co2Kind. Empty quarters are omitted. |

### Example citation

EREVergelijken.eu (the ERE Team). "Renewable share and CO2". https://erevergelijken.eu/data/grid-mix.json. CC BY 4.0. Data checked on October 21, 2026.

## Supply licences

Count of active ACM electricity supply licences, per month.

-   [JSON](https://erevergelijken.eu/data/leveringsvergunningen.json)
-   [Explanation on the site](https://erevergelijken.eu/en/trends/)

### Updates

The ACM register is updated every Monday (suppliers-check.yml, node scripts/acm-licenses.mjs). This file is built from that register on every publish. basedOn.checkedOn is the register check date.

Date field: `basedOn.checkedOn`

### Fields

Supply licences. Fields
| Field | Meaning |
| --- | --- |
| title, publisher, source, license | Name, publisher, page /trends/, CC BY 4.0. |
| basedOn | label, url and checkedOn of the ACM register. |
| method | How the count on the first day of the month is made. |
| countedFromFirstEvent, leftOut | Licences without a grant date, and revoked licences without a date. |
| months\[\] | month (YYYY-MM) and count. |

### Example citation

EREVergelijken.eu (the ERE Team). "Supply licences". https://erevergelijken.eu/data/leveringsvergunningen.json. CC BY 4.0. Data checked on October 19, 2026.

## Data history

Every recorded check of prices, terms and scores, and the corrections of our own mistakes.

-   [JSON](https://erevergelijken.eu/data/historie.json)
-   [Explanation on the site](https://erevergelijken.eu/en/trends/)

### Updates

No cron of its own. After a data edit: npm run history:record -- --write. startedOn is the start of the series; the latest pass is in passes.

Date field: `passes[].date`

### Fields

Data history. Fields
| Field | Meaning |
| --- | --- |
| title, publisher, source, license | Name, publisher, page /trends/, CC BY 4.0. |
| startedOn | First day of the data history. |
| passes\[\] | date, changes, corrections, and sometimes note. One recording pass. |
| corrections\[\] | date, key, from, to, and sometimes note. A correction of our own mistake. |
| series | Key dataset/entity/metric, value a list of \[date, value\]. The value applies from that date. |

### Example citation

EREVergelijken.eu (the ERE Team). "Data history". https://erevergelijken.eu/data/historie.json. CC BY 4.0. Data checked on October 21, 2026.

## Switching deadlines 2027

Cancellation date per ERE provider for a switch on 1 January 2027, with the quote and the source.

-   [JSON](https://erevergelijken.eu/data/switching-deadlines.json)
-   [Explanation on the site](https://erevergelijken.eu/en/switching-ere-provider/)

### Updates

No fixed cron. src/data/switching-2027.json is updated when the terms or the NEa text change. checkedOn is the check date. generated is that same date, not the publish clock.

Date field: `checkedOn`

### Fields

Switching deadlines 2027. Fields
| Field | Meaning |
| --- | --- |
| title, publisher, source, license, checkedOn, generated | Name, publisher, page /overstappen-ere-aanbieder/, CC BY 4.0. generated is the same check date as checkedOn, not the publish clock. |
| rules\[\] | id, title, quote, source (label, url), optional note. Quotes from the regulation and the NEa. |
| pitfalls\[\] | title, body, quotes (text, source), sources. |
| openQuestions\[\] | body. What was still open on the check date. |
| providers\[\] | slug, name, term, tacitRenewal (yes, no, unknown), deadline, deadlineKind (stated, derived, none-needed, not-possible, unknown), deadlineNote, howToCancel, exitCost, currentYearKwh, sources, verified (yes, partial, no), optional conflict. |

### Example citation

EREVergelijken.eu (the ERE Team). "Switching deadlines 2027". https://erevergelijken.eu/data/switching-deadlines.json. CC BY 4.0. Data checked on October 11, 2026.

## Public charging

Rules, supervision, prices per charging network, municipal tariffs and statistics.

-   [JSON](https://erevergelijken.eu/data/public-charging.json)
-   [Explanation on the site](https://erevergelijken.eu/en/charging-prices/)

### Updates

Every Wednesday, and on the 1st and 2nd of the month (charging-check.yml, npm run charging:check). A check only reads; a person updates the amounts. checkedOn is the check date. generated is that same date.

Date field: `checkedOn`

### Fields

Public charging. Fields
| Field | Meaning |
| --- | --- |
| title, publisher, source, license, checkedOn, generated, schemaNotes | Name, publisher, page /laadtarieven/, CC BY 4.0. generated is the same date as checkedOn. schemaNotes explains null and ranges. |
| rules\[\], supervision\[\] | id, title, summary, appliesFrom, articles, sources. Rules (AFIR) and supervision. |
| networks\[\] | slug, name, type (fast, ac, both), adHoc and app (ac, acMin, dc, dcMin, note), priceDate, locationsNote, tariffs, sources. Euro per kWh incl. VAT, unless a note says otherwise. |
| municipal\[\] | city, operator, price.perKwh, price.note, countedUnder, sources. |
| stats\[\] | id, label, value, unit, date, note, sources. |

### Example citation

EREVergelijken.eu (the ERE Team). "Public charging". https://erevergelijken.eu/data/public-charging.json. CC BY 4.0. Data checked on October 21, 2026.

## Electricity label

Electricity label per household supplier: share per source, renewable share, Dutch guarantees of origin, CO2 and radioactive waste.

-   [JSON](https://erevergelijken.eu/data/stroometiket.json)
-   [Explanation on the site](https://erevergelijken.eu/en/green-electricity/)

### Updates

Every Monday, suppliers-check.yml reads the source URL (node scripts/check-stroometiket.mjs). A check only reads; a person updates src/data/stroometiket.json. checkedOn is the check date. generated is that same date.

Date field: `checkedOn`

### Fields

Electricity label. Fields
| Field | Meaning |
| --- | --- |
| suppliers\[\].year | Label year |
| suppliers\[\].scope | Name on the label for the mix that applies to households |
| suppliers\[\].companyMix | Whole-company or group mix, when the label prints that separately and it differs |
| suppliers\[\].shares | Share per source, fraction (0.15 = 15%). null = not stated |
| suppliers\[\].renewableShare | Renewable share, fraction |
| suppliers\[\].originNl | Share of renewable electricity with a Dutch guarantee of origin, fraction |
| suppliers\[\].co2GramsPerKwh | CO2 in grams per kWh |
| suppliers\[\].radioactiveWasteUgPerKwh | Radioactive waste in micrograms per kWh |
| suppliers\[\].source | Source on the supplier site |
| checkedOn | Date the labels were checked |

### Example citation

EREVergelijken.eu (the ERE Team). "Electricity label". https://erevergelijken.eu/data/stroometiket.json. CC BY 4.0. Data checked on October 13, 2026.

## Green mobility in numbers

Fully electric share of new sales, electric passenger cars on the road, charge points, renewable electricity, grid CO2, the ERE price and the provider count.

-   [JSON](https://erevergelijken.eu/data/groene-mobiliteit.json)
-   [Explanation on the site](https://erevergelijken.eu/en/green-mobility-statistics/)

### Updates

No fixed cron. External figures live in src/data/green-mobility.json and are updated when a source publishes a new figure. Charge points come from the charge-point series. The ERE price and the provider count come from the comparison on every publish. checkedOn is the newest date in the file. generated is that same date, not the publish clock.

Date field: `checkedOn`

### Fields

Green mobility in numbers. Fields
| Field | Meaning |
| --- | --- |
| title, publisher, source, license, voice | Name, publisher EREVergelijken.eu, page /groene-mobiliteit-in-cijfers/, CC BY 4.0, public voice the ERE Team. |
| checkedOn, generated | Newest date in the file (YYYY-MM-DD). generated is that same date, not the publish clock. |
| citation | Citation sentence in Dutch and English. |
| figures\[\] | id, group, value, decimals, unit, asOf, label, note, source. label and note are nl and en. asOf is the date of that figure. |

### Example citation

EREVergelijken.eu (the ERE Team). "Green mobility in numbers". https://erevergelijken.eu/data/groene-mobiliteit.json. CC BY 4.0. Data checked on October 21, 2026.

## Chargers and the MID meter

Per model whether it has a built-in MID meter: yes, no, optional or unknown, with the note and the source.

-   [JSON](https://erevergelijken.eu/data/laadpalen-mid.json)
-   [Explanation on the site](https://erevergelijken.eu/en/which-chargers-have-a-mid-meter/)

### Updates

No fixed cron. The file is rebuilt on every publish from src/data/charger-brands.json. checkedOn is the check date in that file. generated is that same date, not the publish clock. A check reads the manufacturer sources. A person updates the source file.

Date field: `checkedOn`

### Fields

Chargers and the MID meter. Fields
| Field | Meaning |
| --- | --- |
| title, publisher, source, license, voice | Name, publisher EREVergelijken.eu, page /welke-laadpalen-hebben-een-mid-meter/, CC BY 4.0, public voice the ERE Team. |
| checkedOn, generated, schemaNotes | Check date (YYYY-MM-DD). generated is that same date. schemaNotes explains yes, no, optional and unknown, and which brands are left out. |
| counts | brands, models, yes, no, optional, unknown. yes is a built-in MID meter. unknown is not filled in. |
| brands\[\].slug, name, page | Key, name, and the brand page in Dutch and English. |
| brands\[\].models\[\] | name, mid (yes, no, optional, unknown), note (nl and en, or null), source (URL or null). |

### Example citation

EREVergelijken.eu (the ERE Team). "Chargers and the MID meter". https://erevergelijken.eu/data/laadpalen-mid.json. CC BY 4.0. Data checked on September 23, 2026.
