● EN COURS
LFI 2026 · Recettes prévues : 6 189 Mds · Dépenses prévues : 7 434 Mds · Tx exécution : 0.0 % · Ministères : 25

Documentation API REST

Accédez aux données budgétaires via notre API JSON publique et gratuite

🚀 Introduction

L'API CDD vous permet d'accéder programmatiquement à toutes les données sur les dépenses publiques du Sénégal. Elle est gratuite, publique et sans limite de requêtes.

✅ Gratuite et Publique

Aucune clé API, aucune inscription. Accès libre et immédiat.

📡 Format JSON

Réponses structurées en JSON, facilement exploitables dans tous les langages.

🔄 Mise à jour quotidienne

Données synchronisées chaque nuit à minuit (état à J-1).

📍 Endpoints Disponibles

GET /api/cdd/depenses

Retourne la liste des dépenses avec filtres optionnels

Paramètres Query String (optionnels)

Paramètre Type Description Exemple
ministere_id integer Filtrer par ID de ministère ?ministere_id=1
programme_id integer Filtrer par ID de programme ?programme_id=5
state string État (engagee, liquidee, ordonnancee, payee) ?state=payee
date_debut date Date de début (YYYY-MM-DD) ?date_debut=2026-01-01
date_fin date Date de fin (YYYY-MM-DD) ?date_fin=2026-12-31
limit integer Nombre de résultats (max 1000, défaut 50) ?limit=100
offset integer Position de départ (pagination) ?offset=50

Exemple de Requête

curl -X GET "https://votre-domaine.sn/api/cdd/depenses?state=payee&limit=10"

Exemple de Réponse

{
  "success": true,
  "count": 10,
  "total": 245,
  "depenses": [
    {
      "id": 42,
      "reference": "DEP-2026-00042",
      "name": "Acquisition de matériel informatique",
      "ministere": {
        "id": 1,
        "code": "MEFP",
        "name": "Ministère de l'Économie, des Finances et du Plan"
      },
      "programme": {
        "id": 3,
        "name": "Modernisation de l'Administration"
      },
      "montant_engage": 50000000.0,
      "montant_paye": 50000000.0,
      "state": "payee",
      "date_engagement": "2026-08-15",
      "date_paiement": "2026-08-29"
    },
    ...
  ]
}
GET /api/cdd/stats

Retourne les statistiques agrégées (KPI, taux d'exécution, délais moyens)

Exemple de Réponse

{
  "success": true,
  "stats": {
    "budget_engage": 1250000000.0,
    "montant_paye": 980000000.0,
    "taux_execution": 78.4,
    "projets_actifs": 156,
    "delai_moyen_paiement": 14.2
  },
  "periode": "30 derniers jours"
}
GET /api/cdd/indices

Retourne les valeurs actuelles des indices IDEP et ITEX avec variations

Exemple de Réponse

{
  "success": true,
  "indices": {
    "idep": {
      "valeur": 112.5,
      "variation": 5.3,
      "base": 100,
      "periode_base": "2026-01"
    },
    "itex": {
      "valeur": 82.4,
      "variation": -2.1,
      "interpretation": "Taux d'exécution acceptable"
    }
  },
  "date_calcul": "2026-08-31"
}

💻 Exemples de Code

🐍 Python

import requests

url = "https://votre-domaine.sn/api/cdd/depenses"
params = {"state": "payee", "limit": 10}

response = requests.get(url, params=params)
data = response.json()

for depense in data["depenses"]:
    print(f"{depense['reference']}: {depense['montant_paye']} FCFA")

🟨 JavaScript

const url = "https://votre-domaine.sn/api/cdd/stats";

fetch(url)
  .then(res => res.json())
  .then(data => {
    console.log("Budget engagé:", data.stats.budget_engage);
    console.log("Taux exécution:", data.stats.taux_execution + "%");
  });

🔧 cURL

curl -X GET \
  "https://votre-domaine.sn/api/cdd/indices" \
  -H "Accept: application/json" | jq

🐘 PHP

📚 Bonnes Pratiques

Cache et Performance

Les données sont mises à jour une fois par jour. Vous pouvez mettre en cache les réponses pendant 24h sans risque de données périmées.

Pagination Efficace

Pour récupérer de gros volumes, utilisez limit et offset. Exemple : limit=100, puis offset=100, 200, 300...

Gestion des Erreurs

Vérifiez toujours le champ "success": true/false dans la réponse. En cas d'erreur, un champ "error" contient le message.

Attribution

Si vous publiez des analyses basées sur ces données, merci de citer la source : "Source : Centre de Données sur les Dépenses Publiques du Sénégal"

Besoin d'aide avec l'API ?

Notre équipe technique peut vous assister dans l'intégration de l'API