Skip to main content

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)

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.

ERE providers (Dutch labels)

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

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
FieldMeaning
title, publisher, source, licenseName, publisher EREVergelijken.eu, page source and CC BY 4.0 (name, url, attribution).
dataCheckedOnLatest check date of a provider in the list (YYYY-MM-DD).
referenceAnnualKwhAnnual kWh the net indication is calculated on.
notesHow to read commission, the volume schedule, the minimum and maximum, the net indication and the trust score.
providers[].slug, name, urlKey, name and the page on EREVergelijken.eu.
providers[].website, legalEntityOwn site and legal entity, or null when that is not public.
providers[].registrationopen, preregistration, waitlist or closed.
providers[].audiencesAudiences, for example private, business, HOA.
providers[].eligibilityWho can sign up, in one sentence, in the language of this file.
providers[].neaListedWhether the provider is on the NEa list of registration service providers.
providers[].commissionStandard 1-year commission as a fraction (0.15 is 15%), or null when no percentage is public.
providers[].commissionAtReferenceKwhFraction at referenceAnnualKwh. The published volume tier at that volume, otherwise the same as commission.
providers[].commissionTiersVolume schedule or null. Each item: fromKwh, toKwh (where the next step starts, or null), rate, and termMonths (12 is 1 year).
providers[].commissionMinEurMinimum commission in euro per charger a year (incl. VAT), or null. The commission is gross times the rate, then limited.
providers[].commissionMaxEurMaximum commission in euro per charger a year (incl. VAT), or null.
providers[].annualFeeEurFixed amount in euro per year, or null.
providers[].pricing, payout, payoutText, contract, contractMonths, lockInPricing text, payout code and text, contract text, term in months, and whether leaving is restricted.
providers[].netEurPerYearAtReferenceKwhIndicative net per year: low and high, or null when we cannot estimate an amount.
providers[].trustScore, trustBandTrust score from 0 to 10 and the band label, or null.
providers[].hiddenFees, hiddenFeesCode, checkedOnHidden 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.

Updates

Same cadence as ere-aanbieders.json.

Date field: dataCheckedOn

Fields

