Poll Scan Status | Pendium MCP Docs | Pendium.ai
Pendium MCP Docs

Poll Scan Status

Check whether a visibility scan has finished and get progress updates.

GET /api/visibility/scan?syntheticId={id}

Authentication: Required

After triggering a scan, use this endpoint to check whether it's done. Poll every 30–60 seconds until scanAvailable is true, then grab the full report.

Query parameters

ParameterTypeRequiredDescription
syntheticIdintegerYesThe brand agent ID returned when you triggered the scan.

Example

curl "https://pendium.ai/api/visibility/scan?syntheticId=1234" \
  -H "x-api-key: pk_live_xxxxxxxxxxxx"

Response — scan complete

When the scan is done, you'll get the top-level scores and a pointer to the full report:

{
  "syntheticId": 1234,
  "scanAvailable": true,
  "overallScore": 62,
  "scanDate": "2026-03-17T14:30:00Z",
  "platformScores": {
    "chatgpt": 71,
    "claude": 58,
    "gemini": 55,
    "aio": 64
  },
  "reportUrl": "https://pendium.ai/1234/visibility",
  "_pendium": {
    "what_you_are_seeing": "Latest scan results for syntheticId=1234...",
    "next_steps": ["Get the full report: GET /api/visibility/report?syntheticId=1234"]
  }
}

Response — scan still running

{
  "syntheticId": 1234,
  "scanAvailable": false,
  "scanInProgress": true,
  "progress": {
    "completedQueries": 18,
    "totalQueries": 30
  },
  "message": "Scan in progress: 18/30 queries complete. Poll again in 30-60 seconds."
}

Response — no scan found

{
  "syntheticId": 1234,
  "scanAvailable": false,
  "scanInProgress": false,
  "message": "No scan found. Trigger one with POST /api/visibility/scan."
}

Polling strategy

A typical scan takes 2–5 minutes depending on the number of queries and platforms. Here's a reasonable polling loop:

  1. Trigger the scan with POST /api/visibility/scan
  2. Wait 30 seconds
  3. GET /api/visibility/scan?syntheticId=...
  4. If scanAvailable is false, wait 30 seconds and try again
  5. Once scanAvailable is true, fetch the full report with GET /api/visibility/report

On this page