Aller au contenu
Inscris-toi pour qu'on t'aide sur ton projet

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

FichierContenuLignes
communes.csvune ligne par commune qui a une association ou un lycée1 661
departements.csvles départements, avec région et académie96
academies.csvles académies25
regions.csvles régions13
carte.jsontout en un fichier : total, régions, académies, départements, communestout

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ètreFichiersValeur acceptée
regioncommunes, départementsl'identifiant d'une région : bretagne, ile-de-france, nouvelle-aquitaine…
departementcommunesle code sur deux caractères : 33, 75, 2A
limitcommunes, départementsun entier de 1 à 2 000 (par défaut 2 000)
offsetcommunes, départementsun 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": "…" } }.

StatutCodeQuand
400parametre_inconnu, parametre_repete, region_invalide, region_inconnue, departement_invalide, departement_inconnu, departement_hors_region, limit_invalide, offset_invalideUn 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.
404fichier_inconnuLe fichier n'existe pas : l'index de l'API liste ceux qui existent.
405methode_refuseeL'API se lit seulement : GET, HEAD et OPTIONS.
429trop_de_requetesPlus 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.