PollsAfrica
Travailler avec nous
Données

API de données publiques sur l’Afrique

Lisez nos titulaires de postes, gouvernements, élections et indicateurs économiques au format JSON. L’offre gratuite est en lecture seule et nécessite une clé. Tout est sous licence CC BY 4,0.

Sur cette page
  1. Aperçu
  2. Authentification
  3. Points de terminaison
  4. Paramètres de requête
  5. Exemple
  6. Limites de débit
  7. Erreurs
  8. Licence et attribution
  9. Citer les données
  10. Obtenir une clé

Aperçu

L’API sert les mêmes données que celles que vous voyez sur PollsAfrica, construites à partir des mêmes fichiers, de sorte qu’une page et l’API ne se contredisent jamais. Les réponses sont en JSON avec une enveloppe fixe : vos lignes sont dans data et la source, la date de mise à jour, la licence et une citation prête à l’emploi sont dans meta.

Si vous avez seulement besoin d’un fichier, les Téléchargements CSV et JSON ouverts ne nécessitent aucune clé. L’API est destinée au code qui souhaite des lignes filtrées et paginées ou une adresse stable pour chaque ressource.

Adresse de base : https://pollsafrica.com/api/v1

Authentification

Envoyez votre clé dans l’en-tête Authorization. L’en-tête X-API-Key fonctionne aussi. Les clés ne figurent jamais dans l’adresse, elles restent donc hors des journaux et des liens partagés.

curl -H "Authorization: Bearer YOUR_KEY" \
  "https://pollsafrica.com/api/v1/offices?country=ghana"

Une requête sans clé reçoit 401 et un message indiquant où trouver une clé et où se trouvent les fichiers ouverts. Seule la liste des points de terminaison à /api/v1 répond sans clé. Nous avons choisi cette solution plutôt qu’un quota anonyme parce que les fichiers JSON ouverts couvrent déjà l’utilisation anonyme sans aucune limite à gérer.

Points de terminaison

Tous les points de terminaison utilisent GET. Les navigateurs peuvent aussi les appeler : les requêtes inter-origines sont autorisées.

CheminRendements
/api/v1La liste des points de terminaison. Ouverte, aucune clé nécessaire.
/api/v1/countriesPays dans le répertoire des gouvernements, avec le nombre de postes et de ministres.
/api/v1/officesTitulaires de postes nationaux, une ligne par poste.
/api/v1/cabinetsMinistres par portefeuille, une ligne par ministre.
/api/v1/electionsÉlections nationales passées et à venir, une ligne par élection.
/api/v1/indicatorsLes jeux de données des indicateurs : économie, budgets, prix du carburant, salaire minimum, jours fériés, constitutions et indices.
/api/v1/indicators/{id}Lignes d’un jeu de données d’indicateur.
/api/v1/datasetsChaque jeu de données servi par l’API, avec sa date de dernière mise à jour.
/api/v1/datasets/{id}Lignes de tout jeu de données par id.

Les identifiants des jeux de données et des indicateurs sont listés sur /api/v1/datasets. Ils correspondent aux noms de fichiers sur la page page de données.

Paramètres de requête

  • country : l’identifiant du pays, comme ghana, ou le nom du pays. Fonctionne avec tout jeu de données contenant une colonne pays.
  • limit : lignes par page. La valeur par défaut est 100 et le maximum que vous pouvez demander est 1 000.
  • offset : nombre de lignes à ignorer. meta.next contient l’adresse de la page suivante, ou null sur la dernière page.
  • Tout nom de colonne, par exemple status=upcoming sur les élections, ne conserve que les lignes dont la valeur est exactement celle-ci.

Exemple

curl -H "Authorization: Bearer YOUR_KEY" \
  "https://pollsafrica.com/api/v1/elections?limit=1"
{
  "data": [
    {
      "id": "nigeria-0",
      "country": "Nigeria",
      "label": "Presidential election",
      "date": "2015-03-28",
      "status": "held",
      "source_url": "https://www.inecnigeria.org"
    }
  ],
  "meta": {
    "source": "https://pollsafrica.com/elections",
    "updated": "2026-10-21",
    "licence": "CC BY 4.0",
    "licence_url": "https://creativecommons.org/licenses/by/4.0/",
    "cite": "PollsAfrica (year). Elections. Retrieved ... from https://pollsafrica.com/elections",
    "dataset": "elections",
    "total": 126,
    "limit": 100,
    "offset": 0
  }
}

Limites de débit

Le niveau gratuit autorise 1 000 requêtes par clé et par jour. Le compteur se réinitialise à 00:00 UTC. Chaque réponse comporte X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset (un temps Unix). Au-delà de la limite, vous recevez 429 avec un en-tête Retry-After en secondes. Mettez en cache ce que vous récupérez : les données changent selon le calendrier indiqué sur la page de données, pas d’une minute à l’autre.

Erreurs

Les erreurs ont une structure commune, et le statut HTTP indique la classe de problème.

{ "error": { "code": "missing_key", "message": "..." }, "meta": { "docs": "https://pollsafrica.com/developers" } }
StatutCodeSignification
401missing_key, invalid_key, revoked_keyAucune clé, clé inconnue ou clé que nous avons désactivée.
404not_foundChemin, jeu de données ou identifiant d’indicateur inconnu.
429rate_limitedLa limite quotidienne est épuisée.
503unavailableNous n’avons pas pu vérifier votre clé pour le moment. Réessayez dans un instant.

Licence et attribution

Les données sont libres d’utilisation, de partage et d’adaptation, y compris à des fins commerciales, sous CC BY 4.0, à condition de créditer PollsAfrica et d’indiquer si vous les avez modifiées. Chaque réponse inclut la licence et une citation dans meta. Veuillez afficher ce crédit là où vos lecteurs voient les données.

Citer les données

Utilisez meta.cite tel qu’écrit. Il indique le jeu de données, l’année de sa dernière mise à jour et la page qui l’explique. Lorsqu’une version d’un jeu de données possède un DOI, la citation utilise le lien DOI au lieu de l’adresse de la page. Pour citer une question d’enquête, utilisez la ligne sous cette question dans la banque de questions.

Obtenir une clé

Indiquez-nous ce que vous construisez sur le Demande d’accès API. Nous lisons chaque demande et envoyons une clé à l’adresse e-mail que vous fournissez. Les clés sont gratuites. Chaque clé vous est personnelle : si l’une d’elles fuit, prévenez-nous et nous la désactiverons le jour même.