Docs menu

TOOLS

get_sitemap_coverage

Which sitemap pages get no search impressions, and which pages with impressions are missing from my sitemap?

  • Read-only
  • No external calls

When to use it

Compares your latest stored sitemap with the pages that had web search impressions in the window, and lists recent sitemap snapshots. Use it to spot gaps between what you submit and what appears in search.

Ask your AI

  • Which pages in my sitemap got no impressions in the last 28 days?
  • Are there pages getting search impressions that aren't in my sitemap?

Parameters

NameTypeDetailsWhat it means
propertyId(required)string1–200 characterspattern ^[a-zA-Z0-9._:-]+$The ID of the site to read, as returned by list_sites. You must own the site or have been granted access to it.
days7 or 28default 28Window of 7 or 28 complete days for the impressions. Defaults to 28.

What it returns

Counts of sitemap URLs with and without impressions, pages with impressions that aren't in the sitemap, and URLs that differ only by a trailing slash, http/https or www; up to 200 sitemap URLs without impressions (with lastmod) and up to 200 pages missing from the sitemap (with impressions and clicks); the sitemap day, the window and caveats. It also lists up to 90 sitemap snapshots, newest first, with each one's state, URL count and URLs added or removed. status is no_sitemap_snapshot or no_page_data when there is nothing to compare.

Fields of the result:

NameTypeDetails
coverageobject—
coverage.version"1.0.0"—
coverage.status"ready" | "no_sitemap_snapshot" | "no_page_data"—
coverage.sitemap_daystring or nullpattern ^\d{4}-\d{2}-\d{2}$
coverage.windowobject or null—
coverage.page_daysintegerminimum 0
coverage.truncated_page_daysintegerminimum 0
coverage.countsobject—
coverage.without_impressionsarray of objectat most 200 items
coverage.not_in_sitemaparray of objectat most 200 items
coverage.caveatsarray of stringat most 10 items
coverage.source"google" | "fixture" or null—
historyarray of objectat most 90 items
errorobjectreturned on its own, instead of the other fields
error.code"intent_history_unavailable" | "intent_accounting_pending" | "google_reconnect_required" | "unauthorized" | "not_found_or_forbidden" | "dependency_unavailable" | "quota_exceeded" | "invalid_input" | "invalid_source" | "stale_attempt" | "conflict" | "unknown_commit" | "not_configured"—
error.retryableboolean—
error.messagestring—
error.correlation_idstring1–200 characterspattern ^[a-zA-Z0-9._:-]+$

Notes

  • A sitemap page with no impressions isn't proof that it's unindexed; it may simply not have been shown in search during the window.
  • Read-only: it reads data QueryHippo has already stored. It does not start a collection, fetch anything or call an AI model.

Description your AI sees

Compare the property's latest sitemap snapshot with finalized Search Console web page impressions: sitemap URLs without impressions, pages with impressions missing from the sitemap, and sitemap snapshot history. Deterministic; no fetches or external calls.

Full schemas

Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "propertyId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "pattern": "^[a-zA-Z0-9._:-]+$"
    },
    "days": {
      "default": 28,
      "anyOf": [
        {
          "type": "number",
          "const": 7
        },
        {
          "type": "number",
          "const": 28
        }
      ]
    }
  },
  "required": [
    "propertyId"
  ],
  "additionalProperties": false
}
Output schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "coverage": {
      "type": "object",
      "properties": {
        "version": {
          "type": "string",
          "const": "1.0.0"
        },
        "status": {
          "type": "string",
          "enum": [
            "ready",
            "no_sitemap_snapshot",
            "no_page_data"
          ]
        },
        "sitemap_day": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            {
              "type": "null"
            }
          ]
        },
        "window": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "start": {
                  "type": "string",
                  "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                },
                "end": {
                  "type": "string",
                  "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                }
              },
              "required": [
                "start",
                "end"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "page_days": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "truncated_page_days": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "counts": {
          "type": "object",
          "properties": {
            "sitemap_urls": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "with_impressions": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "without_impressions": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "not_in_sitemap": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "variant_mismatches": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            }
          },
          "required": [
            "sitemap_urls",
            "with_impressions",
            "without_impressions",
            "not_in_sitemap",
            "variant_mismatches"
          ],
          "additionalProperties": false
        },
        "without_impressions": {
          "maxItems": 200,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string"
              },
              "lastmod": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "url",
              "lastmod"
            ],
            "additionalProperties": false
          }
        },
        "not_in_sitemap": {
          "maxItems": 200,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string"
              },
              "impressions": {
                "type": "number",
                "minimum": 0
              },
              "clicks": {
                "type": "number",
                "minimum": 0
              }
            },
            "required": [
              "url",
              "impressions",
              "clicks"
            ],
            "additionalProperties": false
          }
        },
        "caveats": {
          "maxItems": 10,
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 300
          }
        },
        "source": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "google",
                "fixture"
              ]
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "version",
        "status",
        "sitemap_day",
        "window",
        "page_days",
        "truncated_page_days",
        "counts",
        "without_impressions",
        "not_in_sitemap",
        "caveats",
        "source"
      ],
      "additionalProperties": false
    },
    "history": {
      "maxItems": 90,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "day": {
            "type": "string",
            "format": "date",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
          },
          "state": {
            "type": "string",
            "enum": [
              "queued",
              "fetching",
              "complete",
              "failed"
            ]
          },
          "outcome": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "ok",
                  "partial",
                  "no_sitemap",
                  "unreachable"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "url_count": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "added_count": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "removed_count": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "gsc_submitted": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "truncated": {
            "type": "boolean"
          }
        },
        "required": [
          "day",
          "state",
          "outcome",
          "url_count",
          "added_count",
          "removed_count",
          "gsc_submitted",
          "truncated"
        ],
        "additionalProperties": false
      }
    },
    "error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "enum": [
            "intent_history_unavailable",
            "intent_accounting_pending",
            "google_reconnect_required",
            "unauthorized",
            "not_found_or_forbidden",
            "dependency_unavailable",
            "quota_exceeded",
            "invalid_input",
            "invalid_source",
            "stale_attempt",
            "conflict",
            "unknown_commit",
            "not_configured"
          ]
        },
        "retryable": {
          "type": "boolean"
        },
        "message": {
          "type": "string"
        },
        "correlation_id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200,
          "pattern": "^[a-zA-Z0-9._:-]+$"
        }
      },
      "required": [
        "code",
        "retryable",
        "message",
        "correlation_id"
      ],
      "additionalProperties": false
    }
  },
  "additionalProperties": false,
  "anyOf": [
    {
      "required": [
        "coverage",
        "history"
      ],
      "not": {
        "required": [
          "error"
        ]
      }
    },
    {
      "required": [
        "error"
      ],
      "maxProperties": 1
    }
  ]
}

View as Markdown