CLAIR DocsCLAIR Docs
  • clair.vote
  • GitHub
  • Nous soutenir
Nous soutenir
  • Accueil
  • Plateforme & Guide
  • Données & Base de Données
  • Explorateur API
CLAIR

Plateforme citoyenne de transparence politique. Données 100% publiques, 0% d'opinion.

Explorer

  • Députés
  • Sénateurs
  • Groupes politiques
  • Sujets
  • Dossiers législatifs
  • Scrutins
  • Agenda
  • Lobbying

Ressources

  • Nous soutenir
  • À propos
  • Méthodologie
  • Contact
  • Comprendre
  • Guide pratique
  • API ouverte

Légal

  • Mentions légales
  • Confidentialité
  • CGU

© 2026 CLAIR. Sources : Assemblée nationale · Sénat · HATVP · Ministère de l'Intérieur · DILA

Vue d'ensembleStack TechniqueVision & Valeurs
Référence API
    Vue d'ensembleLimites & CacheDossiers & AmendementsExemples de CodeLobbying HATVPParlementairesScrutins & Votes
Guide Développeur
    Guide ContributeurContribution & NormesDémarrage LocalDéploiement Production
Référence API

Exemples d'Intégration de l'API

💻 Snippets Multi-Langages

cURL

TerminalCode
# Récupérer les 10 derniers scrutins de l'Assemblée nationale curl -X GET "https://api.clair.vote/api/v1/scrutins?chambre=assemblee&limit=10" \ -H "User-Agent: MonAppCitoyenne/1.0" \ -H "Accept: application/json"

TypeScript (Fetch)

Code
interface Scrutin { id: string; numero: number; titre: string; sort: string; } async function getDerniersScrutins(): Promise<Scrutin[]> { const res = await fetch("https://api.clair.vote/api/v1/scrutins?limit=10", { headers: { "User-Agent": "MonAppCivique/1.0 (contact@monprojet.org)", }, }); if (!res.ok) { throw new Error(`Erreur HTTP: ${res.status}`); } const data = await res.json(); return data.data; } getDerniersScrutins().then(console.log);

Python (requests)

Code
import requests url = "https://api.clair.vote/api/v1/parlementaires" params = {"chambre": "assemblee", "limit": 5} headers = {"User-Agent": "EtudeParlementairePython/1.0"} response = requests.get(url, params=params, headers=headers) response.raise_for_status() deputes = response.json() for d in deputes.get("data", []): groupe = d.get("groupe") groupe_nom = groupe["nom"] if groupe else "Non-inscrit" print(f"{d['prenom']} {d['nom']} - Groupe: {groupe_nom}")

Go

Code
package main import ( "encoding/json" "fmt" "net/http" ) func main() { client := &http.Client{} req, _ := http.NewRequest("GET", "https://api.clair.vote/health", nil) req.Header.Set("User-Agent", "GoCivicBot/1.0") resp, err := client.Do(req) if err != nil { panic(err) } defer resp.Body.Close() var result map[string]interface{} json.NewDecoder(resp.Body).Decode(&result) fmt.Println("API Health:", result) }
Dossiers & AmendementsLobbying HATVP
On this page
  • 💻 Snippets Multi-Langages
    • cURL
    • TypeScript (Fetch)
    • Python (requests)
    • Go
TypeScript
Go