Pour les
développeurs.
Accédez aux données de l'Assemblée nationale en JSON. Député·es, scrutins, groupes politiques — mis à jour chaque nuit, sous licence ouverte, gratuitement.
Authentification
Passez votre clé dans le header X-Api-Key, en Authorization: Bearer, ou en query param.
# Header recommandé
curl https://mandat-fr.vercel.app/api/v1/deputes \
-H "X-Api-Key: mk_live_votre_cle"
# Ou Authorization Bearer
curl https://mandat-fr.vercel.app/api/v1/scrutins \
-H "Authorization: Bearer mk_live_votre_cle"
# Ou query param (pratique pour tester)
curl "https://mandat-fr.vercel.app/api/v1/groupes?api_key=mk_live_votre_cle"// JavaScript / TypeScript
const res = await fetch("https://mandat-fr.vercel.app/api/v1/scrutins?limit=10", {
headers: { "X-Api-Key": process.env.MANDAT_API_KEY },
});
const { data, meta } = await res.json();
console.log(data[0].titre);# Python
import requests
headers = {"X-Api-Key": "mk_live_votre_cle"}
res = requests.get(
"https://mandat-fr.vercel.app/api/v1/deputes",
params={"groupe": "LFI", "limit": 20},
headers=headers,
)
print(res.json()["meta"]["total"], "députés")Endpoints
Base URL : https://mandat-fr.vercel.app/api/v1
Rate limiting
Chaque clé est limitée à 60 requêtes par minute. Les limites sont gérées par Unkey, plateforme open source de gestion de clés. Les headers de réponse indiquent votre consommation en temps réel.
HTTP/1.1 200 OK
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
X-RateLimit-Reset: 1720612800
# Si la limite est dépassée :
HTTP/1.1 429 Too Many Requests
Retry-After: 42Sécurité & licence
Licence ouverte
Données sous Licence Ouverte v2.0 (Etalab). Usage non commercial uniquement pour l'API Mandat.
Source officielle
Données provenant de l'AN Open Data, CLAIR et CIVIX. Aucune modification ni interprétation.
Données fraîches
Mise à jour automatique chaque nuit à 3h UTC via GitHub Actions. Statut visible sur /statut.
Obtenir une clé API
Gratuite · 60 req/min · Valide 1 an · Gérée par Unkey
En générant une clé, vous acceptez une utilisation non commerciale des données.