4. API
Qu'est-ce qu'une API ?
Une API, — ou Application Programming Interface — est « un ensemble de fonctions informatiques par lesquelles deux logiciels interagissent sans intermédiation humaine » (Rémi Mercier). Par exemple, « l’utilisateur effectue une requête sous la forme d’une requête HTTP, le service web met en forme les données correspondant à la requête et les renvoie à l’utilisateur, dans un format défini à l’avance » (Romain Tavenard).

Mode d'emploi
Voici une première requête API, la plus simple possible :
https://fr.wikipedia.org/w/api.php?action=query&titles=Perruche
https://fr.wikipedia.org/w/api.php
est l’endpoint de l’API REST, c’est-à-dire l’URL à laquelle envoyer les appels. Tous les wikis de Wikimedia Foundation disposent d'une API accessible via une URL de ce type, par exemple :
?
: le premier paramètre est précédé d'un séparateur point d'interrogation.
action=query
: premier paramètre de cet appel qui se compose du paramètreaction
et de sa valeurquery
, qui signifient de récupérer le contenu d’un article Wikipedia.
titles=Perruche
: le paramètretitles
définit le titre de l'article Wikipedia ciblé, en l'occurencePerruche
. L’API permet également de préciser plusieurs valeurs séparées par une barre verticale (|
) pour obtenir les contenus de plusieurs articles dans un seul et même appel. Par exemple :titles=Perruche|Perroquet|Corneille|Corbeau
.
"title": Perruche
), son numéro d'identifiant ("pageid": 250509
) et l'espace de nom de la page ("ns" : 0
correspond à l'espace de nom principal où figurent les articles encyclopédiques).
Nous allons complexifier notre première requête en ajoutant petit à petit des paramètres :
https://fr.wikipedia.org/w/api.php?action=query&titles=Perruche&prop=extracts
prop=extracts
: ce paramètre permet de récupérer un extrait de l'article.

https://fr.wikipedia.org/w/api.php?action=query&titles=Perruche&prop=extracts&exchars=500
exchars=500
: ce paramètre limite l'extrait à 500 caractères.

https://fr.wikipedia.org/w/api.php?action=query&titles=Perruche&prop=extracts&exchars=500&explaintext
explaintext
: ce paramètre permet d'obtenir l'extrait en texte brut plutôt qu’en HTML. Il s'agit d'un paramètre booléen. Il n'a donc que deux valeurs possibles : vrai ou faux.

https://fr.wikipedia.org/w/api.php
?action=query&titles=Perruche&prop=extracts&exchars=500&explaintext&utf8
utf8
: paramètre booléen qui active l’encodage du texte en UTF-8

https://fr.wikipedia.org/w/api.php?action=query&titles=Perruche&prop=extracts&exchars=500&explaintext&utf8&format=json
format=json
: il est possible de récupérer les données dans différents formats (json
,jsonfm
,none
,php
,phpfm
,rawfm
,xml
etxmlfm
).

Documentation
Politiques et recommandations
S'authentifier. Afin de ne pas surcharger les serveurs, une limitation du débit de l’API est mise en place. Il est possible de faire 500 requêtes par heure par adresse IP ou 5000 avec un jeton d’accès personnel. Pour de gros volumes de données, il vaut mieux utiliser les dumps.
Exemples
- Début des articles Perruche et Perroquet :
?action=query&titles=Perruche|Perroquet&prop=extracts&exchars=500&explaintext&utf8&format=json&exintro
- Première image affichée dans l’article Perruche de la Wikipédia francophone :
?action=query&format=json&prop=pageimages&titles=Perruche&piprop=original
- Contenu textuel de l'article sur les perruches :
?action=query&origin=*&prop=extracts&explaintext&titles=Perruche&format=json
- Dixième section de l'article Chat :
?action=parse&format=json&page=Chat&prop=wikitext§ion=10&disabletoc=1&utf8=1
- Coordonnées géographiques de l'article avec page ID 399 :
?action=query&format=json&prop=coordinates&pageids=399&coprimary=all