API publique

Les mêmes données que le site, en JSON, sans clé ni compte. Réutilisation libre en citant la source (Assemblée nationale, Licence Ouverte) et ce site.

Points d’accès

GET /api/v1/deputies?query=&group=&department=&state=current|former|all&page=
GET /api/v1/deputies/{slug}
GET /api/v1/deputies/{slug}/votes?topic=&from=&to=&position=&page=
GET /api/v1/scrutins?query=&topic=&from=&to=&outcome=&type=&group=&page=
GET /api/v1/scrutins/{legislature}/{number}
GET /api/v1/topics
GET /api/v1/topics/{slug}
GET /api/v1/questionnaire
POST /api/v1/compare
POST /api/v1/reports

Format

Les listes sont paginées par 50 (`page` à partir de 1) et renvoient `total`. Les dates sont au format AAAA-MM-JJ. Une erreur renvoie un statut HTTP et un objet `error` avec `code` et `message`.

Les positions sont `POUR`, `CONTRE`, `ABSTENTION`, `NON_VOTANT_EXPLICITE`, ou `null` quand le député était en exercice sans figurer sur aucune liste. Le nom de la liste officielle accompagne chaque position.

Avec `group` (identifiant officiel d’un groupe, celui de `GET /api/v1/deputies`), la liste des scrutins se limite à ceux tenus pendant que le groupe avait un député en exercice, et chaque scrutin porte `groupMembers` : ce qu’ont fait les membres du groupe ce jour-là, jamais une position du groupe. Un identifiant inconnu renvoie l’erreur `bad_group`.

Un groupe porte `color`, la couleur que l’Assemblée nationale lui associe, au format `#RRGGBB`, ou `null` quand elle n’en publie pas.

Les requêtes sont limitées en débit ; merci de mettre en cache plutôt que d’interroger en boucle.