Prise électrique murale avec une fiche branchée, image du contrat standard qu'est une API entre deux logiciels

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.

API c'est quoi : schéma d'une requête et d'une réponse, le client envoie une méthode, une adresse, des en-têtes et un corps, le serveur renvoie un code de statut, des en-têtes et un corps JSON

Une requête contient quatre éléments :

  • La méthode, qui dit l’intention : GET pour lire, POST pour créer, PUT ou PATCH pour modifier, DELETE pour 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.

Graphique en barres : styles d'API utilisés selon l'enquête State of the API 2025 de Postman, REST 93 %, webhooks 50 %, WebSockets 35 %, GraphQL 33 %

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 module json.
  • 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/42 plutôt que /getArticle?id=42.
  • La méthode porte l’action. POST /articles crée, DELETE /articles/42 supprime.
  • 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 .env chargé 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.
  • fetch dans 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).

Publications similaires