API Publique Open Data
Accès libre et gratuit aux données des dépenses publiques françaises soumises par les citoyens sur Nicolas Paie.
Base URL
https://nicoquipaie.co/api/v1Format de réponse
Toutes les réponses suivent la même enveloppe JSON :
{
"data": [ ... ], // Les données demandées
"error": null, // null en cas de succès, objet d'erreur sinon
"meta": {
"requestId": "uuid", // Identifiant unique de la requête
"cursor": "abc...", // Curseur pour la page suivante (si applicable)
"hasMore": true // Indique s'il y a plus de résultats
}
}Endpoints
/api/v1/submissionsListe paginée des dépenses publiques approuvées, avec filtres et tri.
| Paramètre | Type | Requis | Défaut | Description |
|---|---|---|---|---|
| sort | string | Non | new | hot | new | top | amount |
| limit | number | Non | 20 | Nombre de résultats (1-100) |
| cursor | string | Non | - | Curseur de pagination (fourni dans la réponse) |
| category | string | Non | - | Filtrer par catégorie (ex: Défense, Santé) |
| amountMin | number | Non | - | Montant minimum en EUR |
| amountMax | number | Non | - | Montant maximum en EUR |
| dateFrom | string | Non | - | Date de début (ISO 8601) |
| dateTo | string | Non | - | Date de fin (ISO 8601) |
| timeWindow | string | Non | all | today | week | month | all |
Exemple
curl https://nicoquipaie.co/api/v1/submissions?sort=top&limit=5/api/v1/submissions/:idDétail complet d'une soumission : sources, notes communautaires, solutions, calculs de coût.
| Paramètre | Type | Requis | Défaut | Description |
|---|---|---|---|---|
| id | uuid | Oui | - | Identifiant de la soumission |
Exemple
curl https://nicoquipaie.co/api/v1/submissions/{id}/api/v1/submissions/exportExport complet des soumissions approuvées en JSON ou CSV.
| Paramètre | Type | Requis | Défaut | Description |
|---|---|---|---|---|
| format | string | Non | json | json | csv |
| category | string | Non | - | Filtrer par catégorie |
| dateFrom | string | Non | - | Date de début (ISO 8601) |
| dateTo | string | Non | - | Date de fin (ISO 8601) |
Exemple
curl https://nicoquipaie.co/api/v1/submissions/export?format=csv/api/v1/statsStatistiques agrégées : totaux, répartition par catégorie, top 10, évolution temporelle.
Exemple
curl https://nicoquipaie.co/api/v1/stats/api/v1/categoriesListe des 16 catégories de dépenses publiques.
Exemple
curl https://nicoquipaie.co/api/v1/categories/api/v1/searchRecherche dans les titres et descriptions des soumissions.
| Paramètre | Type | Requis | Défaut | Description |
|---|---|---|---|---|
| q | string | Oui | - | Terme de recherche (2-200 caractères) |
| limit | number | Non | 20 | Nombre de résultats (1-100) |
| cursor | string | Non | - | Curseur de pagination |
| category | string | Non | - | Filtrer par catégorie |
Exemple
curl https://nicoquipaie.co/api/v1/search?q=defense&limit=10Pagination
Les endpoints paginés utilisent un système de curseur. Si meta.hasMore est true, passez la valeur de meta.cursor dans le paramètre cursor de la requête suivante.
# Première page curl https://nicoquipaie.co/api/v1/submissions?limit=10 # Page suivante (avec le curseur reçu) curl https://nicoquipaie.co/api/v1/submissions?limit=10&cursor=eyJpZCI6Ii4uLiJ9
Limites d'utilisation
En cas de dépassement, l'API retourne un code HTTP 429. Les réponses incluent des headers de cache pour réduire les appels inutiles.
CORS
L'API accepte les requêtes depuis n'importe quelle origine (Access-Control-Allow-Origin: *). Vous pouvez l'appeler directement depuis le navigateur.
Licence des données
Les données sont mises à disposition sous licence Open Data Commons Attribution (ODC-BY). Vous êtes libre de les utiliser, partager et adapter, à condition de mentionner la source : nicoquipaie.co.
Contact
Questions, suggestions ou projets utilisant l'API ? Ouvrez une issue sur le dépôt GitHub du projet.