Skip to main content
Glama
localseodata

Local SEO Data

Official

ai_overview

Read-only

Checks whether Google displays an AI Overview for a keyword in a location and returns the sources it cites, including asynchronously rendered overviews.

Instructions

Use when checking if Google shows an AI Overview for a keyword and what sources it cites. Returns has_ai_overview, asynchronous_ai_overview, summary_text, and cited_sources with URLs. Each cited source carries a position — the order the overview cited it, from 1, counted after duplicate pages collapse. asynchronous_ai_overview reports that Google rendered the overview after page load — this tool fetches those as well, so summary_text and cited_sources are populated either way. Costs 2 credits. May take 10-30 seconds — fetching an asynchronous overview is a second request to Google.

Input Schema

NameRequiredDescriptionDefault
freshNoBypass the hour of caching and run the query again. Use when sampling the same prompt repeatedly to measure how the answer varies — a cached hit would return the earlier run and hide the variance. Always billed at the normal price, since there is no cache hit to be free.
keywordYesSearch keyword (e.g. "best plumber near me")
locationYesCity and state (e.g. "Orchard Park, NY")

Output Schema

NameRequiredDescriptionDefault
keywordYes
locationYes
summary_textYes
cited_sourcesYes
location_usedNo
has_ai_overviewYes
location_alternativesNo
asynchronous_ai_overviewNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.1.0
    • addedInput schema / properties / fresh
      Added value: +{
      +  "description": "Bypass the hour of caching and run the query again. Use when sampling the same prompt repeatedly to measure how the answer varies — a cached hit would return the earlier run and hide the variance. Always billed at the normal price, since there is no cache hit to be free.",
      +  "type": "boolean"
      +}
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": true,
      +  "properties": {
      +    "asynchronous_ai_overview": {
      +      "default": false,
      +      "type": "boolean"
      +    },
      +    "cited_sources": {
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "domain": {
      +            "type": "string"
      +          },
      +          "position": {
      +            "type": "number"
      +          },
      +          "title": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "title",
      +          "url",
      +          "domain"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "has_ai_overview": {
      +      "type": "boolean"
      +    },
      +    "keyword": {
      +      "type": "string"
      +    },
      +    "location": {
      +      "type": "string"
      +    },
      +    "location_alternatives": {
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "code": {
      +            "type": "number"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "type": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "name",
      +          "code",
      +          "type"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "location_used": {
      +      "type": "string"
      +    },
      +    "summary_text": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "has_ai_overview",
      +    "summary_text",
      +    "cited_sources",
      +    "keyword",
      +    "location"
      +  ],
      +  "type": "object"
      +}
  2. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnlyHint/openWorldHint/destructiveHint annotations: 2-credit cost, 10-30 second latency, the reason for that latency (a second request to Google for asynchronous overviews), and the guarantee that summary_text and cited_sources are populated in both sync and async cases. The position numbering rule and duplicate-collapse behavior are also disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the use case, then return fields, then behavioral caveats (async, cost, latency). Every sentence contributes a distinct fact and there is no repetition of the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the things an agent cannot get from structured fields: cost, runtime, caching, and the async-overview edge case. Although an output schema exists (so return documentation is somewhat redundant), the explanation of asynchronous_ai_overview and citation position ordering adds real interpretive value for a 3-parameter, single-purpose tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, including a thorough explanation of the non-obvious 'fresh' cache-bypass flag, so the schema already carries parameter meaning. The description adds nothing further about keyword/location/fresh semantics and instead spends its words on return shape. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: checking whether Google shows an AI Overview for a keyword and which sources it cites. That is unambiguous and distinct in meaning from generic SERP tools. It never names or contrasts itself with close siblings like ai_mode, ai_visibility, or ai_mentions, so the agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use when checking if Google shows an AI Overview for a keyword' gives a clear triggering condition. There are no explicit exclusions or alternatives — nothing tells the agent when to pick ai_mode or ai_visibility instead of this tool, which matters given the dense AI-* sibling cluster.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.