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.

Démarrer

Adresse de base : https://api.lesactesparlent.fr/v1. Chaque point d’accès s’y ajoute, par exemple :

curl https://api.lesactesparlent.fr/v1/deputies?state=current

La description OpenAPI 3.1 de l’API, à lire par un outil : https://api.lesactesparlent.fr/v1/openapi.json.

Points d’accès

GET /deputies

Les députés de la législature, en exercice ou non, par ordre alphabétique.

Paramètres
ParamètreDescription
query (requête) Tout ou partie du nom.
group (requête) Identifiant officiel d’un groupe (group.uid).
department (requête) Code d’un département (62, 2A, 099 pour les Français de l’étranger).
state (requête) En exercice, anciens, ou tous (par défaut). Valeurs : current, former, all.
page (requête) Page de 50 résultats, à partir de 1.

Essayer GET /deputies?state=current

GET /deputies/{slug}

La fiche d’un député : ses mandats, ses groupes successifs et sa participation (participation).

Paramètres
ParamètreDescription
slug (chemin) Identifiant du député, celui de GET /deputies.

Essayer GET /deputies/audrey-abadie-amiel

GET /deputies/{slug}/votes

Les votes d’un député, du plus récent au plus ancien, avec son groupe ce jour-là.

Paramètres
ParamètreDescription
slug (chemin) Identifiant du député, celui de GET /deputies.
topic (requête) Identifiant d’un thème, celui de GET /topics.
from (requête) Scrutins tenus ce jour ou après (AAAA-MM-JJ).
to (requête) Scrutins tenus ce jour ou avant (AAAA-MM-JJ).
position (requête) Une position, ou ABSENT_NON_ETABLI pour les scrutins sans position enregistrée. Valeurs : POUR, CONTRE, ABSTENTION, NON_VOTANT_EXPLICITE, ABSENT_NON_ETABLI.
page (requête) Page de 50 résultats, à partir de 1.

Essayer GET /deputies/audrey-abadie-amiel/votes

GET /scrutins

Les scrutins publics, du plus récent au plus ancien.

Paramètres
ParamètreDescription
query (requête) Mots du titre, 200 caractères au plus.
topic (requête) Identifiant d’un thème, celui de GET /topics.
from (requête) Scrutins tenus ce jour ou après (AAAA-MM-JJ).
to (requête) Scrutins tenus ce jour ou avant (AAAA-MM-JJ).
outcome (requête) Adopté ou rejeté. Valeurs : adopté, rejeté.
type (requête) Scrutin public ordinaire, solennel, ou motion de censure. Valeurs : SPO, SPS, MOC.
group (requête) Identifiant officiel d’un groupe : seuls les scrutins tenus pendant qu’il avait un député en exercice, chacun avec groupMembers. Inconnu, l’erreur bad_group.
page (requête) Page de 50 résultats, à partir de 1.

Essayer GET /scrutins?type=SPS

GET /scrutins/{legislature}/{number}

Un scrutin : ses comptes, la position de chaque député comme listée, les députés en exercice sans position enregistrée (noPositionRecorded), les mises au point, ses thèmes et son explication publiée.

Paramètres
ParamètreDescription
legislature (chemin) Numéro de la législature (17).
number (chemin) Numéro du scrutin dans la législature.
lang (requête) Langue des thèmes et de l’explication, fr par défaut. Valeurs : fr, en, es.

Essayer GET /scrutins/17/9459

GET /topics

Les thèmes, avec leur nombre de scrutins.

Paramètres
ParamètreDescription
lang (requête) Langue des thèmes et de l’explication, fr par défaut. Valeurs : fr, en, es.

Essayer GET /topics

GET /topics/{slug}

Un thème et ses scrutins, du plus récent au plus ancien.

Paramètres
ParamètreDescription
slug (chemin) Identifiant du thème.
lang (requête) Langue des thèmes et de l’explication, fr par défaut. Valeurs : fr, en, es.
page (requête) Page de 50 résultats, à partir de 1.

Essayer GET /topics/agriculture

GET /questionnaire

Les questions du comparateur ce jour, avec les règles publiques qui les ont choisies (rules). Quand moins de 5 scrutins remplissent ces règles, l’erreur not_found.

Essayer GET /questionnaire

POST /compare

Compare des réponses aux votes de chaque groupe et de chaque député : les accords, les scrutins comparables et le taux d’accord (rate), null en dessous de minComparable scrutins comparables. Les réponses ne sont pas conservées.

Corps JSON

{ "answers": { "<question id>": "POUR" | "CONTRE" | "PASSER" } }

POST /reports

Signale une erreur : la page concernée, une description de 20 à 4000 caractères et, si besoin, une source en https://. Renvoie la référence du signalement.

Corps JSON

{ "page": "/scrutins/17/1144", "description": "…", "source": "https://…" }

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.

La fiche d’un député porte participation : les scrutins publics tenus pendant son mandat hors motions de censure (total), le nombre de chaque position, none pour ceux sans position enregistrée, et solemn pour les scrutins solennels (held, recorded).

Avec group, chaque scrutin de la liste porte groupMembers : ce qu’ont fait les membres du groupe ce jour-là, jamais une position du groupe.

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

Réutilisation

Les réponses portent Access-Control-Allow-Origin: * : une page de n’importe quel site peut appeler l’API depuis le navigateur.

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