Synup
Créer une clé
v1Ressources/AEO/getCompare two months of AI visibility

Compare two months of AI visibility

Compares one location's AI search visibility between two measurement months: overall and per-engine score changes, mention rate, average position and per-prompt changes. Prompt and engine pairs answered in both months are the unit of comparison: likeForLike gives the change over only those, and coverage says whether the months are comparable at all, so a change in what was measured is not mistaken for a change in visibility. Read-only: it never generates a report. A month with no report is a 404 naming the months that exist.

get/api/v1/aeo/reports/compare
aeo:read
Paramètres de requête
locationIdstringobligatoire
The location.
clientIdstringfacultatif
Narrows the location lookup to this client.
fromstringfacultatif
The earlier month, YYYY-MM. Defaults to the report just before to.
tostringfacultatif
The later month, YYYY-MM. Defaults to the latest report.
Réponse
dataobjectfacultatif
fromobjectfacultatif
The earlier month: yearMonth and generatedAt.
toobjectfacultatif
The later month: yearMonth and generatedAt.
visibilityobjectfacultatif
The overall score in each month and the change.
enginesobjectfacultatif
Per engine: each month's score, the change, and whether each month queried that engine.
metricsobjectfacultatif
Mention rate, average position, sources cited and prompts covered, each month and the change.
promptsarray of objectfacultatif
Per prompt and engine: each month's result and the score change.
likeForLikeobjectfacultatif
The change over only the prompt and engine pairs both months measured: how many there are, the average score change, and the same per engine. The average is null when no pair was measured in both months.
coverageobjectfacultatif
Whether the months are comparable, and which engines or prompts appear in only one of them.
Erreurs
400Il manque un paramètre requis à la requête, ou elle est invalide.
401Clé API manquante, invalide, expirée ou révoquée.
403La clé n'a pas la permission requise, ou n'est pas autorisée pour ce client/établissement.
404La ressource est introuvable, ou n'appartient pas à votre agence.
429Trop de requêtes. Réessayez après le nombre de secondes indiqué dans l'en-tête Retry-After.
get/api/v1/aeo/reports/compare
Votre clé API
locationId *
clientId
from
to
{
  "data": {
    "from": {
      "yearMonth": "2026-03",
      "generatedAt": "2026-03-02T00:00:00.000Z"
    },
    "to": {
      "yearMonth": "2026-06",
      "generatedAt": "2026-06-02T00:00:00.000Z"
    },
    "visibility": {
      "from": 40,
      "to": 65,
      "delta": 25
    },
    "engines": {
      "ChatGPT": {
        "from": 40,
        "to": 70,
        "delta": 30,
        "queriedFrom": true,
        "queriedTo": true
      }
    },
    "metrics": {
      "mentionRate": {
        "from": 30,
        "to": 45,
        "delta": 15
      },
      "avgPosition": {
        "from": 3,
        "to": 2,
        "delta": -1
      },
      "sourcesCited": {
        "from": 5,
        "to": 8,
        "delta": 3
      },
      "promptsCovered": {
        "from": {
          "value": 4,
          "total": 6
        },
        "to": {
          "value": 5,
          "total": 6
        }
      }
    },
    "prompts": [
      {
        "keyword": "best dentist near me",
        "presence": "both",
        "engines": {
          "ChatGPT": {
            "from": {
              "score": 40,
              "mentioned": true,
              "rank": 3
            },
            "to": {
              "score": 70,
              "mentioned": true,
              "rank": 1
            },
            "scoreDelta": 30
          }
        }
      }
    ],
    "likeForLike": {
      "pairs": 1,
      "averageScoreChange": 30,
      "byEngine": {
        "ChatGPT": {
          "pairs": 1,
          "averageScoreChange": 30
        },
        "Gemini": {
          "pairs": 0,
          "averageScoreChange": null
        },
        "Perplexity": {
          "pairs": 0,
          "averageScoreChange": null
        }
      }
    },
    "coverage": {
      "comparable": true,
      "pairs": {
        "matched": 1,
        "onlyInFrom": 0,
        "onlyInTo": 0
      },
      "enginesOnlyInFrom": [],
      "enginesOnlyInTo": [],
      "promptsOnlyInFrom": [],
      "promptsOnlyInTo": [],
      "notes": []
    }
  }
}

Guides qui utilisent cette ressource