curl \
-H "Authorization: Bearer API_KEY" \
-X GET "https://api.ayrshare.com/api/ads/instagram/insights?level=campaign&ids=120200000000000001&startDate=2026-09-01&endDate=2026-09-02"
const API_KEY = "API_KEY";
const params = new URLSearchParams({
level: "campaign",
ids: "120200000000000001",
startDate: "2026-09-01",
endDate: "2026-09-02",
});
fetch(`https://api.ayrshare.com/api/ads/instagram/insights?${params}`, {
method: "GET",
headers: { Authorization: `Bearer ${API_KEY}` },
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
headers = {'Authorization': 'Bearer API_KEY'}
params = {
'level': 'campaign',
'ids': '120200000000000001',
'startDate': '2026-09-01',
'endDate': '2026-09-02',
}
r = requests.get('https://api.ayrshare.com/api/ads/instagram/insights', headers=headers, params=params)
print(r.json())
{
"status": "success",
"platform": "instagram",
"level": "campaign",
"startDate": "2026-09-01",
"endDate": "2026-09-02",
"insights": [
{
"date": "2026-09-01",
"level": "campaign",
"id": "120200000000000001",
"currency": "USD",
"spend": 12.34,
"impressions": 4000,
"reach": 3100,
"clicks": 80,
"cpm": 3.085,
"cpc": 0.15425,
"ctr": 2,
"actions": [
{ "type": "link_click", "value": 75 },
{ "type": "omni_purchase", "value": 3 }
],
"conversionValue": 89.97
}
],
"count": 1,
"nextCursor": null
}
{
"status": "success",
"platform": "instagram",
"level": "ad",
"startDate": "2026-09-01",
"endDate": "2026-09-01",
"insights": [
{
"date": "2026-09-01",
"level": "ad",
"id": "120210000000000001",
"age": "25-34",
"gender": "female",
"currency": "EUR",
"spend": 1.5,
"impressions": 300
},
{
"date": "2026-09-01",
"level": "ad",
"id": "120210000000000001",
"age": "25-34",
"gender": "male",
"currency": "EUR",
"spend": 1,
"impressions": 200
}
],
"count": 2,
"nextCursor": null
}
{
"action": "ads",
"status": "error",
"code": 400,
"message": "The ad is not found or not authorized."
}
Instagram Ads
Insights
Obtenir en direct les insights publicitaires Instagram quotidiens par campagne ou par annonce
GET
/
ads
/
instagram
/
insights
curl \
-H "Authorization: Bearer API_KEY" \
-X GET "https://api.ayrshare.com/api/ads/instagram/insights?level=campaign&ids=120200000000000001&startDate=2026-09-01&endDate=2026-09-02"
const API_KEY = "API_KEY";
const params = new URLSearchParams({
level: "campaign",
ids: "120200000000000001",
startDate: "2026-09-01",
endDate: "2026-09-02",
});
fetch(`https://api.ayrshare.com/api/ads/instagram/insights?${params}`, {
method: "GET",
headers: { Authorization: `Bearer ${API_KEY}` },
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
headers = {'Authorization': 'Bearer API_KEY'}
params = {
'level': 'campaign',
'ids': '120200000000000001',
'startDate': '2026-09-01',
'endDate': '2026-09-02',
}
r = requests.get('https://api.ayrshare.com/api/ads/instagram/insights', headers=headers, params=params)
print(r.json())
{
"status": "success",
"platform": "instagram",
"level": "campaign",
"startDate": "2026-09-01",
"endDate": "2026-09-02",
"insights": [
{
"date": "2026-09-01",
"level": "campaign",
"id": "120200000000000001",
"currency": "USD",
"spend": 12.34,
"impressions": 4000,
"reach": 3100,
"clicks": 80,
"cpm": 3.085,
"cpc": 0.15425,
"ctr": 2,
"actions": [
{ "type": "link_click", "value": 75 },
{ "type": "omni_purchase", "value": 3 }
],
"conversionValue": 89.97
}
],
"count": 1,
"nextCursor": null
}
{
"status": "success",
"platform": "instagram",
"level": "ad",
"startDate": "2026-09-01",
"endDate": "2026-09-01",
"insights": [
{
"date": "2026-09-01",
"level": "ad",
"id": "120210000000000001",
"age": "25-34",
"gender": "female",
"currency": "EUR",
"spend": 1.5,
"impressions": 300
},
{
"date": "2026-09-01",
"level": "ad",
"id": "120210000000000001",
"age": "25-34",
"gender": "male",
"currency": "EUR",
"spend": 1,
"impressions": 200
}
],
"count": 2,
"nextCursor": null
}
{
"action": "ads",
"status": "error",
"code": 400,
"message": "The ad is not found or not authorized."
}
Obtenez en direct les performances de vos annonces Instagram, une ligne par jour, pour vos campagnes ou vos annonces.
Choisissez les indicateurs souhaités, ventilez-les par âge, genre, pays ou placement, et parcourez de longues périodes page par page.
Instagram fournit tous les indicateurs de ce tableau. Une exception : Meta ne fournit pas
- Les chiffres sont lus auprès de Meta au moment de votre appel, et non à partir d’une copie nocturne.
- Utilisez Historique pour les dépenses que nous facturons. Utilisez Insights pour le reporting et l’analyse.
- Toutes les valeurs monétaires sont exprimées dans la devise du compte publicitaire, renvoyée dans
currencysur chaque ligne. - Les campagnes doivent avoir été créées via Ayrshare pour ce profil. Une annonce créée via Ayrshare pour un autre profil est refusée. Les autres ID d’annonce sont lus avec le compte Meta lié à ce profil, Meta ne renvoie donc que les annonces visibles par ce compte.
- Une requête porte sur un seul compte publicitaire. Des ID provenant de plusieurs comptes publicitaires renvoient le code
101, tout comme plusieurs ID d’annonce dont Ayrshare n’a aucune trace. Demandez-les un par un.
Paramètres d’en-tête
Paramètres de requête
string
requis
Ce sur quoi porte chaque ligne :
campaign ou ad.adSet n’est pas encore pris en charge et renvoie le code 101.string
ID de campagnes ou d’annonces séparés par des virgules, jusqu’à 50. Obligatoire pour
level=campaign.Avec level=ad, vous pouvez omettre ids et envoyer accountId à la place. Le rapport porte alors sur les annonces
que vous avez créées via Ayrshare pour ce profil dans ce compte publicitaire, et non sur toutes ses annonces. Cela fonctionne
jusqu’à 50 annonces de ce type. Au-delà, envoyez leurs ID ou établissez le rapport par campagne. Si aucune n’est trouvée, le
rapport est vide.string
L’ID du compte publicitaire, avec ou sans le préfixe
act_ (1234567890 ou act_1234567890).Obligatoire avec level=ad lorsque ids est omis.string
Indicateurs à renvoyer, séparés par des virgules. Omettez-le pour les obtenir tous. Consultez Indicateurs.
string
Ventilations séparées par des virgules :
age, gender, country, placement. Chaque jour comporte alors une ligne par
valeur, ou par combinaison avec age,gender. Envoyez une ventilation à la fois, ou age,gender ; Meta
refuse les autres combinaisons (comme age,country), qui renvoient donc le code 101.string
défaut:"il y a 30 jours"
Premier jour, au format
YYYY-MM-DD. Il peut remonter jusqu’à 37 mois.string
défaut:"aujourd'hui"
Dernier jour, au format
YYYY-MM-DD.string
Le
nextCursor de la réponse précédente, pour obtenir la page suivante.Indicateurs
| Indicateur | Type | Signification |
|---|---|---|
spend | nombre | Montant dépensé |
impressions | nombre | Nombre de fois où l’annonce a été affichée |
reach | nombre | Personnes ayant vu l’annonce au moins une fois |
clicks | nombre | Clics |
cpm | nombre ou null | Coût pour 1 000 impressions |
cpc | nombre ou null | Coût par clic. null un jour sans clic |
ctr | nombre ou null | Taux de clics, en pourcentage |
actions | tableau | Chaque type d’action comptabilisé par Meta, avec son nombre |
conversionValue | nombre | Valeur totale des achats |
reach pour un rapport avec
breakdowns qui commence il y a plus de 13 mois, donc reach est omis de ces lignes. Sur les réseaux qui ne fournissent pas un indicateur, celui-ci est omis
des lignes au lieu d’être renvoyé avec la valeur 0, et le demander renvoie le code 101.
Meta comptabilise certaines actions sous plusieurs types, n’additionnez donc pas les valeurs de
actions. Par
exemple, omni_purchase inclut déjà purchase. conversionValue compte chaque achat une seule fois.Pagination
Chaque réponse renvoie jusqu’à 500 lignes. S’il y en a davantage,nextCursor est renseigné. Renvoyez la même requête
avec cursor défini sur cette valeur pour obtenir la page suivante. Sur la dernière page, nextCursor vaut null.
Erreurs
| Code | Quand |
|---|---|
101 | Un paramètre est manquant ou incorrect, une ventilation ou un indicateur n’est pas pris en charge, level=adSet est envoyé, startDate remonte à plus de 37 mois, plus de 50 ID sont envoyés, les ID appartiennent à plusieurs comptes publicitaires, ou Meta refuse la combinaison de ventilations |
400 | Une campagne ou une annonce ne vous appartient pas, ou accountId n’est pas le compte publicitaire enregistré par Ayrshare pour les ID envoyés. Pour une annonce sans enregistrement Ayrshare, accountId n’est pas vérifié et l’annonce est lue seule |
370 | Meta n’a pas pu renvoyer les insights. Réessayez |
curl \
-H "Authorization: Bearer API_KEY" \
-X GET "https://api.ayrshare.com/api/ads/instagram/insights?level=campaign&ids=120200000000000001&startDate=2026-09-01&endDate=2026-09-02"
const API_KEY = "API_KEY";
const params = new URLSearchParams({
level: "campaign",
ids: "120200000000000001",
startDate: "2026-09-01",
endDate: "2026-09-02",
});
fetch(`https://api.ayrshare.com/api/ads/instagram/insights?${params}`, {
method: "GET",
headers: { Authorization: `Bearer ${API_KEY}` },
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
headers = {'Authorization': 'Bearer API_KEY'}
params = {
'level': 'campaign',
'ids': '120200000000000001',
'startDate': '2026-09-01',
'endDate': '2026-09-02',
}
r = requests.get('https://api.ayrshare.com/api/ads/instagram/insights', headers=headers, params=params)
print(r.json())
{
"status": "success",
"platform": "instagram",
"level": "campaign",
"startDate": "2026-09-01",
"endDate": "2026-09-02",
"insights": [
{
"date": "2026-09-01",
"level": "campaign",
"id": "120200000000000001",
"currency": "USD",
"spend": 12.34,
"impressions": 4000,
"reach": 3100,
"clicks": 80,
"cpm": 3.085,
"cpc": 0.15425,
"ctr": 2,
"actions": [
{ "type": "link_click", "value": 75 },
{ "type": "omni_purchase", "value": 3 }
],
"conversionValue": 89.97
}
],
"count": 1,
"nextCursor": null
}
{
"status": "success",
"platform": "instagram",
"level": "ad",
"startDate": "2026-09-01",
"endDate": "2026-09-01",
"insights": [
{
"date": "2026-09-01",
"level": "ad",
"id": "120210000000000001",
"age": "25-34",
"gender": "female",
"currency": "EUR",
"spend": 1.5,
"impressions": 300
},
{
"date": "2026-09-01",
"level": "ad",
"id": "120210000000000001",
"age": "25-34",
"gender": "male",
"currency": "EUR",
"spend": 1,
"impressions": 200
}
],
"count": 2,
"nextCursor": null
}
{
"action": "ads",
"status": "error",
"code": 400,
"message": "The ad is not found or not authorized."
}