Le Guide Ultime : public-apis/public-apis
avril 2026 · 6 min de lecture
Le dépôt GitHub public-apis/public-apis est l'un des dépôts les plus célèbres de la communauté open source (+400 000 étoiles). C'est un annuaire maintenu par la communauté regroupant des milliers d'API HTTP gratauitement accessibles pour les développeurs web et logiciels.
Ce guide complet vous aidera à comprendre comment l'utiliser, comment choisir la bonne API, et comment éviter les pièges classiques lors de leur intégration dans vos projets.
🚀 1. Pourquoi utiliser public-apis ?
Ce repo est l'outil indispensable pour :
- Les développeurs Front-End (React, Vue, Angular) : Construire des applications avec de la vraie donnée dynamique sans avoir à coder un serveur ou une base de données.
- Les créateurs de Portfolios : Remplir son GitHub de projets concrets (Météo, Pokedex, Netflix Clone, Dashboard Crypto).
- Les Hackathons : Trouver des sources de données instantanées pour prototyper rapidement.
- L'apprentissage de l'écosystème HTTP : Pratiquer les verbes HTTP (GET, POST), le parsing JSON, les
PromisesJavaScript (fetch,async/await), et la gestion des erreurs.
🛠️ 2. Décortiquer le Tableau d'Analyse
Chaque API est classée par catégorie (Animals, Blockchain, Books, etc.) et présentée via un tableau à 5 colonnes cruciales à vérifier avant de commencer à coder.
| Colonne | Ce que cela signifie | Conseil pour les débutants |
|---|---|---|
| API | Nom et lien vers la documentation officielle. | Lisez bien la doc, c'est là que vous trouverez les "Endpoints" (les URL exactes à appeler). |
| Description | Résumé de l'utilité de l'API. | Choisissez quelque chose qui vous motive (ex: Données Spatiales de la NASA). |
| Auth | Type d'authentification requise (apiKey, OAuth, ou No). |
Privilégiez No pour un prototype en 5 minutes. apiKey demandera de créer un compte gratuit. |
| HTTPS | Si l'API utilise un certificat SSL/TLS (Yes / No). |
Toujours choisir Yes. Si votre site est hébergé en HTTPS (Vercel, Netlify), il bloquera les requêtes vers des API en HTTP (erreur Mixed Content). |
| CORS | Cross-Origin Resource Sharing. Accepte les requêtes depuis un navigateur (Yes, No, Unknown). |
Crucial : Si l'API indique No, vous ne pourrez pas l'appeler directement depuis votre Front-end (React/JS natif) sur un autre domaine d'origine. Il faudra un backend intermédiaire. Cherchez du Yes ! |
🏆 3. Le "Hall of Fame" des API par catégorie
Voici les API les plus fiables et intéressantes pour créer des projets complets, avec des exemples d'appels :
🎬 A. Films & Séries (Divertissement)
- The Movie Database (TMDB) : L'API de référence ultime.
- Idée de projet : Un clone de Netflix ou Allociné.
- Spécificité : Nécessite une
apiKeyd'inscription. Donne accès aux affiches géantes, notes, bandes-annonces...
- Jikan : L'API MyAnimeList.
- Idée de projet : Un traqueur de sorties d'animés.
👾 B. Jeux-vidéos & Culture Geek
- PokéAPI : Toutes les données Pokémon imaginables.
- Idée de projet : Un Pokedex interactif avec React.
- Snippet (Exemple de code) :
fetch('https://pokeapi.co/api/v2/pokemon/pikachu') .then(res => res.json()) .then(data => console.log(data.sprites.front_default));
- Rick and Morty API : Tous les personnages, épisodes et lieux.
💰 C. Finance & Crypto-monnaies
- CoinGecko : Données cryptos sans clé API (
Auth: No).- Idée de projet : Un dashboard financier en temps réel.
- ExchangeRate-API : Taux de conversion de devises fiables.
🌤️ D. Données Utilitaires (Pratique quotidienne)
- OpenWeatherMap (Clé API requise) / Open-Meteo (Sans clé API).
- Idée de projet : Application météo avec géolocalisation.
- REST Countries : Obtenir infos (drapeau, map, nom complet) sur tous les pays.
- Idée de projet : Un quiz de géographie.
😂 E. APIs "Fun" & Factices (Pour s'entraîner)
- JSONPlaceholder : De fausses données (Fake REST API) d'un réseau social. Parfait pour tester le CRUD (Créer, Lire, Mettre à jour, Supprimer).
- The Dog API / The Cat API : Des images d'animaux mignonnes à l'infini.
🚧 4. Les 3 Pièges classiques et comment les éviter
Piège 1 : L'erreur "CORS policy" (Cors Error)
Le problème : Votre navigateur (sur localhost ou votre nom de domaine) bloque la requête car le créateur de l'API refuse de servir des données à des sites tiers non autorisés.
La solution :
- Choisissez une API marquée
CORS: Yesdans le tableau Github. - Si vous devez absolument utiliser une API sans CORS, utilisez un proxy comme
https://corsproxy.io/?devant l'URL. Ex :fetch('https://corsproxy.io/?' + encodeURIComponent('https://api-sans-cors.com/data'))
Piège 2 : Le "Rate Limiting" (Erreur HTTP 429)
Le problème : L'API est gratuite, mais vous ne pouvez faire que (par exemple) 100 requêtes par heure. Si vous en faites plus, elle vous bloque temporairement en renvoyant une erreur 429 Too Many Requests.
La solution :
- Lisez la documentation pour connaître la limite.
- Évitez de placer vos
fetch()dans des boucles infinies ou desuseEffectmal configurés en React. - Gérez l'erreur proprement dans l'UI :
if (response.status === 429) { alert("Molo l'asticot, limite atteinte. Réessaie plus tard !"); }
Piège 3 : Les clés API (API Keys) exposées
Le problème : Vous mettez votre clé API en clair dans votre fichier JS et vous poussez le tout sur GitHub. Des bots la volent (même sur une API gratuite).
La solution :
Utilisez un fichier d'environnement (ex: .env pour React/Vite) :
# .env
VITE_TMDB_API_KEY=ma_cle_secrete_1234
Et assurez-vous d'ajouter .env dans votre fichier .gitignore.
🚀 5. Architecture d'un projet type avec une API Publique
Pour démarrer un portfolio pro, voici la stack recommandée :
- Initialisation :
npm create vite@latest mon-app -- --template react - Setup Styling : Installez Tailwind CSS pour aller vite.
- Le Fetch Logic : Créez un dossier
src/services/avec un fichierapi.jsdédié aux requêtesfetch(pour séparer les données des composants React). - Gestion du statut : Pensez toujours à avoir trois états (Loading
true/false, Data[], Errornull).
🤝 6. Comment Contribuer au dépôt ?
Vous avez créé une API ouverte au public (ex: Liste des boulangeries de votre ville) ? Vous pouvez la rajouter à cette liste colossale :
Forkle dépôtpublic-apis.- Lisez le
CONTRIBUTING.md. L'outil va exiger un ordonnancement alphabétique strict. - Ajoutez votre ligne de tableau.
- Soumettez une
Pull Request (PR). Des mainteneurs valideront votre soumission après quelques jours.
Fin du guide. Parfait pour se lancer dans la création d'applications Front-End connectées au monde réel !