Publier deux épingles par jour sur Pinterest, tous les jours, sans y toucher. C’est le dispositif que j’ai monté avec un workflow n8n auto-hébergé, un Google Sheets comme planning et l’API Pinterest v5, l’interface qui permet à un programme de publier sans passer par l’application. Sur le papier, c’est simple. En pratique, j’ai rencontré une série d’obstacles dont personne ne parle : Pinterest qui refuse certaines URLs, une clé secrète invisible tant que l’accès « Trial » n’est pas approuvé, des scopes à écrire d’une façon bien précise… Autant le dire tout de suite : le montage est prêt et testé jusqu’au dernier nœud, mais il ne tourne pas encore. Pinterest ne m’a toujours pas accordé l’accès à son API. Vous verrez ce blocage en direct dans les captures, et c’est justement ce que ce guide raconte.
Dans ce guide, je vous montre tout le parcours réel pour automatiser Pinterest avec n8n, étape par étape, y compris les erreurs et les solutions de contournement. Notamment comment héberger votre politique de confidentialité directement sur n8n si vous n’avez pas de site web. C’est un cas fréquent quand, comme moi pour ce projet, vous vendez uniquement sur une marketplace comme Amazon KDP.
Pourquoi automatiser Pinterest avec n8n
Pinterest est un canal de trafic à durée de vie longue : une épingle continue de circuler pendant des mois. Mais la régularité est la clé, et publier manuellement 2 fois par jour devient vite une corvée. L’automatisation résout ce problème : vous préparez vos visuels et votre planning une fois par semaine, et le système publie tout seul.
Pourquoi n8n plutôt que Zapier ou Make ? Trois raisons. L’auto-hébergement ne coûte que le prix de votre VPS, environ 6 à 12 €/mois. Il n’y a aucune limite de tâches mensuelles. Et vous gardez le contrôle de vos données et de vos credentials. Pour un workflow qui tourne 60 fois par mois minimum, la différence de coût est significative. Si vous n’avez pas encore d’instance, commencez par le guide d’installation de n8n sur un VPS.
Trois mots de vocabulaire, si vous débutez sur n8n. Un workflow, c’est la chaîne complète : ce qui la déclenche, et tout ce qui suit. Un nœud est une brique de cette chaîne, une action unique (lire une ligne de tableur, envoyer une requête, patienter) que vous reliez à la suivante en tirant un trait à la souris. Une credential, enfin, est un jeu d’identifiants enregistré une seule fois dans n8n, puis réutilisé par tous vos nœuds sans avoir à le retaper.
Le workflow en un coup d’œil : 7 nœuds

Le principe : un planning tenu dans Google Sheets (une ligne = une épingle, avec titre, description, tableau cible, chemin de l’image et statut), et un workflow n8n qui se déclenche deux fois par jour pour publier la prochaine épingle en attente.
| # | Nœud | Rôle |
|---|---|---|
| 1 | Schedule Trigger | Déclenche le workflow 2×/jour (ex. 20h30 et 21h45) |
| 2 | Google Sheets (read) | Lit le planning des épingles |
| 3 | Code (JavaScript) | Sélectionne la prochaine ligne à publier |
| 4 | Read File(s) From Disk | Charge le visuel de l’épingle depuis le serveur |
| 5 | Extract from File | Convertit l’image en Base64 |
| 6 | HTTP Request | POST vers l’API Pinterest v5 pour créer l’épingle |
| 7 | Google Sheets (update) | Marque la ligne comme PUBLIÉE |
Premier piège : n8n n’a pas de nœud Pinterest natif. Il faut passer par un nœud HTTP Request générique vers POST https://api.pinterest.com/v5/pins, avec une authentification que vous configurez vous-même. Et c’est là que tout se complique.
OAuth2 ou jeton statique : le bon choix pour un workflow planifié
Deux méthodes existent pour authentifier vos appels à l’API Pinterest. Autrement dit, pour prouver à Pinterest que le programme qui écrit a bien le droit de publier sur votre compte.
OAuth2 est le mécanisme derrière l’écran « Autoriser cette application à accéder à votre compte » que vous connaissez déjà : vous accordez une permission sans jamais communiquer votre mot de passe, et l’application reçoit un jeton temporaire qu’elle renouvelle toute seule. Le jeton statique, lui, est une simple chaîne de caractères que vous copiez une fois dans n8n. Plus rapide à mettre en place, mais avec une date d’expiration fixe qu’il faudra surveiller. Voici la comparaison honnête :
| Critère | OAuth2 (recommandé) | Jeton statique (Header Auth) |
|---|---|---|
| Fonctionnement | n8n gère et rafraîchit le token automatiquement | Vous collez un Bearer token à la main |
| Durée de vie | Rafraîchi automatiquement | Expire au bout d’environ 30 jours |
| Maintenance | Quasi nulle une fois connecté | À re-coller chaque mois |
| Mise en place | Plus longue au départ | Rapide mais fragile |
Pour un workflow qui tourne en automatique tous les jours, le jeton statique est un piège. Il expirera un jour où vous ne regardez pas, et vos publications s’arrêteront en silence. Choisissez OAuth2 « Authorization Code » dès le départ, même si la mise en place est un peu plus longue.
Étape 1 — Créer l’application Pinterest Developer

