Données ouvertes
Les données des maisons des lycéens, en libre accès
Les fichiers du relevé du 9 novembre 2026 se téléchargent sans inscription, et une API en lecture les sert à vos programmes. Chaque fichier porte sa date, sa définition et sa licence.
Télécharger
Cinq fichiers
| Fichier | Contenu | Lignes |
|---|---|---|
| communes.csv | une ligne par commune qui a une association ou un lycée | 1 661 |
| departements.csv | les départements, avec région et académie | 96 |
| academies.csv | les académies | 25 |
| regions.csv | les régions | 13 |
| carte.json | tout en un fichier : total, régions, académies, départements, communes | tout |
Colonnes des communes : code INSEE, nom, département, région, académie, latitude et longitude du centre, nombre d'associations, nombre de lycées. Rien d'autre : pas de nom d'association, pas d'adresse. Les régions, académies, départements et communes existent aussi en JSON, filtrables : voir l'API plus bas.
Licence et attribution
Réutilisation libre, avec la source
Les données sont publiées sous Licence Ouverte 2.0 (Etalab) : vous pouvez les copier, les modifier, les croiser et les vendre, à condition de citer la source et la date du relevé.
Source : Good is Merch, « Les maisons des lycéens de France, ville par ville », d'après Sirene et le RNA (API Recherche d'entreprises), l'annuaire de l'éducation nationale et l'API Géo. Relevé du 9 novembre 2026.
API en lecture · v1
Lire les données par programme
Sans clé ni inscription, lisible depuis un autre site. Seules les lectures sont acceptées (GET, HEAD, OPTIONS). L'API ne sert que ce relevé : aucune autre donnée n'est derrière.
Un premier appel
Les départements de Bretagne, avec leurs nombres.
curl "https://goodismerch.com/api/mdl/v1/departements.json?region=bretagne"
Depuis un navigateur :
const r = await fetch("https://goodismerch.com/api/mdl/v1/communes.json?departement=33&limit=50");
const { communes, total, suivant } = await r.json();Les adresses
- GET /api/mdl/v1
- GET /api/mdl/v1/carte.json
- GET /api/mdl/v1/regions.json
- GET /api/mdl/v1/academies.json
- GET /api/mdl/v1/departements.json
- GET /api/mdl/v1/communes.json
- GET /api/mdl/v1/schema.json
Chaque fichier existe aussi en CSV (sauf carte et schéma). L'index de l'API liste les fichiers, leurs paramètres et ses limites.
Paramètres
| Paramètre | Fichiers | Valeur acceptée |
|---|---|---|
| region | communes, départements | l'identifiant d'une région : bretagne, ile-de-france, nouvelle-aquitaine… |
| departement | communes | le code sur deux caractères : 33, 75, 2A |
| limit | communes, départements | un entier de 1 à 2 000 (par défaut 2 000) |
| offset | communes, départements | un entier de 0 à 100 000 (par défaut 0) |
La liste est fermée : un autre paramètre, un paramètre répété, ou un département hors de la région demandée, est refusé (400). Les réponses paginées portent total, limit, offset et suivant, l'adresse de la page d'après (null à la fin).
Une réponse
{
"releve": "2026-11-09",
"perimetre": "…",
"definition": "…",
"licence": "Licence Ouverte 2.0",
"source": "…",
"total": 4,
"limit": 2,
"offset": 0,
"suivant": "/api/mdl/v1/departements.json?region=bretagne&limit=2&offset=2",
"departements": [
{
"code": "22",
"nom": "Côtes-d'Armor",
"region": "Bretagne",
"academie": "Rennes",
"associations": 6,
"lycees": 51
},
{
"code": "29",
"nom": "Finistère",
"region": "Bretagne",
"academie": "Rennes",
"associations": 12,
"lycees": 81
}
]
}Le schéma JSON (JSON Schema 2020-12) décrit chaque réponse, champ par champ. Chaque réponse JSON de données porte aussi un en-tête Link qui y renvoie.
Limites
60 requêtes par minute et par adresse. Au-delà : 429 et l'en-tête Retry-After, qui dit combien de secondes attendre. Pour tout le relevé d'un coup, un seul appel à carte.json suffit.
Cache
Les réponses changent une fois par relevé. Envoyez If-None-Match avec l'ETag reçu : si rien n'a changé, la réponse est un 304 sans corps.
Depuis un autre site
Les lectures sont autorisées depuis n'importe quelle origine (CORS), sans cookie ni identifiant. Pour afficher la carte elle-même : voir la page presse.
Erreurs
Une erreur rend du JSON : { "erreur": { "code": "…", "message": "…" } }.
| Statut | Code | Quand |
|---|---|---|
| 400 | parametre_inconnu, parametre_repete, region_invalide, region_inconnue, departement_invalide, departement_inconnu, departement_hors_region, limit_invalide, offset_invalide | Un paramètre n'est pas dans la liste, est répété, ou sa valeur est hors limites ; le département demandé n'est pas dans la région demandée. |
| 404 | fichier_inconnu | Le fichier n'existe pas : l'index de l'API liste ceux qui existent. |
| 405 | methode_refusee | L'API se lit seulement : GET, HEAD et OPTIONS. |
| 429 | trop_de_requetes | Plus de 60 requêtes en une minute depuis la même adresse, ou plus de 1 500 en une minute pour l'ensemble de l'API. L'en-tête Retry-After dit combien de secondes attendre. |
Une question, une demande de chiffres, une erreur à signaler ? contact@goodismerch.com.