Aller au contenu principal
PoligraphPoligraph
StatistiquesPolitiquesAffairesProgrammesParlement

À propos

Observatoire citoyen de la vie politique. Données publiques, fact-checking et regard indépendant.

Représentants

  • Tous les représentants
  • Partis politiques
  • Affaires judiciaires
  • Élections
  • Municipales 2026
  • Mon député
  • Comparer
  • Fact-checks

Parlement

  • Travail parlementaire
  • Dossiers législatifs
  • Patrimoine & déclarations
  • Statistiques

Explorer

  • Le Recap
  • Programmes
  • Revue de presse
  • Départements
  • Recherche
  • Mon Observatoire

Le projet

  • Assistant IA
  • Sources et principes
  • Méthodologie
  • API
  • Nous soutenir
  • Mentions légales

Sources

  • Assemblée nationale(ouvre un nouvel onglet)
  • Sénat(ouvre un nouvel onglet)
  • HATVP(ouvre un nouvel onglet)
  • Wikidata(ouvre un nouvel onglet)
  • Parlement européen(ouvre un nouvel onglet)
  • Google Fact Check(ouvre un nouvel onglet)
  • Datan(ouvre un nouvel onglet)

Flux RSS

  • Affaires
  • Votes
  • Fact-checks
  • ⚖La présomption d'innocence s'applique à toute personne mentionnée dans le cadre d'une procédure judiciaire en cours.
  • ⚠Les données présentées peuvent être incomplètes. L'absence d'information ne préjuge pas de la réalité.
  • ⚙Certains résumés sont générés automatiquement à partir de sources publiques.
  • ℹCe site est un outil d'information citoyenne et ne constitue pas une source juridique.
X (Twitter) (ouvre un nouvel onglet)Bluesky (ouvre un nouvel onglet)Instagram (ouvre un nouvel onglet)GitHub (ouvre un nouvel onglet)
Signaler une erreur(ouvre un nouvel onglet)

Documentation API

Données ouvertes Poligraph

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.

QuickstartExports CSVPaginationpoligraphIdDictionnaireRègles éditorialesLicenceExplorateur Swagger

Quickstart

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")

Exports CSV

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é.

Affaires judiciaires

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=10000

Politiques

Identité, genre, parti + position politique, mandat en cours, département, prominence, Q-ID Wikidata pour croisement inter-jeux.

/api/export/politiques

Fact-checks

Dénormalisé par politique mentionné (une ligne par paire). Filtres : verdict, source, politicianSlug.

/api/export/factchecks?limit=10000
Paramètres communs : limit (max 50 000), filtres spécifiques documentés dans chaque endpoint Swagger ci-dessous.

Pagination JSON

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.

poligraphId — identifiants stables pour citation

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

PGPoliticien
AFAffaire
FCFact-check
SCScrutin
PTParti
ELÉlection
MAMandat
DODossier législatif
GPGroupe parlementaire
LMListe municipale

Format : 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"),
)

Dictionnaire des données

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.

Statuts judiciaires (statusCode)

État de l'affaire dans le processus judiciaire.

CodeLibellé
ENQUETE_PRELIMINAIREEnquête préliminaire
INSTRUCTIONInstruction en cours
MISE_EN_EXAMENMise en examen
RENVOI_TRIBUNALRenvoi devant le tribunal
PROCES_EN_COURSProcès en cours
CONDAMNATION_PREMIERE_INSTANCECondamnation (1ère instance)
APPEL_EN_COURSAppel en cours
CONDAMNATION_DEFINITIVECondamnation définitive
RELAXERelaxe
ACQUITTEMENTAcquittement
NON_LIEUNon-lieu
PRESCRIPTIONPrescription
CLASSEMENT_SANS_SUITEClassement sans suite

Catégories d'affaires (categoryCode)

Type d'infraction principal.