Rendez-vous sur developers.pinterest.com/apps avec votre compte Pinterest Business, puis cliquez sur « Connecter l’application ». Voici les champs à remplir, avec les valeurs types :
| Champ | Quoi mettre |
|---|---|
| Nom de l’application | Un nom descriptif (ex. « MaMarque AutoPin ») |
| Nom de l’entreprise | Votre marque ou micro-entreprise |
| Icône | Obligatoire, 512×512 px, sans le logo Pinterest |
| Site web | Une URL à vous (voir la section suivante si vous n’avez pas de site) |
| Politique de confidentialité | URL contenant le nom de votre marque (exigence stricte) |
| Objectif de l’application | Décrire l’usage réel (ex. publication automatique d’épingles depuis un planning) |
| Objectif du développeur | « Pour mon organisation / mon usage personnel » |
| Cas d’utilisation | Création et planification d’épingle |
| Audience | Créateurs |
Deux détails vécus. Le champ « Icône » n’est signalé comme obligatoire qu’au moment de la soumission, alors préparez-la avant. Et un reCAPTCHA apparaît à la validation. Une fois soumise, l’application apparaît dans « Mes applications » avec un App ID. Notez-le, ce sera votre Client ID.

Étape 2 — Le casse-tête des URLs quand on n’a pas de site web
C’est le point qui m’a le plus surpris. Pinterest impose deux contraintes strictes, nulle part clairement documentées :
- Il refuse une URL pinterest.com comme « site web » de votre entreprise (votre profil Pinterest ne compte pas) ;
- Il exige que le nom de votre marque figure dans l’URL de la politique de confidentialité.
Si vous vendez uniquement sur une marketplace (Amazon KDP, Etsy…), vous n’avez ni site ni page de confidentialité. Faut-il installer un WordPress juste pour ça ? Non. L’astuce : héberger les deux pages directement sur votre instance n8n.
Héberger une page HTML sur n8n avec un webhook
Un webhook, dans n8n, n’est rien d’autre qu’une adresse web que n8n génère pour vous et qui déclenche un workflow dès qu’on l’appelle, depuis un navigateur par exemple. C’est ce qui permet l’astuce suivante : n8n peut servir des pages web publiques grâce à un mini-workflow de deux nœuds, un nœud Webhook (méthode GET, response mode « Using Respond to Webhook node ») connecté à un nœud Respond to Webhook qui renvoie du HTML avec l’en-tête Content-Type: text/html; charset=utf-8. Créez deux routes :
- Une page de présentation :
https://n8n.votredomaine.fr/webhook/mamarque - Une politique de confidentialité :
https://n8n.votredomaine.fr/webhook/mamarque-confidentialite
Le chemin du webhook contient le nom de la marque : l’exigence de Pinterest est satisfaite. Cette astuce est réutilisable pour toute API qui exige une politique de confidentialité (Meta, TikTok, Google…).

