Scans
Each GroundScore scan produces an overall score, per-pillar sub-scores, and a detailed list of check results. List the most recent scans for a site, or read a single scan's full detail.
List scans for a site
/api/v1/sites/{siteId}/scansscope: read:scansReturns the 50 most-recent scans for the given site, newest first. Each entry is a compact summary. Call the detail endpoint for the full breakdown.
Path parameters
| Parameter | Type | Description |
|---|---|---|
siteId | string | Site ID from GET /api/v1/sites. |
Example request
Example response
The list includes scans in every state, newest first. status is one of queued, processing, completed, or failed. score and completedAt are null until a scan completes, so filter on status before charting a score.
Get scan detail
/api/v1/sites/{siteId}/scans/{scanId}scope: read:scansReturns the scan's overall score, its per-pillar sub-scores, and the first 20 individual check results.
Path parameters
| Parameter | Type | Description |
|---|---|---|
siteId | string | Site ID. |
scanId | string | Scan ID from the list endpoint. |
Example request
Example response
Each entry in checkResults carries a name, a category (one of dns, http, meta, robots, sitemap, security), a status (pass, warn, fail, or error), a free-form value, a human-readable description, and the durationMs the check took.
crawlSignals payload is omitted entirely. It's pipeline state, not API data.Pillar keys
A completed scan returns exactly three pillars. The pillar key is the stored identifier, which does not always match the name the pillar carries in the GroundScore dashboard. weight is that pillar's contribution to the overall score.
| Key | Shown in-app as | Weight | Meaning |
|---|---|---|---|
authority | Authority & Trust | 0.5 | Trust signals: citations earned, domain authority, off-site mentions. |
entity | Site Readiness | 0.35 | Structured data, identity, crawlability, brand grounding. |
ai_visibility | AI Presence | 0.15 | How well AI engines surface and cite this site. |
Errors
| Code | When |
|---|---|
not_found | Site or scan does not exist, or the scan belongs to a different site. |
insufficient_scope | Key lacks read:scans. |