JouloDocs

MID-catalogus dataset

Open dataset met per laadstationmodel de MID-status volgens de Joulo-catalogus, de ERE-geschiktheid en de koppelroute • JSON en CSV, CC BY 4.0

Joulo toont op joulo.nl/mid-laadstation-check per merk en model of de catalogus een ingebouwde MID-meter verwacht. Dezelfde rijen staan als open dataset online, in JSON en in CSV. Geen apikey, geen account • gewoon een GET. Bedoeld voor vergelijkers, installateurs, pers en iedereen die de catalogus wil citeren in plaats van hem na te bouwen.

Bestanden

GET https://joulo.nl/data/mid-catalogus.json    # JSON: _meta + rows
GET https://joulo.nl/data/mid-catalogus.csv     # CSV, zelfde rijen en kolommen

Het zijn statische bestanden. Ze worden elke dag opnieuw gegenereerd uit de catalogus en lopen daar hoogstens een dag op achter. _meta.generated_at zegt wanneer de inhoud voor het laatst veranderde.

Licentie en citeerregel

De dataset staat onder Creative Commons Attribution 4.0 (CC BY 4.0). Je mag de data kopiëren, bewerken en verspreiden, ook commercieel en ook in een AI-antwoord, zolang je de bron noemt:

Bron: Joulo, MID-catalogus (joulo.nl/mid-laadstation-check), CC BY 4.0

Response (JSON)

{
  "_meta": {
    "name": "MID-catalogus",
    "description": "Per laadstationmodel de MID-status volgens de Joulo-catalogus, de ERE-geschiktheid en de koppelroute bij Joulo.",
    "source": "https://joulo.nl/mid-laadstation-check",
    "docs": "https://developer.joulo.nl/guides/mid-catalogus-dataset",
    "json": "https://joulo.nl/data/mid-catalogus.json",
    "csv": "https://joulo.nl/data/mid-catalogus.csv",
    "generated_at": "2026-09-25T07:34:35.931Z",
    "record_count": 324,
    "license": {
      "id": "CC-BY-4.0",
      "name": "Creative Commons Attribution 4.0 International",
      "url": "https://creativecommons.org/licenses/by/4.0/"
    },
    "attribution": "Joulo (joulo.nl)",
    "citation": "Bron: Joulo, MID-catalogus (joulo.nl/mid-laadstation-check), CC BY 4.0",
    "fields": [
      { "key": "brand", "provenance": "catalogus", "description": "Merk zoals de catalogus het spelt." }
    ],
    "notes": ["..."]
  },
  "rows": [
    {
      "brand": "Alfen",
      "model": "Eve Single Pro-line",
      "category": "AC",
      "mid_meter": "true",
      "ere_status": "compatible",
      "connection_route": "ocpp"
    }
  ]
}

rows staat op merk en daarbinnen op model gesorteerd. fields beschrijft elke kolom met zijn herkomst, in de kolomvolgorde van de CSV. record_count is het aantal rijen.

Velden en herkomst

Elke waarde heeft één van twee herkomsten: catalogus (letterlijk uit de Joulo-catalogus) of afgeleid (door ons berekend uit catalogus- en merkgegevens).

VeldHerkomstBetekenis
brandcatalogusMerk zoals de catalogus het spelt.
modelcatalogusModel of modellijn zoals de catalogus die kent.
categorycatalogusSoort laadstation: AC of DC. Leeg als de catalogus het niet vastlegt.
mid_metercatalogusMID-meter in de behuizing: true, false of unknown. Bij unknown is het model nog niet beoordeeld, of is alleen een merk-rij bekend.
ere_statuscatalogusERE-geschiktheid: compatible, possibly of not_supported.
connection_routeafgeleidKoppelroute bij Joulo, zoals de badge op de pagina: cloud_api, platform, cloud_manual, ocpp of not_supported.

mid_meter en ere_status zeggen elk iets anders. Een model met ere_status: compatible en mid_meter: false koppelt wel, maar boekt geen ERE in. Alleen een MID-meter in de behuizing van het laadstation telt. Een losse tussenmeter in de meterkast telt nooit, hoe netjes ook geplaatst.

Merken die Joulo niet op de site toont, zijn weggelaten. Wil je een oordeel betwisten? Mail [email protected] met het bewijs; wij passen de catalogus aan.

CSV

Dezelfde rijen, één regel per model, kolommen in de volgorde van de tabel hierboven. Komma als scheidingsteken, punt als decimaalteken, UTF-8, regeleinde \r\n. Lege cel = null.

curl -s https://joulo.nl/data/mid-catalogus.csv | head -3

Voorbeelden

curl

curl -s https://joulo.nl/data/mid-catalogus.json | jq '[.rows[] | select(.mid_meter == "true")] | length'

JavaScript (fetch)

const res = await fetch("https://joulo.nl/data/mid-catalogus.json");
const { _meta, rows } = await res.json();
const peblar = rows.filter((r) => r.brand === "Peblar");
console.log(`${peblar.length} Peblar-modellen • ${_meta.citation}`);

Bronvermelding

De dataset is vrij te gebruiken onder CC BY 4.0 met de citeerregel hierboven. Vragen over een model of een oordeel? Mail [email protected].