CodeLibellé
CORRUPTIONCorruption
CORRUPTION_PASSIVECorruption passive
TRAFIC_INFLUENCETrafic d'influence
PRISE_ILLEGALE_INTERETSPrise illégale d'intérêts
FAVORITISMEFavoritisme
DETOURNEMENT_FONDS_PUBLICSDétournement de fonds publics
FRAUDE_FISCALEFraude fiscale
BLANCHIMENTBlanchiment
ABUS_BIENS_SOCIAUXAbus de biens sociaux
ABUS_CONFIANCEAbus de confiance
EMPLOI_FICTIFEmploi fictif
FINANCEMENT_ILLEGAL_CAMPAGNEFinancement illégal de campagne
FINANCEMENT_ILLEGAL_PARTIFinancement illégal de parti
HARCELEMENT_MORALHarcèlement moral
HARCELEMENT_SEXUELHarcèlement sexuel
AGRESSION_SEXUELLEAgression sexuelle
VIOLENCEViolence
MENACEMenace
DIFFAMATIONDiffamation
INJUREInjure
INCITATION_HAINEIncitation à la haine
FAUX_ET_USAGE_FAUXFaux et usage de faux
RECELRecel
CONFLIT_INTERETSConflit d'intérêts
AUTREAutre

Gravité Sapin II (severityCode)

Hiérarchie inspirée de la loi Sapin II. Voir /sources pour la méthodologie.

CodeLibellé
CRITIQUECritique
GRAVEGrave
SIGNIFICATIFSignificatif

Implication (involvementCode)

Rôle du politique dans l'affaire. Par défaut l'API filtre sur DIRECT.

CodeLibellé
DIRECTMis en cause
INDIRECTTémoin/Secondaire
MENTIONED_ONLYMentionné
VICTIMVictime
PLAINTIFFPlaignant

Verdict fact-check (verdictRatingCode)

Note normalisée Google Fact Check Tools.

CodeLibellé
TRUEVrai
MOSTLY_TRUEPlutôt vrai
HALF_TRUEPartiellement vrai
MISLEADINGTrompeur
OUT_OF_CONTEXTHors contexte
MOSTLY_FALSEPlutôt faux
FALSEFaux
UNVERIFIABLEInvérifiable

Position politique (parti)

Classification du parti sur l'axe gauche-droite.

CodeLibellé
FAR_LEFTExtrême gauche
LEFTGauche
CENTER_LEFTCentre gauche
CENTERCentre
CENTER_RIGHTCentre droit
RIGHTDroite
FAR_RIGHTExtrême droite

Types de mandat (mandateType)

Tous les types d'élus indexés.

CodeLibellé
DEPUTEDéputé
SENATEURSénateur
DEPUTE_EUROPEENDéputé européen
PRESIDENT_REPUBLIQUEPrésident de la République
PREMIER_MINISTREPremier ministre
MINISTREMinistre
SECRETAIRE_ETATSecrétaire d'État
MINISTRE_DELEGUEMinistre délégué
PRESIDENT_REGIONPrésident de région
VICE_PRESIDENT_REGIONVice-président du conseil régional
PRESIDENT_DEPARTEMENTPrésident de département
VICE_PRESIDENT_DEPARTEMENTVice-président du conseil départemental
MAIREMaire
ADJOINT_MAIREAdjoint au maire
CONSEILLER_REGIONALConseiller régional
CONSEILLER_DEPARTEMENTALConseiller départemental
CONSEILLER_MUNICIPALConseiller municipal
PRESIDENT_PARTIDirigeant(e) de parti
OTHERAutre mandat

Règles éditoriales à connaître avant d'analyser

  • Présomption d'innocence. Les affaires en cours sont signalées avec un niveau d'implication conservateur par défaut. Filtrez par statusCode=CONDAMNATION_DEFINITIVE si vous voulez isoler les condamnations définitives.
  • Gravité Sapin II. La colonne severity classe les infractions selon la spécificité au mandat (probité > infractions graves > autres), pas selon un jugement moral.
  • Implication par défaut. Les routes JSON filtrent par défaut sur involvement=DIRECT. Passez involvement=DIRECT,MENTIONED_ONLY,SUSPECTED pour élargir.
  • Sources vérifiées. Chaque affaire publiée a au moins une source journalistique vérifiable. La colonne sourceCount donne le nombre total, sourceUrl la première.

Méthodologie complète : /sources

Licence et citation

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.

Explorateur Swagger complet

Spécification OpenAPI interactive : testez chaque route directement depuis le navigateur, voyez les paramètres et les schémas de réponse.

Afficher l'explorateur interactif