⚠ Important : ce workflow « pages publiques » doit rester actif tant que votre application Pinterest existe. Si vous le désactivez, les URLs tombent et Pinterest pourrait invalider votre app.
Mise à jour : cette astuce m’a valu un refus
Je dois être honnête sur la suite, parce qu’elle change la recommandation de cette section. Ma demande d’accès Trial a été refusée, par un e-mail sans aucun motif. En reprenant le dossier, la cause est apparue clairement : le jour où le relecteur a ouvert mon lien de politique de confidentialité, le webhook ne répondait plus. Il n’a trouvé qu’une page d’erreur.
C’est la faiblesse de la méthode. Une page servie par n8n ne vit que tant que n8n tourne. Une instance redémarrée, un workflow désactivé, un domaine changé, et l’URL que Pinterest a enregistrée ne renvoie plus rien. Vous ne le voyez pas passer ; le relecteur, si. Et comme le refus n’est pas motivé, vous pouvez chercher longtemps.
Ce que je recommande désormais. L’astuce du webhook reste valable pour dépanner, mais à deux conditions : le workflow doit être activé en production et le rester pendant toute la durée de l’examen, et vous devez vérifier l’URL depuis une fenêtre de navigation privée juste avant de soumettre, puis de nouveau deux jours plus tard.
Si votre marque a la moindre vocation à durer, une vraie page sur un vrai domaine reste le choix sûr. Un hébergement mutualisé coûte moins de 5 € par mois, et vous en tirerez bien plus qu’une case cochée pour Pinterest. C’est ce que j’ai fini par faire : la politique de confidentialité vit maintenant sur le site de la marque, avec une section en anglais dédiée à l’application, pour que le relecteur n’ait plus à traduire quoi que ce soit.
Étape 3 — Configurer le redirect URI
Dans la page de votre app (onglet « Configurer » → « URI de redirection »), ajoutez l’URL de callback OAuth2 de votre instance n8n :
https://n8n.votredomaine.fr/rest/oauth2-credential/callback
Cette URL est affichée automatiquement par n8n en haut de l’écran de création de credential OAuth2 (« OAuth Redirect URL »). Elle doit correspondre exactement entre Pinterest et n8n. Un caractère de différence et l’autorisation échouera.

Étape 4 — La credential OAuth2 dans n8n

Ouvrez le nœud HTTP Request de création d’épingle, passez « Authentication » sur Generic Credential Type → OAuth2 API, puis créez la credential avec ces valeurs exactes :
| Champ n8n | Valeur |
|---|---|
| Grant Type | Authorization Code |
| Authorization URL | https://www.pinterest.com/oauth/ |
| Access Token URL | https://api.pinterest.com/v5/oauth/token |
| Client ID | Votre App ID Pinterest |
| Client Secret | La clé secrète de l’app (voir section suivante) |
| Scope | boards:read,pins:read,pins:write,user_accounts:read |
| Authentication | Header |
💡 Détail qui fait tout échouer : les scopes Pinterest se saisissent séparés par des virgules, sans espaces, en une seule chaîne. Et pins:write est indispensable pour créer des épingles. Sans lui, l’API refusera vos POST.
Autre subtilité vécue : n8n n’enregistre la credential qu’au clic sur « Connect ». Si vous n’avez pas encore le Client Secret, vos saisies ne seront pas sauvegardées. Gardez ces valeurs sous la main pour les ressaisir.

Le mur que personne n’annonce : l’accès « Trial » en attente