ERE providers (English labels). Fields
FieldMeaning
title, publisher, source, licenseName, publisher EREVergelijken.eu, page source and CC BY 4.0 (name, url, attribution).
dataCheckedOnLatest check date of a provider in the list (YYYY-MM-DD).
referenceAnnualKwhAnnual kWh the net indication is calculated on.
notesHow to read commission, the volume schedule, the minimum and maximum, the net indication and the trust score.
providers[].slug, name, urlKey, name and the page on EREVergelijken.eu.
providers[].website, legalEntityOwn site and legal entity, or null when that is not public.
providers[].registrationopen, preregistration, waitlist or closed.
providers[].audiencesAudiences, for example private, business, HOA.
providers[].eligibilityWho can sign up, in one sentence, in the language of this file.
providers[].neaListedWhether the provider is on the NEa list of registration service providers.
providers[].commissionStandard 1-year commission as a fraction (0.15 is 15%), or null when no percentage is public.
providers[].commissionAtReferenceKwhFraction at referenceAnnualKwh. The published volume tier at that volume, otherwise the same as commission.
providers[].commissionTiersVolume schedule or null. Each item: fromKwh, toKwh (where the next step starts, or null), rate, and termMonths (12 is 1 year).
providers[].commissionMinEurMinimum commission in euro per charger a year (incl. VAT), or null. The commission is gross times the rate, then limited.
providers[].commissionMaxEurMaximum commission in euro per charger a year (incl. VAT), or null.
providers[].annualFeeEurFixed amount in euro per year, or null.
providers[].pricing, payout, payoutText, contract, contractMonths, lockInPricing text, payout code and text, contract text, term in months, and whether leaving is restricted.
providers[].netEurPerYearAtReferenceKwhIndicative net per year: low and high, or null when we cannot estimate an amount.
providers[].trustScore, trustBandTrust score from 0 to 10 and the band label, or null.
providers[].hiddenFees, hiddenFeesCode, checkedOnHidden 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.

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
FieldMeaning
title, publisher, source, license, unitName, publisher, page /ere-prijs/, CC BY 4.0, unit EUR per ERE.
current.price, current.low, current.high, current.dateMedian, low and high of the band, and the date of the newest source in that median.
indicationCurrent 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, namedReference date, source key, label, kind (benchmark, realised, indicative, aggregator) and whether the source is named.
observations[].price, low, high, url, notePrice 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.

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
FieldMeaning
id, title, period, published, includedThrough, modifiedQuarter 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, findingsCC 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.
pricemethod, atPrior, atEnd, live, inQuarter, anonymousExcluded, afterQuarter. Each basket has date, price, low, high and sources.
providersasOf, listed, byStatus, closed, addedToComparison, rows (name, slug, status, trustScore, commission, annualFeeEur, guaranteedMinPerKwh).
trustasOf, n, median, average, averageRounded1, bands.
commissionasOf, 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.
chargingasOf, acMedian, dcMedian, acLow, acHigh, dcLow, dcHigh, networks (slug, name, ac, acMin, dc, dcMin). Euro per kWh.
linkshtml (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.

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
FieldMeaning
title, publisher, source, license, attribution, unitName, publisher, page /trends/, CC BY 4.0, the Energy-Charts / SMARD attribution, unit EUR per MWh excluding VAT.
definitionsMeaning of avg, smartAvg, eveningAvg, negativeHours, zeroOrNegativeHours and partial.
updatedOnDate 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.

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
FieldMeaning
title, publisher, source, license, attribution, unitName, publisher, page /stroomprijs/, licence (name, url), attribution, unit.
definitions, updatedOn, first, through, gapsField 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.

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
FieldMeaning
title, publisher, source, license, attribution, licenseNoteName, 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, historyDaysEurope/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, forecastThe 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.
definitionsMeaning 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.

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
FieldMeaning
title, publisher, source, licenseName, publisher, page /trends/, CC BY 4.0.
basedOnlabel, url and checkedOn of the ACM register.
methodHow the count on the first day of the month is made.
countedFromFirstEvent, leftOutLicences 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.

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
FieldMeaning
title, publisher, source, licenseName, publisher, page /trends/, CC BY 4.0.
startedOnFirst 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.
seriesKey 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.

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
FieldMeaning
title, publisher, source, license, checkedOn, generatedName, 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.

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
FieldMeaning
title, publisher, source, license, checkedOn, generated, schemaNotesName, 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.

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
FieldMeaning
suppliers[].yearLabel year
suppliers[].scopeName on the label for the mix that applies to households
suppliers[].companyMixWhole-company or group mix, when the label prints that separately and it differs
suppliers[].sharesShare per source, fraction (0.15 = 15%). null = not stated
suppliers[].renewableShareRenewable share, fraction
suppliers[].originNlShare of renewable electricity with a Dutch guarantee of origin, fraction
suppliers[].co2GramsPerKwhCO2 in grams per kWh
suppliers[].radioactiveWasteUgPerKwhRadioactive waste in micrograms per kWh
suppliers[].sourceSource on the supplier site
checkedOnDate 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.

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
FieldMeaning
title, publisher, source, license, voiceName, publisher EREVergelijken.eu, page /groene-mobiliteit-in-cijfers/, CC BY 4.0, public voice the ERE Team.
checkedOn, generatedNewest date in the file (YYYY-MM-DD). generated is that same date, not the publish clock.
citationCitation 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.

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
FieldMeaning
title, publisher, source, license, voiceName, publisher EREVergelijken.eu, page /welke-laadpalen-hebben-een-mid-meter/, CC BY 4.0, public voice the ERE Team.
checkedOn, generated, schemaNotesCheck date (YYYY-MM-DD). generated is that same date. schemaNotes explains yes, no, optional and unknown, and which brands are left out.
countsbrands, models, yes, no, optional, unknown. yes is a built-in MID meter. unknown is not filled in.
brands[].slug, name, pageKey, 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.