API c’est quoi ? Définition, requêtes, REST et exemples à tester (2026)
API c’est quoi, en une phrase ? Une API (Application Programming Interface, en français interface de programmation) est un ensemble de règles qui permet à un logiciel de demander quelque chose à un autre logiciel et de recevoir une réponse dans un format prévu à l’avance. La météo de votre téléphone, le paiement sur un site marchand et la carte d’un site immobilier passent tous par des API.
La plupart des pages françaises sur le sujet restent abstraites. Ici, les requêtes ont été exécutées avec curl le 5 novembre 2026, et les réponses affichées sont celles reçues, raccourcies.
Points clés
- Une API est un contrat entre deux logiciels : quoi demander, sous quelle forme, et ce qu’on recevra.
- Une requête d’API web contient une méthode, une adresse, des en-têtes et parfois un corps ; la réponse, un code de statut et souvent du JSON.
- REST domine : 93 % des répondants de l’enquête 2025 de Postman, éditeur d’outils pour API, l’utilisent, devant les webhooks (50 %) et GraphQL (33 %).
- Les API protégées exigent une clé ou un jeton ; les API ouvertes limitent les appels, par exemple 60 par heure et par adresse IP sans authentification chez GitHub.
- Les modèles d’IA s’utilisent par API, et le protocole MCP standardise la façon dont une IA appelle vos outils.
API c’est quoi : la définition en clair
Une API décrit ce qu’un programme accepte de faire pour un autre programme, et comment le lui demander. Le mot important est « interface » : la frontière entre deux logiciels. D’un côté, celui qui appelle (le client) ; de l’autre, celui qui répond (un serveur, une bibliothèque ou le système d’exploitation).
L’analogie de la prise électrique. Pour brancher une lampe, vous n’avez pas besoin de savoir comment fonctionne la centrale : il suffit que la prise respecte une forme et une tension connues. Une API joue ce rôle. Elle fixe la forme de l’échange et cache tout le reste.
Ce qu’une API apporte, concrètement :
- Réutiliser au lieu de refaire. Un site de location n’écrit pas son propre service de cartes, il appelle celui d’un spécialiste.
- Séparer les équipes. L’application mobile et le serveur évoluent chacun de leur côté tant que le contrat ne change pas.
- Contrôler l’accès. L’éditeur expose seulement ce qu’il veut, à qui il veut, au rythme qu’il fixe.
Une API n’est pas un logiciel que l’on installe : c’est une description, servie par un programme qui la respecte.
Requête et réponse : comment fonctionne une API web
Une API web s’utilise par des messages HTTP, le protocole de votre navigateur. Le client envoie une requête, le serveur renvoie une réponse. Le sens de ces messages est fixé par la RFC 9110 de l’IETF, « HTTP Semantics », publiée en 2022.