Et voici le vrai blocage. Sur la page de configuration de l’app, la clé secrète affiche « Indisponible quand Accès à trial en attente ». Autrement dit : Pinterest ne révèle le Client Secret qu’après avoir approuvé manuellement l’accès Trial de votre application. Impossible de finaliser l’OAuth2 avant.
- Délai constaté : 1 à 3 jours ouvrés en général, parfois plus selon la communauté Pinterest.
- Rien à cliquer pour accélérer. En cas de retard anormal, ouvrez un ticket au support (« Pinterest API and Developer Tools » → « App management support »).
- La génération « rapide » de jeton proposée entre-temps ne donne que des scopes en lecture seule (pas de
pins:write) : elle est inutilisable pour publier.
C’est frustrant, mais c’est aussi un bon test de patience : préparez votre planning Google Sheets et vos visuels pendant l’attente. Dès que la clé secrète apparaît, la finalisation prend 5 minutes.
Et si c’est un refus, pas une attente
Le scénario ci-dessus suppose que votre demande finit par passer. Elle peut aussi être refusée, ce qui m’est arrivé, et l’e-mail ne dit alors pas pourquoi. Voici les points à vérifier avant de redemander, par ordre de fréquence :
- Vos deux URL répondent-elles vraiment ? Testez-les en navigation privée. Une page d’attente « site en construction », un webhook éteint ou une erreur 404 suffisent à faire tomber le dossier.
- La politique de confidentialité est-elle lisible par le relecteur ? L’examen se fait en anglais. Une section anglaise décrivant l’application lui évite de deviner.
- Le nom de l’app correspond-il à la marque ? Un nom qui renvoie à un autre projet que le domaine déclaré brouille la lecture.
- La description dit-elle clairement qu’il s’agit d’un outil interne sur un seul compte ? C’est ce que le relecteur cherche en priorité : ce qui écarte le risque de collecte de données de tiers.
- Les scopes demandés sont-ils minimaux ? Demander l’accès aux publicités ou aux catalogues quand on publie des épingles est un signal négatif.
Corrigez, puis créez une nouvelle application. Et là, une mauvaise surprise vous attend : une fois l’accès refusé, Pinterest verrouille la fiche de l’application. Les cinq champs de l’onglet Détails passent en grisé, le bouton « Enregistrer » reste inactif, et rien ne vous l’explique à l’écran. Vous ne pouvez donc pas corriger le dossier refusé et le resoumettre : il faut repartir d’une application neuve. Le compteur autorise cinq applications, vous avez de la marge, et l’ancienne peut rester en place sans nuire. Si le second refus tombe sans plus d’explication, publiez un message sur le forum Pinterest Business Community, section Developers, en indiquant votre App ID. C’est le seul endroit où les développeurs obtiennent une réponse humaine.
Checklist de mise en service (une fois le Trial approuvé)
- Copier la clé secrète depuis la page de l’app (onglet Configurer).
- Dans n8n, rouvrir le nœud de création d’épingle → OAuth2 API → « Set up credential ».
- Ressaisir les valeurs de la credential et coller le Client Secret.
- Cliquer « Connect my account » → accepter l’écran d’autorisation Pinterest.
- Vérifier la credential Google Sheets (les tokens Google expirent aussi, reconnectez si besoin).
- Exécuter le workflow en test et vérifier qu’une épingle apparaît bien sur Pinterest.
- Activer le workflow. C’est en production.
Les cinq pièges qui m’ont coûté le plus de temps
- La mauvaise credential branchée : vérifiez toujours quelle credential est réellement sélectionnée dans votre nœud HTTP Request. Un reliquat d’un autre workflow peut s’y glisser.
- L’URL de profil Pinterest refusée comme site web : prévoyez une URL à vous, même hébergée sur n8n.
- Le nom de marque obligatoire dans l’URL de confidentialité : personne ne vous le dit avant le message d’erreur.
- L’icône obligatoire découverte à la soumission : préparez un PNG 512×512 avant de commencer.
- La clé secrète verrouillée tant que le Trial n’est pas approuvé : intégrez ce délai de quelques jours dans votre planning.
FAQ
Faut-il un compte Pinterest Business pour utiliser l’API ?
Oui. L’accès développeur et la création d’applications nécessitent un compte Business (gratuit, conversion possible depuis un compte personnel).
Combien coûte cette automatisation ?
L’API Pinterest est gratuite. Le seul coût est l’hébergement de n8n : environ 6 à 12 €/mois sur un VPS. Aucune limite de publications ni d’opérations, là où les plans Zapier et Make sont plafonnés. Leurs offres gratuites tiennent respectivement 100 tâches et 1 000 opérations par mois.
Puis-je utiliser un simple token au lieu d’OAuth2 ?
Techniquement oui, mais le token expire au bout d’environ 30 jours et vos publications s’arrêteront sans prévenir. Pour un workflow planifié, OAuth2 est la seule option sérieuse.
Que faire si l’accès Trial n’est jamais approuvé ?
Comptez 1 à 3 jours ouvrés. Au-delà d’une semaine, ouvrez un ticket au support Pinterest dans la catégorie « API and Developer Tools ». Vérifiez aussi que vos URLs (site et confidentialité) sont bien accessibles publiquement.
Cette méthode fonctionne-t-elle avec Make ou Zapier ?
Le principe (app développeur, OAuth2, endpoint /v5/pins) est identique. Make dispose même d’un module Pinterest natif qui simplifie l’authentification, mais avec les limites d’opérations de son plan tarifaire.
Ce que ce guide vous fait gagner, et ce qu’il ne garantit pas
La mise en place demande de la patience, et chez moi elle n’est pas terminée. L’accès à l’API m’a été refusé une première fois, et le workflow attend toujours. Le montage technique, lui, est prêt. Ce que je peux vous dire à ce stade, c’est ce que coûte le parcours, pas ce qu’il rapporte.
Le point d’étape suivra dès que les épingles partiront pour de bon : impressions, clics sortants, ce qui a fonctionné et ce qui n’a pas fonctionné. Avec les chiffres réels, y compris s’ils sont mauvais.
Les coulisses, par e-mail
J’écris ici ce que je teste, ce que ça coûte et ce qui ne marche pas. Pour recevoir les prochains articles et les points d’étape, laissez votre adresse. Une ou deux fois par mois, pas plus, et un lien de désinscription dans chaque message.

