Le node HTTP Request dans n8n : appeler n’importe quelle API
Le node HTTP Request permet à n8n d’appeler n’importe quelle API : réglages, clé API, pagination et erreurs, avec un premier appel testé pas à pas.
Le node HTTP Request permet à d’appeler n’importe quelle API, même celle d’un outil qui n’a pas de node dédié. Vous lui donnez une méthode, une URL, éventuellement des paramètres, des en-têtes, un corps et un identifiant, et il rapporte la réponse dans votre workflow, prête à être lue par les nodes suivants.
C’est le complément exact du webhook. Le webhook reçoit des données qu’un autre outil pousse vers n8n ; le HTTP Request va les chercher (ou les envoie) de sa propre initiative.
À quoi sert le node HTTP Request
Il sert à parler à une API quand aucun node tout fait ne couvre le besoin. Un node comme Notion ou Slack prépare ces appels pour vous ; quand il n’existe pas, ou qu’il ne propose pas l’opération voulue, vous écrivez l’appel vous-même.
Trois situations reviennent tout le temps :
- L’outil n’a pas de node n8n. Beaucoup de logiciels métier français ont une API documentée mais pas de node : le HTTP Request comble le trou.
- Le node existe mais il manque une opération. L’API propose un point d’accès que le node n’expose pas.
- Vous voulez récupérer une donnée publique. Une API ouverte, sans compte, renvoie l’information dont votre workflow a besoin.
Le principe ne change jamais : une requête part de n8n, l’API renvoie une réponse, et cette réponse devient l’item que les nodes suivants vont lire.
Les réglages du node, un par un
Le node tient en quatre blocs : la méthode et l’URL, l’authentification, ce que vous envoyez (paramètres, en-têtes, corps), puis les options.
| Réglage | Ce qu’il fait | Valeurs possibles |
|---|---|---|
| Method | L’action demandée à l’API | GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS |
| URL | L’adresse du point d’accès | https://… |
| Authentication | Comment vous prouvez votre identité | None, Predefined Credential Type, Generic Credential Type |
| Send Query Parameters | Les paramètres ajoutés après le ? |
Champs nom/valeur ou JSON |
| Send Headers | Les en-têtes HTTP (métadonnées) | Champs nom/valeur ou JSON |
| Send Body | Le contenu envoyé avec la requête | JSON, Form URLencoded, Form-Data, n8n Binary File, Raw |
La méthode dépend de ce que vous faites. GET lit une donnée, POST en crée une, PUT et PATCH la modifient (PUT remplace tout, PATCH seulement les champs envoyés), DELETE la supprime. La documentation de l’API indique la méthode attendue pour chaque point d’accès : recopiez-la, ne la devinez pas.
Les paramètres de requête filtrent ou précisent ce que vous demandez (une ville, une date, un nombre de résultats). Les en-têtes portent des informations sur la requête elle-même, par exemple le format attendu ou une clé d’accès. Le corps contient les données que vous envoyez, le plus souvent en JSON pour un POST ou un PATCH.
Premier appel : une API publique, sans authentification
Le plus simple pour démarrer est une API ouverte, qui répond sans compte ni clé. L’API Géo de l’État (geo.api.gouv.fr) fait très bien l’affaire : elle renvoie la commune correspondant à un code postal.
Posez un node HTTP Request derrière un déclencheur manuel, puis réglez-le ainsi :
- Method :
GET. - URL :
https://geo.api.gouv.fr/communes. - Send Query Parameters activé, avec deux paramètres :
codePostal=69001etfields=nom,code,population. - Authentication :
None.
Exécutez le node. La réponse arrive en JSON :
[{ "nom": "Lyon", "code": "69123", "population": 519127 }]
n8n transforme chaque élément du tableau en un item. Le node suivant peut donc lire {{ $json.nom }} ou {{ $json.population }} directement. Remplacez la valeur 69001 par une expression, par exemple {{ $json.code_postal }} venu d’un formulaire, et le même node interroge l’API pour chaque item qui arrive.
Appeler une API authentifiée
Pour une API qui demande une identification, choisissez Predefined Credential Type si n8n connaît déjà ce service, et Generic Credential Type sinon.
Le mode Predefined réutilise les identifiants d’un node existant. Si vous avez déjà connecté Notion à n8n, le HTTP Request peut appeler n’importe quel point d’accès de l’API Notion avec ce même identifiant, sans rien ressaisir. C’est l’option recommandée par la documentation dès qu’elle est disponible.
Le mode Generic couvre tout le reste. Il propose plusieurs types d’identifiants :
| Type générique | Ce qu’il envoie | Quand l’utiliser |
|---|---|---|
| Header Auth | Un en-tête nommé avec une valeur (souvent une clé ou un jeton) | Le cas le plus courant : Authorization: Bearer <clé> ou X-API-Key |
| Query Auth | La clé dans l’URL, en paramètre | Quand l’API l’exige dans l’adresse |
| Basic Auth | Un identifiant et un mot de passe | API anciennes ou internes |
| OAuth2 API | Une connexion avec autorisation et jeton renouvelé | Services qui imposent OAuth (Google, Microsoft…) |
| Digest Auth, OAuth1 API, Custom Auth | Variantes plus rares | Selon la documentation de l’API |
Le schéma typique, pour une API qui demande une clé dans un en-tête : vous créez un identifiant Header Auth avec pour nom Authorization et pour valeur Bearer suivi de votre clé, puis vous le sélectionnez dans le node. Vérifiez le nom exact de l’en-tête dans la documentation de l’API, certaines attendent X-API-Key ou un nom maison.
Envoyer des données : le corps de la requête
Pour créer ou modifier une donnée, activez Send Body et choisissez le format attendu par l’API, presque toujours JSON.
En JSON, deux façons de remplir le corps : Using Fields Below, champ par champ, ou Using JSON, en écrivant l’objet complet avec des expressions dedans. Je conseille la seconde dès qu’il y a plus de trois champs : l’objet se relit d’un coup d’œil et ressemble à l’exemple de la documentation.
{
"nom": "{{ $json.nom }}",
"email": "{{ $json.email }}",
"source": "formulaire-site"
}
Les autres formats répondent à des cas précis. Form URLencoded imite un formulaire HTML classique. Form-Data sert à envoyer un fichier avec d’autres champs. n8n Binary File envoie un fichier seul, pris dans un item précédent. Raw laisse écrire un corps libre avec le type de contenu de votre choix, par exemple du XML.
Récupérer toutes les pages d’une réponse
Une API qui a beaucoup de résultats les découpe en pages ; l’option Pagination du node enchaîne les appels jusqu’à la dernière page, sans boucle à construire.
Elle s’active dans Add Option > Pagination et propose deux modes :
- Response Contains Next URL : la réponse contient l’adresse de la page suivante. Vous indiquez où la trouver avec une expression, par exemple
{{ $response.body["next-page"] }}, selon la structure de l’API. - Update a Parameter in Each Request : l’API accepte un numéro de page. Vous indiquez le type (Query ou Body, le second avec la méthode POST), le nom du paramètre (
pagepar exemple) et sa valeur{{ $pageCount + 1 }}. La variable$pageCountcompte les pages déjà récupérées et commence à zéro, d’où le+ 1.
Reste à dire au node quand s’arrêter, avec Pagination Complete When :
| Condition d’arrêt | Ce qu’elle fait |
|---|---|
| Response Is Empty (par défaut) | S’arrête quand une page revient vide |
| Receive Specific Status Code(s) | S’arrête sur un ou plusieurs codes HTTP donnés |
| Other | S’arrête quand une expression que vous écrivez devient vraie |
Deux garde-fous complètent le réglage. Limit Pages Fetched plafonne le nombre d’appels (100 pages par défaut une fois activé). Activez-le dès le premier test : une condition d’arrêt mal réglée enchaîne les appels et entame votre quota. Interval Between Requests (ms) espace les appels pour rester sous la limite de débit de l’API. La taille de page, elle, se règle dans les paramètres de requête normaux (limit ou per_page, selon l’API).
Si vous préférez garder la main page par page, ou si l’API ne rentre dans aucun des deux modes, la boucle classique reste possible : le guide des boucles n8n montre comment la construire.
Gérer les erreurs et les limites de débit
Par défaut, le node considère comme réussie toute réponse en 2xx et passe en erreur pour le reste ; trois options changent ce comportement.
| Option | Effet | Quand l’activer |
|---|---|---|
| Never Error | Le node réussit quel que soit le code de réponse | Quand un 404 est une réponse normale (« client introuvable ») que vous traitez ensuite |
| Include Response Headers and Status | Ajoute le code HTTP et les en-têtes à la sortie | Pour tester {{ $json.statusCode }} dans un IF juste après |
| Timeout | Abandonne l’appel au-delà d’un délai en millisecondes | API lentes qui bloqueraient le workflow |
Je recommande la combinaison Never Error + Include Response Headers and Status dès que la suite dépend du code de réponse : le node rend toujours la main, avec ce code, et un IF oriente vers la suite normale ou vers un traitement d’erreur.
Pour les limites de débit, l’option Batching découpe les items en lots (Items per Batch) et attend entre deux lots (Batch Interval, en millisecondes). Sur une API qui accepte peu d’appels par seconde, c’est souvent la seule chose à régler. Pour les pannes passagères, activez Retry On Fail dans l’onglet Settings du node : le guide de gestion des erreurs n8n détaille ce réglage, l’error output et l’Error Trigger.
La méthode face à une API que vous découvrez
Pour une API que vous n’avez jamais appelée, avancez dans cet ordre.
- Lisez la documentation de l’API : méthode, URL, paramètres, format du corps, type d’authentification.
- Importez l’exemple cURL s’il existe, puis vérifiez chaque champ.
- Créez l’identifiant dans n8n (Predefined si le service est connu, Generic sinon), jamais une clé en clair.
- Testez avec un seul item et lisez la réponse dans le panneau de sortie.
- Ajoutez la pagination, le batching et la gestion des erreurs une fois l’appel simple validé.
Un exemple de bout en bout, avec des appels HTTP vers une API de facturation, est détaillé dans la synchronisation Shopify vers Pennylane. Si vous débutez sur l’outil, le premier workflow n8n pose les bases, et le hub n8n range tous les guides dans l’ordre d’apprentissage.
FAQ
Quelle différence entre le node HTTP Request et le node Webhook ?
Le HTTP Request part de n8n pour appeler une autre application ; le Webhook attend qu’une autre application appelle n8n. Le premier va chercher ou envoie la donnée, le second la reçoit.
Faut-il savoir coder pour utiliser le node HTTP Request ?
Non. Le node se remplit avec des champs, et l’import cURL fait l’essentiel du travail à partir de la documentation de l’API. Il faut en revanche savoir lire cette documentation : méthode, URL, paramètres et type d’authentification.
Comment ajouter une clé API dans le node HTTP Request ?
Créez un identifiant de type Header Auth (ou Query Auth si l’API attend la clé dans l’URL) et sélectionnez-le dans Authentication, en mode Generic Credential Type. La clé reste alors dans les identifiants de n8n : l’export du workflow ne contient que le nom et l’ID de l’identifiant.
Comment récupérer tous les résultats d’une API paginée dans n8n ?
Activez l’option Pagination du node, choisissez le mode qui correspond à l’API (URL suivante dans la réponse, ou numéro de page à incrémenter), puis réglez la condition d’arrêt. Limitez le nombre de pages au début pour ne pas consommer tout votre quota.
Pourquoi mon node HTTP Request échoue avec une erreur 401 ou 403 ?
Une 401 signale une authentification absente ou invalide, une 403 un accès refusé malgré l’identification. Vérifiez la clé, le nom exact de l’en-tête attendu par l’API et les droits associés à la clé.
Le node HTTP Request peut-il envoyer un fichier ?
Oui. Choisissez le format de corps n8n Binary File pour envoyer un fichier seul, ou Form-Data pour l’envoyer avec d’autres champs, en indiquant le champ binaire qui contient le fichier dans l’item d’entrée.
Le HTTP Request, avec les webhooks, les boucles et la gestion des erreurs, fait partie des briques que ma formation n8n déroule pas à pas : 31 leçons vidéo, réparties en 4 chapitres, des fondations à la transformation des données et au contrôle du flux.
Sources : n8n Docs · HTTP Request node, n8n Docs · gestion des erreurs, n8n Docs · exporter et importer des workflows, n8n · dépôt GitHub (définition des options de pagination du node, consultée le 26 octobre 2026), n8n Docs · « Pagination in the HTTP Request node » (consulté le 26 octobre 2026), API Géo de l’État, geo.api.gouv.fr (appel du 26 octobre 2026).
Créez des workflows fiables avec n8n.
Ce guide montre le principe sur un cas. La formation n8n déroule la construction complète : des fondamentaux jusqu’aux patterns qui tiennent en production chez un client qui paie.
- 4 chapitres · 31 leçons
- 249 € · paiement unique
- Accès à vie
- Garantie 14 jours
Les 3 automatisations par lesquelles je fais commencer mes clients
Trier ses e-mails, ne plus ressaisir les documents reçus, facturer à chaque commande : trois cas réels, avec leur schéma dans Make et dans n8n.
Gratuit · le lien du guide part aussitôt par e-mail.