Une requête contient quatre éléments :
- La méthode, qui dit l’intention :
GETpour lire,POSTpour créer,PUTouPATCHpour modifier,DELETEpour supprimer. - L’adresse (URL). La partie qui désigne une ressource précise s’appelle un endpoint, par exemple
/users/octocat. Les paramètres après le?affinent la requête. - Les en-têtes (headers) : format accepté, clé d’authentification, version de l’API.
- Le corps (body), facultatif, qui transporte les données envoyées, le plus souvent en JSON, un format texte normalisé par la RFC 8259.
La réponse a la même structure, avec en tête un code de statut à trois chiffres. Le premier chiffre suffit pour savoir ce qui s’est passé :
| Famille | Sens | Exemples courants |
|---|---|---|
| 2xx | Succès | 200 OK, 201 Created, 204 No Content |
| 3xx | Redirection | 301 Moved Permanently, 304 Not Modified |
| 4xx | Erreur du client | 400 Bad Request, 401 Unauthorized, 404 Not Found, 429 Too Many Requests |
| 5xx | Erreur du serveur | 500 Internal Server Error, 503 Service Unavailable |
Ces codes viennent de la RFC 9110, sauf 429, défini par la RFC 6585. La référence de MDN les détaille en français. Règle pratique : un 4xx signifie que la requête est à corriger, un 5xx que le problème est chez le fournisseur.
Essayez maintenant : trois API publiques sans compte
Les trois API ci-dessous répondent sans inscription ni clé. Il suffit d’un terminal avec curl, présent sur macOS, sur la plupart des distributions Linux et, selon Microsoft, inclus avec Windows. Les sorties sont celles obtenues le 5 novembre 2026 sous Git Bash.
Sous Windows, tapez curl.exe au lieu de curl dans PowerShell : dans Windows PowerShell 5.1, curl est un alias d’Invoke-WebRequest, une autre commande aux paramètres différents. Vous pouvez aussi utiliser l’Invite de commandes. Les commandes qui contiennent des apostrophes plus bas (-d '...', node -e '...') sont écrites pour un terminal macOS, Linux ou Git Bash ; sous Windows, enregistrez le code JavaScript dans un fichier appel.js et lancez node appel.js.
1. L’API GitHub : lire un profil public
curl -i https://api.github.com/users/octocat
Réponse reçue le 5 novembre 2026 (extrait) :
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 59
{
"login": "octocat",
"name": "The Octocat",
"public_repos": 8,
"followers": 24941,
"created_at": "2011-01-25T18:44:36Z"
}
L’option -i affiche les en-têtes : code 200, format JSON, et une limite de 60 appels dont 59 restants. Le nombre d’abonnés évolue chaque jour.
Demandez ensuite un utilisateur qui n’existe pas, puis une action qui exige d’être connecté :
$ curl -i https://api.github.com/users/cet-utilisateur-nexiste-pas-404xyz
HTTP/1.1 404 Not Found
{
"message": "Not Found",
"documentation_url": "https://docs.github.com/rest",
"status": "404"
}
$ curl -i -X POST https://api.github.com/user/repos -d '{"name":"test"}'
HTTP/1.1 401 Unauthorized
{
"message": "Requires authentication",
"documentation_url": "https://docs.github.com/rest",
"status": "401"
}
Les en-têtes de ces deux réponses sont omis.
Deux erreurs 4xx, chacune avec un message lisible : le comportement d’une API bien conçue.
2. Le géocodage de la Géoplateforme : d’une adresse à des coordonnées
L’État publie une API qui transforme une adresse en coordonnées à partir de la Base Adresse Nationale. Sa fiche sur data.gouv.fr la présente comme ouverte, produite par l’IGN, et limitée à 50 appels par seconde par adresse IP (consultée le 5 novembre 2026).
curl "https://data.geopf.fr/geocodage/search/?q=8+bd+du+port+amiens&limit=1"
Réponse reçue le 5 novembre 2026 (extrait) :
{
"type": "FeatureCollection",
"features": [{
"geometry": { "type": "Point", "coordinates": [2.290084, 49.897442] },
"properties": {
"label": "8 Boulevard du Port 80000 Amiens",
"score": 0.5965941258741259,
"postcode": "80000",
"citycode": "80021",
"context": "80, Somme, Hauts-de-France"
}
}],
"query": "8 bd du port amiens"
}
Une saisie approximative (« bd ») donne une adresse normalisée, ses coordonnées (longitude puis latitude) et un score de confiance. L’endpoint /reverse/?lon=2.3488&lat=48.8534 fait l’inverse : nous avons obtenu le libellé « Parvis Notre-Dame Place Jean-Paul II 75004 Paris,Paris 4e Arrondissement ». Avec un paramètre q vide (/search/?q=), l’API répond par une erreur 400 :
$ curl -i "https://data.geopf.fr/geocodage/search/?q="
HTTP/1.1 400 Bad Request
{"code":400,"message":"Failed parsing query","detail":["q: required param"]}
3. L’API Découpage administratif : une commune et sa population
curl "https://geo.api.gouv.fr/communes?nom=Amiens&fields=nom,code,codesPostaux,population&limit=1"
Réponse reçue le 5 novembre 2026 :
[{"nom":"Amiens","code":"80021","codesPostaux":["80000","80080","80090"],"population":136449,"_score":1}]
Le paramètre fields choisit les champs renvoyés. Le code INSEE de la commune, 80021, est le même que dans la réponse de géocodage : deux API différentes partagent un identifiant officiel, ce qui permet de croiser leurs données.
Le même appel depuis un programme
Dans un projet, l’appel part d’un programme. Voici la troisième requête en Python, avec la seule bibliothèque standard :
import json
import urllib.request
url = "https://geo.api.gouv.fr/communes?nom=Amiens&fields=nom,population&limit=1"
with urllib.request.urlopen(url, timeout=10) as reponse:
print(reponse.status)
communes = json.load(reponse)
print(communes[0]["nom"], communes[0]["population"])
Exécuté le 5 novembre 2026 avec Python 3.11, ce script a affiché 200 puis Amiens 136449. En JavaScript, fetch fait le même travail ; il renvoie une promesse qu’on enchaîne avec then. Voici l’appel à l’API GitHub que nous avons lancé sous Node.js 22 :
node -e 'fetch("https://api.github.com/users/octocat").then(r=>{console.log(r.status);return r.json()}).then(u=>console.log(u.name, u.public_repos))'
Il a affiché 200 puis The Octocat 8. Pour débuter dans ces langages, voyez nos guides pour apprendre Python et apprendre JavaScript.
Les différents types d’API
Le mot API couvre bien plus que les services web. Les API web, appelées à travers le réseau, suivent plusieurs styles :
| Style | Principe | Format courant | Cas d’usage typique |
|---|---|---|---|
| REST | Des ressources désignées par des URL, manipulées avec les méthodes HTTP | JSON | API publiques, applications web et mobiles |
| GraphQL | Un seul point d’entrée ; le client décrit exactement les champs voulus | JSON | Écrans qui assemblent beaucoup de données |
| gRPC | Appel de fonctions distantes, contrat décrit dans un fichier .proto |
Protocol Buffers (binaire) | Échanges entre microservices |
| Webhooks | Le serveur vous appelle quand un événement survient | JSON | Paiement validé, commit poussé |
| SOAP | Messages XML et contrat WSDL | XML | Systèmes historiques |
Les descriptions de GraphQL et gRPC suivent leurs sites officiels (GraphQL, gRPC). Ces styles se combinent : une entreprise expose souvent une API REST au public et utilise gRPC en interne.

