Documentation API
Affaires judiciaires, politiques, fact-checks, votes parlementaires et élections. Tout ce que le site affiche est accessible en JSON et en CSV, sans clé API, pour vos recherches, cours et analyses.
Les trois exemples ci-dessous récupèrent les 260 affaires judiciaires publiées. Pour un usage pédagogique ou statistique, commencez par les exports CSV : ils contiennent tout en un seul fichier, correctement paginé, avec le poligraphId comme clé de jointure stable.
import requests
import pandas as pd
# Option 1: télécharger l'export CSV complet (recommandé pour l'analyse)
df = pd.read_csv("https://poligraph.fr/api/export/affaires?limit=10000")
print(df.shape, df["severityCode"].value_counts())
# Option 2: pagination de l'API JSON (10 000 max par page)
rows, page = [], 1
while True:
r = requests.get(
"https://poligraph.fr/api/affaires",
params={"limit": 100, "page": page, "involvement": "DIRECT,MENTIONED_ONLY"},
timeout=30,
).json()
rows.extend(r["data"])
if page >= r["pagination"]["totalPages"]:
break
page += 1
print(f"Total: {len(rows)} affaires")
Fichiers UTF-8 avec BOM (compatibles Excel et pandas), toutes les colonnes dénormalisées, jusqu'à 50 000 lignes par requête. Les descriptions sont nettoyées du markdown. Chaque ligne contient un poligraphId stable (voir ci-dessous) pour joindre plusieurs tables sans ambiguïté.
40 colonnes : parti au moment des faits, gravité Sapin II, peine détaillée (amende, prison, inéligibilité), ECLI, description complète.
/api/export/affaires?limit=10000Identité, genre, parti + position politique, mandat en cours, département, prominence, Q-ID Wikidata pour croisement inter-jeux.
/api/export/politiquesDénormalisé par politique mentionné (une ligne par paire). Filtres : verdict, source, politicianSlug.
/api/export/factchecks?limit=10000limit (max 50 000), filtres spécifiques documentés dans chaque endpoint Swagger ci-dessous.Toutes les routes JSON paginent à 20 résultats par défaut, avec un maximum de 100 par page. La réponse contient toujours un objet pagination pour savoir quand arrêter la boucle :
{
"data": [ /* ... */ ],
"pagination": {
"page": 1,
"limit": 100,
"total": 260,
"totalPages": 3
}
}Pour les volumes importants (plus de quelques centaines de lignes), préférez les exports CSV ci-dessus : une seule requête au lieu de N, et Cache-Control optimisé côté serveur.
Chaque entité citable reçoit un identifiant opaque, court et immuable que vous pouvez utiliser dans un article scientifique, un notebook, un export CSV ou un lien entrant. Contrairement aux slugs (qui peuvent changer si un titre est corrigé ou un nom mis à jour), le poligraphId est garanti stable dans le temps.
Préfixes
PGPoliticienAFAffaireFCFact-checkSCScrutinPTPartiELÉlectionMAMandatDODossier législatifGPGroupe parlementaireLMListe municipaleFormat : XX-000542 (deux lettres, tiret, entier sur 6 chiffres minimum). Tout poligraphId est résoluble via un redirect 308 permanent qui suit les fusions d'affaires, pour que vos citations externes ne cassent jamais :
# URL canonique citable dans un article
https://poligraph.fr/id/AF-000042
# Exemple d'une jointure côté pandas
affaires = pd.read_csv("https://poligraph.fr/api/export/affaires?limit=10000")
politiques = pd.read_csv("https://poligraph.fr/api/export/politiques")
join = affaires.merge(
politiques,
left_on="politicianPoligraphId",
right_on="poligraphId",
suffixes=("_affaire", "_pol"),
)Les colonnes XxxCode des exports CSV contiennent les valeurs brutes des énumérations ci-dessous (stables et filtrables), tandis que les colonnes sans suffixe contiennent la traduction française lisible.
État de l'affaire dans le processus judiciaire.
| Code | Libellé |
|---|---|
| ENQUETE_PRELIMINAIRE | Enquête préliminaire |
| INSTRUCTION | Instruction en cours |
| MISE_EN_EXAMEN | Mise en examen |
| RENVOI_TRIBUNAL | Renvoi devant le tribunal |
| PROCES_EN_COURS | Procès en cours |
| CONDAMNATION_PREMIERE_INSTANCE | Condamnation (1ère instance) |
| APPEL_EN_COURS | Appel en cours |
| CONDAMNATION_DEFINITIVE | Condamnation définitive |
| RELAXE | Relaxe |
| ACQUITTEMENT | Acquittement |
| NON_LIEU | Non-lieu |
| PRESCRIPTION | Prescription |
| CLASSEMENT_SANS_SUITE | Classement sans suite |
Type d'infraction principal.
| Code | Libellé |
|---|---|
| CORRUPTION | Corruption |
| CORRUPTION_PASSIVE | Corruption passive |
| TRAFIC_INFLUENCE | Trafic d'influence |
| PRISE_ILLEGALE_INTERETS | Prise illégale d'intérêts |
| FAVORITISME | Favoritisme |
| DETOURNEMENT_FONDS_PUBLICS | Détournement de fonds publics |
| FRAUDE_FISCALE | Fraude fiscale |
| BLANCHIMENT | Blanchiment |
| ABUS_BIENS_SOCIAUX | Abus de biens sociaux |
| ABUS_CONFIANCE | Abus de confiance |
| EMPLOI_FICTIF | Emploi fictif |
| FINANCEMENT_ILLEGAL_CAMPAGNE | Financement illégal de campagne |
| FINANCEMENT_ILLEGAL_PARTI | Financement illégal de parti |
| HARCELEMENT_MORAL | Harcèlement moral |
| HARCELEMENT_SEXUEL | Harcèlement sexuel |
| AGRESSION_SEXUELLE | Agression sexuelle |
| VIOLENCE | Violence |
| MENACE | Menace |
| DIFFAMATION | Diffamation |
| INJURE | Injure |
| INCITATION_HAINE | Incitation à la haine |
| FAUX_ET_USAGE_FAUX | Faux et usage de faux |
| RECEL | Recel |
| CONFLIT_INTERETS | Conflit d'intérêts |
| AUTRE | Autre |
Hiérarchie inspirée de la loi Sapin II. Voir /sources pour la méthodologie.
| Code | Libellé |
|---|---|
| CRITIQUE | Critique |
| GRAVE | Grave |
| SIGNIFICATIF | Significatif |
Rôle du politique dans l'affaire. Par défaut l'API filtre sur DIRECT.
| Code | Libellé |
|---|---|
| DIRECT | Mis en cause |
| INDIRECT | Témoin/Secondaire |
| MENTIONED_ONLY | Mentionné |
| VICTIM | Victime |
| PLAINTIFF | Plaignant |
Note normalisée Google Fact Check Tools.
| Code | Libellé |
|---|---|
| TRUE | Vrai |
| MOSTLY_TRUE | Plutôt vrai |
| HALF_TRUE | Partiellement vrai |
| MISLEADING | Trompeur |
| OUT_OF_CONTEXT | Hors contexte |
| MOSTLY_FALSE | Plutôt faux |
| FALSE | Faux |
| UNVERIFIABLE | Invérifiable |
Classification du parti sur l'axe gauche-droite.
| Code | Libellé |
|---|---|
| FAR_LEFT | Extrême gauche |
| LEFT | Gauche |
| CENTER_LEFT | Centre gauche |
| CENTER | Centre |
| CENTER_RIGHT | Centre droit |
| RIGHT | Droite |
| FAR_RIGHT | Extrême droite |
Tous les types d'élus indexés.
| Code | Libellé |
|---|---|
| DEPUTE | Député |
| SENATEUR | Sénateur |
| DEPUTE_EUROPEEN | Député européen |
| PRESIDENT_REPUBLIQUE | Président de la République |
| PREMIER_MINISTRE | Premier ministre |
| MINISTRE | Ministre |
| SECRETAIRE_ETAT | Secrétaire d'État |
| MINISTRE_DELEGUE | Ministre délégué |
| PRESIDENT_REGION | Président de région |
| VICE_PRESIDENT_REGION | Vice-président du conseil régional |
| PRESIDENT_DEPARTEMENT | Président de département |
| VICE_PRESIDENT_DEPARTEMENT | Vice-président du conseil départemental |
| MAIRE | Maire |
| ADJOINT_MAIRE | Adjoint au maire |
| CONSEILLER_REGIONAL | Conseiller régional |
| CONSEILLER_DEPARTEMENTAL | Conseiller départemental |
| CONSEILLER_MUNICIPAL | Conseiller municipal |
| PRESIDENT_PARTI | Dirigeant(e) de parti |
| OTHER | Autre mandat |
statusCode=CONDAMNATION_DEFINITIVE si vous voulez isoler les condamnations définitives.severity classe les infractions selon la spécificité au mandat (probité > infractions graves > autres), pas selon un jugement moral.involvement=DIRECT. Passez involvement=DIRECT,MENTIONED_ONLY,SUSPECTED pour élargir.sourceCount donne le nombre total, sourceUrl la première.Méthodologie complète : /sources
Les données publiées sont réutilisables pour des usages pédagogiques, journalistiques et de recherche avec citation de la source. Format recommandé pour un article ou un rapport :
Poligraph, observatoire civique des politiques français, poligraph.fr, consulté le 13/04/2026.
Pour signaler une erreur ou demander l'exercice d'un droit (correction, opposition) : nous contacter.
Spécification OpenAPI interactive : testez chaque route directement depuis le navigateur, voyez les paramètres et les schémas de réponse.