GroundScore
Sign in
API Docs

AI Monitor

AI Monitor runs check how the major AI engines describe a site. The API exposes the latest completed run: the composite visibility score and the per-engine component breakdown that produced it.

Get latest AI Monitor run

GET/api/v1/sites/{siteId}/ai-monitorscope: read:ai-monitor

Returns the most recent completed AI Monitor run for the site. Runs still in progress, or runs that failed, are not returned.

Path parameters

ParameterTypeDescription
siteIdstringSite ID.

Example request

bash
curl -H "Authorization: Bearer gs_live_yourkeyhere" \
     https://app.groundscore.ai/api/v1/sites/clx8h2k4p0001qz7m3n9d5f2g/ai-monitor

Example response

json
{
  "data": {
    "aiMonitor": {
      "runId": "clxb7n2q0005qz7m1c4v9j8s",
      "completedAt": "2026-05-22T04:00:00.000Z",
      "compositeScore": 67,
      "componentScores": {
        "openai": {
          "components": {
            "surfacing": 40,
            "sov": 30,
            "prominence": 50,
            "brandRecognition": 60,
            "citation": 0
          },
          "score": 41,
          "rowCounts": { "neutralSurfaced": 4, "directedTotal": 6 }
        },
        "anthropic": {
          "components": {
            "surfacing": 80,
            "sov": 75,
            "prominence": 80,
            "brandRecognition": 85,
            "citation": 70
          },
          "score": 79,
          "rowCounts": { "neutralSurfaced": 8, "directedTotal": 6 }
        },
        "perplexity": {
          "components": {
            "surfacing": 78,
            "sov": 72,
            "prominence": 80,
            "brandRecognition": 75,
            "citation": 80
          },
          "score": 77,
          "rowCounts": { "neutralSurfaced": 8, "directedTotal": 6 }
        }
      }
    }
  }
}

aiMonitor is null when no AI Monitor run has ever completed for the site. Note the field is runId, not id.

Engine keys

componentScores is keyed by engine identifier, not by product name. The scored engines are openai (ChatGPT), perplexity (Perplexity), anthropic (Claude), and gemini (Gemini).

Only engines that produced usable rows for the run appear. An engine whose adapter failed is left out rather than reported as zero, so treat a missing key as "not measured this run", never as a score of nothing. Read the keys present rather than assuming a fixed set.

AI Overviews (google_aio) and Grok (grok) are measured as signals only. They appear on GroundScore surfaces but are deliberately excluded from componentScores and from compositeScore, so they never appear here.

Composite score

Scoring runs in two steps. First, each engine's five components are combined into that engine's own score using fixed weights:

0.40 · Surfacing
+ 0.20 · Share of Voice (SoV)
+ 0.20 · Prominence
+ 0.10 · Brand Recognition
+ 0.10 · Citation

Then the headline compositeScore is the plain average of those per-engine scores across the engines that produced usable rows, rounded to an integer in the range 0 to 100. Engines that failed are excluded from the average rather than counted as zero, so a run measured on fewer engines is still comparable.

Component keys

KeyMeaning
surfacingShare of prompts where the engine surfaced the site at all.
sovShare of Voice: how often the site appears relative to competitors in the same answers.
prominencePosition and emphasis within answers when surfaced.
brandRecognitionHow the engine describes the brand when prompted by name.
citationWhether the engine cites the site's own URLs as sources.
prominence and brandRecognition are the two components that can come back null. Null means the component could not be graded for that engine on that run, which is different from a graded result of zero. A null component drops out of that engine's score and the remaining weights are renormalized, so a site that could not be graded never reads as a site that scored nothing. surfacing, sov, and citation are always numbers.

Errors

CodeWhen
not_foundSite does not exist or is not owned by the authenticated user.
insufficient_scopeKey lacks read:ai-monitor.