Pour mesurer leur poids, la seule enquête récente trouvée est celle de Postman, un éditeur d’outils pour API : c’est une enquête de fournisseur, auprès de son public. Son rapport 2025 interroge plus de 5 700 développeurs, architectes et dirigeants dans le monde. REST y est utilisé par 93 % des répondants, les webhooks par 50 %, les WebSockets par 35 % et GraphQL par 33 % (Postman, State of the API 2025, consulté le 5 novembre 2026).
Hors du réseau, trois autres familles existent :
- Les API de bibliothèques : les fonctions qu’un module offre à votre code.
json.load()en Python utilise l’API du modulejson. - Les API du système d’exploitation : ouvrir un fichier, lancer un processus, afficher une fenêtre, sans parler au matériel.
- Les API du navigateur :
fetch, la géolocalisation, le stockage local ou le presse-papiers, offerts au JavaScript des pages. MDN en tient la liste.
REST expliqué simplement
REST organise une API web autour de ressources. Chaque chose manipulée (un utilisateur, une commande) a son adresse, et la méthode HTTP dit quoi en faire. Le terme vient de la thèse de Roy Fielding, publiée en 2000.
Les conventions qui rendent une API REST lisible :
- Des noms dans l’URL, pas des verbes.
GET /articles/42plutôt que/getArticle?id=42. - La méthode porte l’action.
POST /articlescrée,DELETE /articles/42supprime. - Des requêtes sans état. Chaque requête contient tout ce qu’il faut, authentification comprise.
- Des codes de statut justes. 201 après une création, 404 pour une ressource absente, comme l’API GitHub plus haut.
En pratique, « API REST » désigne toute API HTTP organisée en ressources et en JSON, même quand elle ne respecte pas toutes les contraintes de Fielding. Pour construire votre propre API REST, notre tutoriel créer une API REST avec Node.js et Express avance pas à pas, routes, validation et tests compris.
Authentification : clés, jetons et OAuth 2.0
Dès qu’une API touche à des données privées ou coûte de l’argent, elle doit savoir qui appelle : c’est le sens du 401 reçu plus haut. Trois mécanismes dominent :
| Mécanisme | Principe | Où on le rencontre |
|---|---|---|
| Clé d’API | Une chaîne secrète envoyée dans un en-tête à chaque appel | Cartes, météo, modèles d’IA |
| Jeton (token) | Une preuve d’identité temporaire, souvent en Authorization: Bearer ... |
Applications après connexion |
| OAuth 2.0 | L’utilisateur autorise une application à agir pour lui, sans donner son mot de passe | « Autoriser l’accès à votre Google Drive » |
OAuth 2.0 est défini par la RFC 6749, publiée en octobre 2012. C’est lui qui affiche l’écran « Cette application souhaite accéder à… ». Le bouton « Se connecter avec Google » relève d’une couche voisine, OpenID Connect, qui ajoute l’identification de l’utilisateur au-dessus d’OAuth 2.0 (spécification OpenID Connect Core).
Les règles de base :
- Jamais de clé dans le code. Rangez-la dans une variable d’environnement, par exemple dans un fichier
.envchargé au démarrage par votre programme, et ajoutez ce fichier au.gitignore. - Jamais de clé secrète dans le navigateur. Le JavaScript d’une page est lisible par le visiteur : passez par votre serveur.
- Le minimum de droits, par exemple un jeton en lecture seule, et toujours HTTPS.
- Protégez le compte qui délivre les clés avec la double authentification.
Côté éditeur, l’OWASP publie les dix risques les plus fréquents pour les API, édition 2023. Le premier, « Broken Object Level Authorization », désigne une API qui renvoie l’objet demandé sans vérifier qu’il appartient à l’appelant (OWASP API Security Top 10 2023).
Limites de débit, versions et documentation
Une API publique est un service partagé : elle limite les appels, change de version avec précaution et se décrit dans une documentation.
Les limites de débit. GitHub autorise 60 requêtes par heure et par adresse IP sans authentification et 5 000 avec un jeton personnel ; au-delà, l’API répond 403 ou 429 et il faut attendre l’heure de l’en-tête x-ratelimit-reset (documentation GitHub, consultée le 5 novembre 2026). Un programme correct lit ces en-têtes et ralentit avant d’être bloqué.
Les versions. Modifier une API casse les programmes qui l’utilisent. GitHub choisit la version par l’en-tête X-GitHub-Api-Version : sans lui, c’est 2022-11-28 qui répond, alors qu’une version 2026-03-10 existe. Une version reste prise en charge au moins 24 mois après la sortie de la suivante, et la documentation fixe au 10 mars 2028 la fin de 2022-11-28 (documentation GitHub).
Notre essai a révélé un cas d’école. L’ancienne adresse de l’API Adresse répond toujours, mais ses en-têtes annoncent sa fin :
$ curl -i "https://api-adresse.data.gouv.fr/search/?q=8+bd+du+port+amiens&limit=1"
HTTP/1.1 200 OK
deprecation: Sat, 31 Jan 2026 22:59:59 GMT
sunset: Sat, 31 Jan 2026 22:59:59 GMT
x-api-new-host: https://data.geopf.fr/geocodage/
x-api-notice: L'URL api-adresse.data.gouv.fr va etre decommissionnee. Merci d'utiliser l'URL de la Geoplateforme https://data.geopf.fr/geocodage/
Les en-têtes Deprecation et Sunset sont normalisés par les RFC 9745 et 8594. Nuance : la RFC 9745, publiée en mars 2025, écrit la date de Deprecation sous forme de nombre de secondes (@1688169599), alors que la Géoplateforme envoie encore une date HTTP classique. Le 5 novembre 2026, la date de fin annoncée était dépassée de plus de neuf mois et le service répondait encore, sans garantie pour demain. Si votre code utilise cette adresse, passez à data.geopf.fr/geocodage.
La documentation. Le format standard pour décrire une API HTTP est OpenAPI, dont la version 3.2.1 date du 10 septembre 2026 (spécification OpenAPI). Un fichier OpenAPI liste les endpoints, les paramètres, les réponses et l’authentification ; des outils en tirent une documentation interactive et du code client. La Géoplateforme publie le sien sur data.geopf.fr/geocodage/openapi.
Les API et l’intelligence artificielle
Les modèles de langage s’utilisent eux aussi par API. Une application qui intègre ChatGPT, Claude ou Gemini envoie une requête POST avec une clé d’API dans les en-têtes et la question dans un corps JSON, puis reçoit la réponse en JSON. Codes de statut, limites de débit et clé à protéger s’appliquent comme ailleurs. Même un modèle local, avec Ollama, se pilote par une API.
L’IA appelle aussi des API à votre place. Un agent IA choisit un outil, et c’est un appel d’API qui l’exécute. Le Model Context Protocol (MCP) normalise ce branchement : selon sa spécification, version du 28 juillet 2026, il fait dialoguer en JSON-RPC 2.0 une application d’IA et des serveurs qui exposent des outils, des ressources et des prompts. Notre article sur le serveur MCP montre comment en écrire un.
L’enquête de Postman, avec la même réserve que plus haut, donne la tendance : en 2025, 89 % des répondants utilisaient l’IA mais 24 % seulement concevaient leurs API pour les agents ; 70 % connaissaient MCP et 10 % l’utilisaient régulièrement (Postman, State of the API 2025).
Glossaire des API
| Terme | Définition courte |
|---|---|
| Endpoint | Une adresse précise de l’API, liée à une ressource |
| Méthode | Le verbe de la requête : GET, POST, PUT, PATCH, DELETE |
| Corps (payload) | Les données transportées, souvent en JSON |
| Code de statut | Le nombre qui résume le résultat : 200, 404, 500 |
| Clé d’API | Un secret qui identifie l’application appelante |
| OAuth 2.0 | Protocole qui autorise une application à agir pour un utilisateur |
| Rate limit | Le nombre maximal d’appels sur une période |
| Webhook | Un appel que le serveur vous envoie lors d’un événement |
| OpenAPI | Le format standard de description d’une API HTTP |
Ce que nous n’avons pas pu vérifier
- La date d’arrêt réelle de
api-adresse.data.gouv.fr. Ses en-têtes annoncent le 31 janvier 2026, mais l’adresse répondait le 5 novembre 2026. Ni la fiche data.gouv.fr ni le guide de la Géoplateforme ne donnent de nouvelle date. - Le rapport 2026 de Postman. Une page existe, sans résultat lisible ; les chiffres cités sont ceux de 2025.
- La portée de l’enquête Postman. Elle interroge le public d’un éditeur d’outils pour API, pas l’ensemble des développeurs, et gRPC n’y figure pas.
fetchdans un navigateur. Nous l’avons exécuté sous Node.js 22, pas dans une console de navigateur.- Les valeurs qui bougent : abonnés d’octocat, compteurs de limite de débit et scores de géocodage changent d’un appel à l’autre.
Questions fréquentes
API c’est quoi en français ?
API est le sigle anglais d’Application Programming Interface, traduit par « interface de programmation d’application ». C’est l’ensemble des règles qui permettent à un logiciel de demander un service ou des données à un autre, sans connaître son fonctionnement interne.
Quel est un exemple simple d’API ?
La commande curl "https://geo.api.gouv.fr/communes?nom=Amiens&fields=nom,population&limit=1" (curl.exe sous Windows PowerShell) interroge une API publique de l’État et renvoie la population de la commune en JSON : 136 449 habitants pour Amiens le 5 novembre 2026, sans compte ni clé.
Quelle différence entre une API et une API REST ?
API est le terme général, qui couvre aussi les bibliothèques et le système d’exploitation. Une API REST est une API web organisée en ressources désignées par des URL et manipulées avec les méthodes HTTP, en général en JSON.
Une API est-elle gratuite ?
Cela dépend de l’éditeur. L’API de la Géoplateforme et l’accès public à l’API GitHub sont gratuits, avec des limites de débit. Les API de paiement ou de modèles d’IA sont souvent facturées à l’usage et demandent une clé liée à un compte.
À propos de l’auteur
Abdelilah Ourti est ingénieur IA et architecte logiciel. Il conçoit et déploie des applications web et des systèmes d’IA, et publie sur NeurauTech des guides et des comparatifs destinés aux développeurs francophones. Ses autres articles sont réunis sur sa page auteur.
Méthode. Synthèse fondée sur des sources publiques : normes de l’IETF, documentation de GitHub, de la Géoplateforme, d’OpenAPI, de MCP et de MDN, liste de l’OWASP et enquête de Postman, signalée comme enquête d’éditeur. Les requêtes curl, le script Python et l’appel fetch sous Node.js montrés ici ont été exécutés le 5 novembre 2026, et leurs sorties sont reproduites à l’identique, raccourcies et parfois remises en forme. Aucun autre test n’a été mené, aucun lien n’est affilié et aucune relation commerciale ne lie l’auteur aux éditeurs mentionnés.
Une erreur ou une API qui a changé ? Écrivez à [email protected] : l’article sera corrigé et la date de mise à jour modifiée.
Dernière mise à jour : 5 novembre 2026.
Image : Remi Godet (Unsplash License).
