---
title: AI Overviews
api: GET /track/aio
description: "Check Google AI Overview presence for your brand's topic family hub keywords."
---

> **For AI agents:** the complete documentation index is at [llms.txt](https://docs.boringmarketing.com/llms.txt). Append `.md` to any page URL for its markdown version.

Checks whether Google AI Overviews (AIO) appear for the hub keyword of each of your brand's topic families, and whether your brand's domain is cited within them. Capped at 10 keywords per call for cost control.

## Query parameters

<ParamField query="brand_id" type="string" required>
  The brand UUID.
</ParamField>

<ParamField query="run_id" type="string">
  Pin to the families from a specific pipeline run. Defaults to the latest completed run.
</ParamField>

## Response

```json
{
  "brand_id": "ea502f67-338b-47e4-a245-5c4eea8bd8d2",
  "pulled_at": "2026-04-07T10:00:00Z",
  "summary": "AIO present for 6/10 keywords. Cited in 2.",
  "results": [
    {
      "keyword": "ai marketing tools",
      "aio_present": true,
      "we_are_cited": false,
      "sources_cited": [
        "https://hubspot.com/...",
        "https://semrush.com/..."
      ],
      "aio_text_preview": "AI marketing tools help businesses automate campaigns..."
    },
    {
      "keyword": "marketing automation platforms",
      "aio_present": false,
      "we_are_cited": false
    }
  ]
}
```

If the brand has no topic families yet, the same envelope is returned with an empty `results` array and a `message` field:

```json
{
  "brand_id": "ea502f67-338b-47e4-a245-5c4eea8bd8d2",
  "pulled_at": "2026-04-07T10:00:00Z",
  "message": "No topic families found. Run POST /brands/{id}/discover first to build the keyword universe.",
  "summary": "No topic families found.",
  "results": []
}
```

## Field notes

| Field | Description |
|-------|-------------|
| `summary` | Human-readable one-line summary of AIO presence and citation count |
| `results[].aio_present` | Whether Google showed an AI Overview for this keyword's SERP |
| `results[].we_are_cited` | Whether your brand's domain appears in the AIO source list |
| `results[].sources_cited` | Up to 3 source URLs cited in the AIO (only included when `aio_present=true`) |
| `results[].aio_text_preview` | First 150 characters of the AIO generated text |

Hub keywords are taken from the V2 families table (`GET /brands/{id}/families`), not the legacy cluster model.

## Example

```bash
curl -H "X-API-Key: $BM_API_KEY" \
  "https://api.boringmarketing.com/track/aio?brand_id=$BRAND_ID"
```
