v1Recursos/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
Parámetros de consulta
locationIdstringobligatorio
The location.
clientIdstringopcional
Narrows the location lookup to this client.
fromstringopcional
The earlier month, YYYY-MM. Defaults to the report just before to.
tostringopcional
The later month, YYYY-MM. Defaults to the latest report.
Respuesta
dataobjectopcional
fromobjectopcional
The earlier month: yearMonth and generatedAt.
toobjectopcional
The later month: yearMonth and generatedAt.
visibilityobjectopcional
The overall score in each month and the change.
enginesobjectopcional
Per engine: each month's score, the change, and whether each month queried that engine.
metricsobjectopcional
Mention rate, average position, sources cited and prompts covered, each month and the change.
promptsarray of objectopcional
Per prompt and engine: each month's result and the score change.
likeForLikeobjectopcional
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.
coverageobjectopcional
Whether the months are comparable, and which engines or prompts appear in only one of them.
Errores
400A la solicitud le falta un parámetro obligatorio o es inválida de otra forma.
401La clave de API falta, es inválida, expiró o fue revocada.
403A la clave le falta el permiso requerido, o no está autorizada para este cliente/ubicación.
404El recurso no se encontró, o no pertenece a su agencia.
429Demasiadas solicitudes. Reintente tras el número de segundos indicado en el encabezado Retry-After.
get/api/v1/aeo/reports/compare
Su clave de 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": []
    }
  }
}

Guías que usan este recurso