Clé API Instagram : ce qu'il te faut vraiment à la place
Il n'y a pas de clé d'API Instagram. Meta délivre un app ID et un app secret, et chaque appel est autorisé par un token d'accès lié à un compte professionnel, obtenu via OAuth et valable 60 jours. C'est le terme de recherche qui est faux, pas ta compréhension. Tout ce qui suit a été lu sur la documentation développeur de Meta le 13 novembre 2026.
Pourquoi la chose que tu cherches n'existe pas
La confusion est compréhensible, parce que d'autres plateformes fonctionnent vraiment comme ça. Une clé API YouTube est une chaîne que tu colles dans une URL pour lire des données publiques. Pinterest, Google Maps et la plupart des API en lecture seule te donnent quelque chose de similaire.
Instagram ne le fait jamais. Il n'existe aucun endpoint qui renvoie des données Instagram publiques en échange d'une chaîne au niveau du projet. Chaque endpoint Instagram agit au nom d'un compte précis qui a donné son autorisation à ton app, ce qui veut dire un token utilisateur, pas une clé.
| Modèle de la clé d'API | ||
|---|---|---|
| Ce qui t'identifie | une chaîne au niveau du projet | un app ID plus un token d'accès utilisateur |
| Qui consent | personne | le propriétaire du compte, via un écran OAuth |
| Lit des données publiques | oui | aucun endpoint de ce type |
| Expire | non | 60 jours, renouvelable |
| Type de compte requis | aucun | Compte Instagram professionnel, business ou créateur |
Donc le reste de cette page porte sur les trois objets qui remplacent la clé : une app, un compte professionnel et un token.
Ce qu'il te faut avant que quoi que ce soit marche
Un compte professionnel. Business ou créateur. Un profil Instagram personnel est totalement hors de portée de l'API, quelle que soit la configuration. Le basculement est gratuit et prend une minute dans l'app Instagram, et c'est la raison numéro un pour laquelle une intégration correcte ne renvoie rien.
Une app Meta. Créée dans le Meta App Dashboard, avec le produit Instagram ajouté. C'est là que vivent vraiment les deux identifiants que les gens appellent une clé : l'Instagram App ID, qui part dans les requêtes comme client_id, et l'Instagram App Secret. Les deux se trouvent dans App Dashboard, Instagram, API setup with Instagram login, puis Business login settings.
Les bons scopes. Quatre valeurs, et les anciens noms business_* sont dépréciés :
instagram_business_basic, obligatoire pour tout, y compris le refresh.instagram_business_content_publishpour publier.instagram_business_manage_commentspour lire les commentaires et y répondre.instagram_business_manage_messagespour l'inbox des messages privés.
Comment obtenir un token d'accès à l'API Instagram
Quatre appels. La documentation Business Login for Instagram est la source de chacun.
1. Envoie l'utilisateur sur la fenêtre d'autorisation.
https://www.instagram.com/oauth/authorize
?client_id=INSTAGRAM_APP_ID
&redirect_uri=https://yourapp.com/auth
&response_type=code
&scope=instagram_business_basic,instagram_business_content_publish
&state=anti_csrf_value
Le redirect_uri doit correspondre exactement à une URI enregistrée dans le dashboard. Si l'utilisateur accepte, il revient avec un code.
2. Échange le code contre un token courte durée. Le code est valable une heure et ne sert qu'une fois. Il arrive avec un #_ final que tu retires avant de l'envoyer.
curl -X POST https://api.instagram.com/oauth/access_token \
-F client_id=INSTAGRAM_APP_ID \
-F client_secret=INSTAGRAM_APP_SECRET \
-F grant_type=authorization_code \
-F redirect_uri=https://yourapp.com/auth \
-F code=AQBx...
Tu récupères un access_token, l'identifiant user_id propre à Instagram et les permissions accordées. Ce token dure une heure, le temps de faire l'étape 3 et rien d'autre.
3. Échange-le contre un token longue durée. Côté serveur uniquement, parce que l'appel porte ton app secret.
curl -G https://graph.instagram.com/access_token \
-d grant_type=ig_exchange_token \
-d client_secret=INSTAGRAM_APP_SECRET \
-d access_token=SHORT_LIVED_TOKEN
La réponse porte expires_in: 5183944, soit 60 jours.
4. Renouvelle-le avant le 60e jour.
curl -G https://graph.instagram.com/refresh_access_token \
-d grant_type=ig_refresh_token \
-d access_token=LONG_LIVED_TOKEN
Trois conditions, toutes documentées et toutes faciles à rater : le token doit avoir au moins 24 heures, il ne doit pas encore être expiré, et l'utilisateur doit avoir accordé instagram_business_basic. Rate la fenêtre et il n'y a pas de session de rattrapage. Un token longue durée expiré ne peut plus être renouvelé, et l'utilisateur doit repasser par l'écran d'autorisation.
Instagram Login ou Facebook Login : choisis la configuration d'abord
Meta propose deux façons de se connecter, et elles ne sont pas interchangeables. Choisir la mauvaise, c'est refaire le travail OAuth.
| Instagram API with Instagram Login | API Instagram avec Facebook Login | |
|---|---|---|
| Page Facebook obligatoire | non | oui, liée au compte |
| L'utilisateur se connecte avec | Identifiants Instagram | Identifiants Facebook, avec les droits d'admin de la Page |
| Publication de contenu | oui | oui |
| Modération des commentaires | oui | oui |
| Insights | oui | oui |
| Mentions | oui | oui |
| La messagerie | oui, nativement | via la Messenger Platform |
| Recherche par hashtag | non | oui |
| Identification de produits | non | oui |
| Publicités en partenariat | non | oui |
Pour un outil créateur, Instagram Login est la voie la plus légère : pas de Page, pas de vérification des droits d'admin, et la messagerie sans la Messenger Platform par-dessus. Prends Facebook Login quand tu as besoin de la recherche par hashtag, du marquage produit ou des publicités de partenariat, qui n'existent pas de l'autre côté. Les durées de vie des tokens sont identiques dans les deux cas : codes d'une heure, tokens courte durée d'une heure, tokens longue durée de 60 jours.
Ce qu'aucune des deux ne donne, c'est l'ancienne voie en lecture seule. La Basic Display API a disparu, et le remplacement pour cet usage est détaillé dans l'alternative à l'Instagram Basic Display API. Le détail endpoint par endpoint de ce qui reste est dans l'Instagram Graph API en 2026.
Ce qui casse trois mois plus tard
Obtenir un token, c'est un après-midi. Garder les tokens en vie, c'est le vrai travail, et c'est là que les petites intégrations pourrissent.
L'horloge des 60 jours tourne par compte. Avec un compte, tu peux le renouveler à la main et t'en souvenir. Avec douze, il te faut un job planifié qui renouvelle chaque token bien avant l'expiration, stocke le nouveau, et te prévient quand un renouvellement échoue, parce qu'un échec est silencieux : l'ancien token continue de marcher jusqu'au jour où il s'arrête.
Trois autres façons dont le même système mord, aucune liée à ton code :
- Un utilisateur change son mot de passe Instagram ou révoque l'app, et le token meurt immédiatement, peu importe sa date d'expiration.
- Un compte repasse en personnel, et tous les appels se mettent à échouer avec une erreur de permissions plutôt qu'une erreur de type de compte.
- Ton app reste en mode développement, où elle ne marche que pour les gens qui ont un rôle dessus. Aller plus loin veut dire passer la revue d'app de Meta pour chaque permission que tu utilises.
Le même schéma se rejoue sur chaque réseau avec une horloge différente et une panne silencieuse différente, et c'est le sujet de tokens d'accès aux réseaux sociaux.
Quand arrêter de construire ça toi-même
Si Instagram est le seul réseau que tu touches, fais-le toi-même. Une app, un flux OAuth, un job de refresh, c'est une quantité connue, et tu gardes le contrôle total des scopes.
Le calcul change avec le deuxième réseau. Chacun ajoute sa propre app, sa propre revue, sa propre durée de vie de token et sa propre raison de se déconnecter dans la nuit. C'est ce que PlugKit fait à la place : Instagram, Facebook, LinkedIn, TikTok, YouTube, X, WhatsApp et Telegram derrière une API REST et un serveur MCP hébergé sur https://api.plugkit.co/mcp, avec l'OAuth, le refresh et la reconnexion gérés. C'est 49 $ par mois pour 5 comptes connectés, résiliable à tout moment, ou 97 $ pour 30. Sept jours gratuits, une carte à l'inscription et rien de prélevé avant le 7e jour.
Ça n'enlève pas la revue d'app de Meta, et rien ne le peut quand tu publies sous ta propre app. Ce que ça enlève, c'est le travail d'identifiants par plateforme et les jobs de refresh. La comparaison entre fournisseurs est dans le guide des API de réseaux sociaux, et si c'est un agent plutôt qu'un script qui publie, le serveur MCP Instagram est le chemin le plus court.
FAQ
Est-ce qu'Instagram a une clé d'API ?
Non. Meta délivre un Instagram App ID et un Instagram App Secret pour ton app, et chaque requête est autorisée par un token d'accès utilisateur obtenu via OAuth. Il n'existe pas de clé au niveau du projet qui lit des données Instagram publiques, parce qu'aucun endpoint de ce type n'existe.
Comment obtenir un token d'accès à l'API Instagram ?
Envoie le propriétaire du compte sur https://www.instagram.com/oauth/authorize, échange le code reçu sur https://api.instagram.com/oauth/access_token contre un token d'une heure, puis échange celui-là sur https://graph.instagram.com/access_token avec grant_type=ig_exchange_token contre un token de 60 jours. Le compte doit être un compte professionnel.
Combien de temps dure un token d'accès Instagram ?
Les codes d'autorisation et les tokens courte durée durent une heure. Les tokens longue durée durent 60 jours et peuvent être renouvelés une fois qu'ils ont au moins 24 heures. Un token longue durée expiré ne peut plus être renouvelé, l'utilisateur doit donc autoriser à nouveau.
Puis-je utiliser l'API Instagram avec un compte personnel ?
Non. L'API ne touche que les comptes professionnels, business ou créateur. Passer un compte en professionnel est gratuit et prend une minute dans l'app Instagram, et ça doit être fait avant le flux OAuth, pas après.
Est-ce qu'il me faut une Page Facebook pour l'API Instagram ?
Seulement avec la configuration Facebook Login. L'API Instagram avec Instagram Login marche sans Page et couvre la publication, les commentaires, les insights, les mentions et la messagerie. Il te faut la voie liée à une Page pour la recherche par hashtag, le marquage produit et les publicités de partenariat.
Un plug pour chaque plateforme que ton agent touche
49 $ par mois pour 5 comptes connectés, résiliable à tout moment. Toutes les fonctionnalités dans tous les forfaits.
Récupère ta clé API →