Guide
Qu'est-ce qu'une API cachée, et pourquoi c'est le moyen le plus fiable d'obtenir des données
Quand une page charge des prix, des annonces ou des résultats de recherche, ces données ne vivent généralement pas dans le HTML — elles arrivent d'un endpoint JSON interne que la page appelle en arrière-plan. C'est ce qu'on appelle une API cachée. Pour des données publiques et factuelles, la lire est presque toujours plus fiable que parser la page rendue.
Ce que « cachée » veut vraiment dire
Rien de louche. Une page web moderne est une coquille légère qui, une fois chargée, appelle un ou plusieurs de ses propres endpoints backend pour récupérer le vrai contenu en JSON structuré. Ces endpoints ne sont « cachés » qu'au sens où ils ne sont ni documentés pour un usage externe ni affichés dans la barre d'adresse — mais votre propre navigateur les utilise à chaque ouverture de la page. Ils font partie de la façon dont le site public vous livre ses données publiques.
Pourquoi l'appeler bat le parsing HTML
- Stabilité. Une refonte peut réécrire toutes les classes CSS et casser un scraper HTML du jour au lendemain. Le champ JSON
pricetend à resterpricerefonte après refonte. Moins de pièces mobiles, moins de pannes à 2 h du matin. - Données plus propres. Vous recevez des champs typés — les nombres en nombres, les dates en dates, des objets imbriqués — au lieu d'extraire du texte d'un balisage mis en forme puis de le re-parser. Moins de devinettes, moins de bugs de cas limites.
- Exhaustivité. L'endpoint renvoie souvent plus que ce que la page affiche : attributs supplémentaires, niveaux de stock, identifiants, métadonnées de pagination. Vous obtenez fréquemment des données plus riches que ce qui est visible.
- Efficacité. Un seul appel JSON peut renvoyer ce qui exigerait autrement le rendu d'une page complète avec images et scripts — soit une empreinte plus légère et plus respectueuse pour le site source.
Comment trouver une API cachée (DevTools, Network, XHR)
Vous pouvez le faire vous-même dans n'importe quel navigateur, sur n'importe quelle page publique, en deux minutes :
- Ouvrez la page et appuyez sur
F12(ou clic droit → Inspecter) pour ouvrir les DevTools. - Allez dans l'onglet Network et filtrez sur Fetch/XHR. Cela masque les images et les scripts pour ne montrer que les requêtes de données.
- Rechargez la page, ou déclenchez l'action qui vous intéresse — paginer, chercher, ouvrir une annonce.
- Observez les requêtes apparaître. Cliquez sur celles qui renvoient du JSON et regardez l'onglet Response / Preview.
- Quand vous repérez la requête dont la réponse contient vos champs — les prix, les annonces, les résultats de recherche — vous avez trouvé l'API cachée. Notez son URL, sa méthode et les paramètres qu'elle accepte.
À partir de là, le travail consiste à lire cet endpoint de façon fiable : les bons paramètres, une pagination sensée, un rythme de requêtes respectueux, et la gestion des cas où le site attend d'abord une vraie session de navigateur. Cette dernière partie est exactement ce que couvre mon guide sur les sites publics protégés par Cloudflare.
Je garde un point de départ fonctionnel en open source : voir le dépôt hidden-api-extraction-template pour une structure propre sur laquelle construire.
Le faire de façon conforme
Une API cachée reste l'infrastructure du site : les mêmes règles s'appliquent que pour tout accès à une source publique :
- Lisez les conditions d'utilisation du site et respectez-les. Si elles interdisent l'accès automatisé, c'est un stop.
- Respectez
robots.txtet les limites de débit. Espacez vos requêtes ; ne martelez pas l'endpoint. - Tenez-vous-en aux données publiques, factuelles et non personnelles — des champs de catalogue et d'annonces, pas d'informations personnelles ni rien derrière une connexion.
- Vous exploitez et possédez le flux qui en résulte. Je le construis pour qu'il soit un bon citoyen de la source.