Skip to main content
Glama

Get AI traffic

get_ai_traffic
Read-onlyIdempotent

AI crawler requests and AI-referred visits to the brand's site, from its tracking; connected is false when tracking is not set up. Visits are human page views; bots, crawlers and Cleotic's own fetches are never visits. AI share is AI-referred visits as a percentage of human visits; crawler requests are counted on their own. view summary: totals, providers, crawlers, referral sources, pages to improve, by week. view pages: per-page traffic. view evidence: individual visits. Only pages and evidence are paged.

Input Schema

NameRequiredDescriptionDefault
toNoEnd date, YYYY-MM-DD, inclusive; from equal to to is a single day. Defaults to today; a later date is treated as today.
fromNoStart date, YYYY-MM-DD. Defaults to 30 days before to. Windows are at most 180 days and a from after today is refused; a plan with limited history serves only the days it keeps and says so in retention.
pathNoOptional exact page path, for example /pricing.
viewNoDefaults to summary.
brandYesBrand or study: its ID from list_brands, or its name (exact or a unique prefix).
limitNoRows per page. Defaults to 25, max 100. A page may hold fewer rows to stay within the response size; follow next_cursor.
cursorNonext_cursor from the previous page. Leave out for the first page.
providerNoOptional AI provider, as the summary's systems name it, for example OpenAI; capitalisation does not matter. A provider with no traffic in the period is refused as unknown.
traffic_typeNoOptional filter.
traffic_viewNoOptional filter set: a built-in view (pages, discovery, previews, errors, spoofed, everything) or a saved view ID. Defaults to pages: loaded pages from verified or unverifiable bots and AI referrals.

Output Schema

NameRequiredDescriptionDefault
dataYes
generated_atYesRFC 3339 time the response was made.
schema_versionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / data / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "ai_referrals": {
      -        "type": "integer"
      -      },
      -      "ai_share": {
      -        "description": "AI visits as a percentage of all visits.",
      -        "type": "number"
      -      },
      -      "ai_visits": {
      -        "type": "integer"
      -      },
      -      "brand": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "id": {
      -            "type": "string"
      -          },
      -          "name": {
      -            "type": "string"
      -          },
      -          "url": {
      -            "description": "The brand's website, or empty when none is set.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "name",
      -          "url"
      -        ],
      -        "type": "object"
      -      },
      -      "connected": {
      -        "description": "Whether site tracking is set up; when false nothing is measured.",
      -        "type": "boolean"
      -      },
      -      "crawler_visits": {
      -        "type": "integer"
      -      },
      -      "crawlers": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "name": {
      -              "type": "string"
      -            },
      -            "pages": {
      -              "type": "integer"
      -            },
      -            "provider": {
      -              "type": "string"
      -            },
      -            "purpose": {
      -              "description": "Why the crawler fetched pages: ai_user (for a live user question), ai_search (to build an AI search index) or ai_training (to collect model training data).",
      -              "type": "string"
      -            },
      -            "verified": {
      -              "description": "Visits whose IP address is in the operator's published crawler IP list.",
      -              "type": "integer"
      -            },
      -            "visits": {
      -              "type": "integer"
      -            }
      -          },
      -          "required": [
      -            "name",
      -            "provider",
      -            "purpose",
      -            "visits",
      -            "verified",
      -            "pages"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "latest_visit_at": {
      -        "type": "string"
      -      },
      -      "pages_reached": {
      -        "description": "Distinct pages an AI crawler or AI referral reached.",
      -        "type": "integer"
      -      },
      -      "pages_to_improve": {
      -        "description": "Pages AI crawlers read but people rarely reach from AI answers.",
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "ai_referrals": {
      -              "type": "integer"
      -            },
      -            "ai_visits": {
      -              "type": "integer"
      -            },
      -            "change": {
      -              "description": "Change in the AI share of the page's visits on the previous period, in percentage points; null when new.",
      -              "type": [
      -                "null",
      -                "number"
      -              ]
      -            },
      -            "crawler_visits": {
      -              "type": "integer"
      -            },
      -            "path": {
      -              "type": "string"
      -            },
      -            "providers": {
      -              "items": {
      -                "type": "string"
      -              },
      -              "type": "array"
      -            },
      -            "total_visits": {
      -              "type": "integer"
      -            },
      -            "url": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "path",
      -            "url",
      -            "total_visits",
      -            "ai_visits",
      -            "crawler_visits",
      -            "ai_referrals",
      -            "providers",
      -            "change"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "period": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "from": {
      -            "description": "First day, YYYY-MM-DD.",
      -            "type": "string"
      -          },
      -          "to": {
      -            "description": "Last day, YYYY-MM-DD.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "from",
      -          "to"
      -        ],
      -        "type": "object"
      -      },
      -      "referral_sources": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "name": {
      -              "type": "string"
      -            },
      -            "pages": {
      -              "type": "integer"
      -            },
      -            "provider": {
      -              "type": "string"
      -            },
      -            "referrals": {
      -              "type": "integer"
      -            },
      -            "source": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "source",
      -            "name",
      -            "provider",
      -            "referrals",
      -            "pages"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "systems": {
      -        "description": "AI providers, by visits.",
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "ai_referrals": {
      -              "type": "integer"
      -            },
      -            "crawler_visits": {
      -              "type": "integer"
      -            },
      -            "pages": {
      -              "type": "integer"
      -            },
      -            "provider": {
      -              "description": "Pass as provider to filter.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "provider",
      -            "crawler_visits",
      -            "ai_referrals",
      -            "pages"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "total_visits": {
      -        "type": "integer"
      -      },
      -      "view": {
      -        "type": "string"
      -      },
      -      "weekly": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "ai_referrals": {
      -              "type": "integer"
      -            },
      -            "crawler_visits": {
      -              "type": "integer"
      -            },
      -            "week_start": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "week_start",
      -            "crawler_visits",
      -            "ai_referrals"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "brand",
      -      "view",
      -      "period",
      -      "connected",
      -      "total_visits",
      -      "ai_visits",
      -      "ai_share",
      -      "crawler_visits",
      -      "ai_referrals",
      -      "pages_reached",
      -      "latest_visit_at",
      -      "systems",
      -      "crawlers",
      -      "referral_sources",
      -      "pages_to_improve",
      -      "weekly"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "brand": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "id": {
      -            "type": "string"
      -          },
      -          "name": {
      -            "type": "string"
      -          },
      -          "url": {
      -            "description": "The brand's website, or empty when none is set.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "name",
      -          "url"
      -        ],
      -        "type": "object"
      -      },
      -      "connected": {
      -        "type": "boolean"
      -      },
      -      "pages": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "ai_referrals": {
      -              "type": "integer"
      -            },
      -            "ai_visits": {
      -              "type": "integer"
      -            },
      -            "change": {
      -              "description": "Change in the AI share of the page's visits on the previous period, in percentage points; null when new.",
      -              "type": [
      -                "null",
      -                "number"
      -              ]
      -            },
      -            "crawler_visits": {
      -              "type": "integer"
      -            },
      -            "path": {
      -              "type": "string"
      -            },
      -            "providers": {
      -              "items": {
      -                "type": "string"
      -              },
      -              "type": "array"
      -            },
      -            "total_visits": {
      -              "type": "integer"
      -            },
      -            "url": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "path",
      -            "url",
      -            "total_visits",
      -            "ai_visits",
      -            "crawler_visits",
      -            "ai_referrals",
      -            "providers",
      -            "change"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "pagination": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "next_cursor": {
      -            "description": "Pass as cursor to get the next page; empty on the last page.",
      -            "type": "string"
      -          },
      -          "total": {
      -            "description": "Items across all pages; null when not counted.",
      -            "type": [
      -              "null",
      -              "integer"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "next_cursor",
      -          "total"
      -        ],
      -        "type": "object"
      -      },
      -      "period": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "from": {
      -            "description": "First day, YYYY-MM-DD.",
      -            "type": "string"
      -          },
      -          "to": {
      -            "description": "Last day, YYYY-MM-DD.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "from",
      -          "to"
      -        ],
      -        "type": "object"
      -      },
      -      "view": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "brand",
      -      "view",
      -      "period",
      -      "connected",
      -      "pages",
      -      "pagination"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "brand": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "id": {
      -            "type": "string"
      -          },
      -          "name": {
      -            "type": "string"
      -          },
      -          "url": {
      -            "description": "The brand's website, or empty when none is set.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "name",
      -          "url"
      -        ],
      -        "type": "object"
      -      },
      -      "connected": {
      -        "type": "boolean"
      -      },
      -      "pagination": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "next_cursor": {
      -            "description": "Pass as cursor to get the next page; empty on the last page.",
      -            "type": "string"
      -          },
      -          "total": {
      -            "description": "Items across all pages; null when not counted.",
      -            "type": [
      -              "null",
      -              "integer"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "next_cursor",
      -          "total"
      -        ],
      -        "type": "object"
      -      },
      -      "period": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "from": {
      -            "description": "First day, YYYY-MM-DD.",
      -            "type": "string"
      -          },
      -          "to": {
      -            "description": "Last day, YYYY-MM-DD.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "from",
      -          "to"
      -        ],
      -        "type": "object"
      -      },
      -      "view": {
      -        "type": "string"
      -      },
      -      "visits": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "captured_at": {
      -              "type": "string"
      -            },
      -            "name": {
      -              "description": "The crawler or referring AI product.",
      -              "type": "string"
      -            },
      -            "path": {
      -              "type": "string"
      -            },
      -            "provider": {
      -              "type": "string"
      -            },
      -            "type": {
      -              "description": "crawler or referral.",
      -              "type": "string"
      -            },
      -            "url": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "type",
      -            "path",
      -            "url",
      -            "provider",
      -            "name",
      -            "captured_at"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "brand",
      -      "view",
      -      "period",
      -      "connected",
      -      "visits",
      -      "pagination"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "ai_referrals": {
      +        "type": "integer"
      +      },
      +      "ai_share": {
      +        "description": "AI-referred visits as a percentage of human visits.",
      +        "type": "number"
      +      },
      +      "ai_visits": {
      +        "description": "Human visits that arrived from an AI assistant.",
      +        "type": "integer"
      +      },
      +      "brand": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "description": "The brand's website, or empty when none is set.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "name",
      +          "url"
      +        ],
      +        "type": "object"
      +      },
      +      "connected": {
      +        "description": "Whether site tracking is set up; when false nothing is measured.",
      +        "type": "boolean"
      +      },
      +      "crawler_visits": {
      +        "description": "AI crawler requests. These are not visits and are not part of ai_share.",
      +        "type": "integer"
      +      },
      +      "crawlers": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "name": {
      +              "type": "string"
      +            },
      +            "pages": {
      +              "type": "integer"
      +            },
      +            "provider": {
      +              "type": "string"
      +            },
      +            "purpose": {
      +              "description": "Why the crawler fetched pages: ai_user (for a live user question), ai_search (to build an AI search index) or ai_training (to collect model training data).",
      +              "type": "string"
      +            },
      +            "verified": {
      +              "description": "Visits whose IP address is in the operator's published crawler IP list.",
      +              "type": "integer"
      +            },
      +            "visits": {
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "name",
      +            "provider",
      +            "purpose",
      +            "visits",
      +            "verified",
      +            "pages"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "latest_visit_at": {
      +        "type": "string"
      +      },
      +      "pages_reached": {
      +        "description": "Distinct pages an AI crawler or AI referral reached.",
      +        "type": "integer"
      +      },
      +      "pages_to_improve": {
      +        "description": "Pages AI crawlers read but people rarely reach from AI answers.",
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "ai_referrals": {
      +              "type": "integer"
      +            },
      +            "ai_visits": {
      +              "description": "Human visits to the page that arrived from an AI assistant.",
      +              "type": "integer"
      +            },
      +            "change": {
      +              "description": "Change in the page's AI share (AI-referred visits as a percentage of human visits) on the previous period, in percentage points; null when the page had no human visits before.",
      +              "type": [
      +                "null",
      +                "number"
      +              ]
      +            },
      +            "crawler_visits": {
      +              "type": "integer"
      +            },
      +            "path": {
      +              "type": "string"
      +            },
      +            "providers": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "total_visits": {
      +              "description": "Human visits to the page.",
      +              "type": "integer"
      +            },
      +            "url": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "path",
      +            "url",
      +            "total_visits",
      +            "ai_visits",
      +            "crawler_visits",
      +            "ai_referrals",
      +            "providers",
      +            "change"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "period": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "from": {
      +            "description": "First day, YYYY-MM-DD.",
      +            "type": "string"
      +          },
      +          "to": {
      +            "description": "Last day, YYYY-MM-DD.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "from",
      +          "to"
      +        ],
      +        "type": "object"
      +      },
      +      "referral_sources": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "name": {
      +              "type": "string"
      +            },
      +            "pages": {
      +              "type": "integer"
      +            },
      +            "provider": {
      +              "type": "string"
      +            },
      +            "referrals": {
      +              "type": "integer"
      +            },
      +            "source": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "source",
      +            "name",
      +            "provider",
      +            "referrals",
      +            "pages"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "systems": {
      +        "description": "AI providers, by visits.",
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "ai_referrals": {
      +              "type": "integer"
      +            },
      +            "crawler_visits": {
      +              "type": "integer"
      +            },
      +            "pages": {
      +              "type": "integer"
      +            },
      +            "provider": {
      +              "description": "Pass as provider to filter.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "provider",
      +            "crawler_visits",
      +            "ai_referrals",
      +            "pages"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "total_visits": {
      +        "description": "Human page visits. Bots, crawlers and Cleotic's own fetches are not counted.",
      +        "type": "integer"
      +      },
      +      "view": {
      +        "type": "string"
      +      },
      +      "weekly": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "ai_referrals": {
      +              "type": "integer"
      +            },
      +            "crawler_visits": {
      +              "type": "integer"
      +            },
      +            "week_start": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "week_start",
      +            "crawler_visits",
      +            "ai_referrals"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "brand",
      +      "view",
      +      "period",
      +      "connected",
      +      "total_visits",
      +      "ai_visits",
      +      "ai_share",
      +      "crawler_visits",
      +      "ai_referrals",
      +      "pages_reached",
      +      "latest_visit_at",
      +      "systems",
      +      "crawlers",
      +      "referral_sources",
      +      "pages_to_improve",
      +      "weekly"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "brand": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "description": "The brand's website, or empty when none is set.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "name",
      +          "url"
      +        ],
      +        "type": "object"
      +      },
      +      "connected": {
      +        "type": "boolean"
      +      },
      +      "pages": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "ai_referrals": {
      +              "type": "integer"
      +            },
      +            "ai_visits": {
      +              "description": "Human visits to the page that arrived from an AI assistant.",
      +              "type": "integer"
      +            },
      +            "change": {
      +              "description": "Change in the page's AI share (AI-referred visits as a percentage of human visits) on the previous period, in percentage points; null when the page had no human visits before.",
      +              "type": [
      +                "null",
      +                "number"
      +              ]
      +            },
      +            "crawler_visits": {
      +              "type": "integer"
      +            },
      +            "path": {
      +              "type": "string"
      +            },
      +            "providers": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "total_visits": {
      +              "description": "Human visits to the page.",
      +              "type": "integer"
      +            },
      +            "url": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "path",
      +            "url",
      +            "total_visits",
      +            "ai_visits",
      +            "crawler_visits",
      +            "ai_referrals",
      +            "providers",
      +            "change"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "pagination": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "next_cursor": {
      +            "description": "Pass as cursor to get the next page; empty on the last page.",
      +            "type": "string"
      +          },
      +          "total": {
      +            "description": "Items across all pages; null when not counted.",
      +            "type": [
      +              "null",
      +              "integer"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "next_cursor",
      +          "total"
      +        ],
      +        "type": "object"
      +      },
      +      "period": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "from": {
      +            "description": "First day, YYYY-MM-DD.",
      +            "type": "string"
      +          },
      +          "to": {
      +            "description": "Last day, YYYY-MM-DD.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "from",
      +          "to"
      +        ],
      +        "type": "object"
      +      },
      +      "view": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "brand",
      +      "view",
      +      "period",
      +      "connected",
      +      "pages",
      +      "pagination"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "brand": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "description": "The brand's website, or empty when none is set.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "name",
      +          "url"
      +        ],
      +        "type": "object"
      +      },
      +      "connected": {
      +        "type": "boolean"
      +      },
      +      "pagination": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "next_cursor": {
      +            "description": "Pass as cursor to get the next page; empty on the last page.",
      +            "type": "string"
      +          },
      +          "total": {
      +            "description": "Items across all pages; null when not counted.",
      +            "type": [
      +              "null",
      +              "integer"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "next_cursor",
      +          "total"
      +        ],
      +        "type": "object"
      +      },
      +      "period": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "from": {
      +            "description": "First day, YYYY-MM-DD.",
      +            "type": "string"
      +          },
      +          "to": {
      +            "description": "Last day, YYYY-MM-DD.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "from",
      +          "to"
      +        ],
      +        "type": "object"
      +      },
      +      "view": {
      +        "type": "string"
      +      },
      +      "visits": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "captured_at": {
      +              "type": "string"
      +            },
      +            "name": {
      +              "description": "The crawler or referring AI product.",
      +              "type": "string"
      +            },
      +            "path": {
      +              "type": "string"
      +            },
      +            "provider": {
      +              "type": "string"
      +            },
      +            "type": {
      +              "description": "crawler or referral.",
      +              "type": "string"
      +            },
      +            "url": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "path",
      +            "url",
      +            "provider",
      +            "name",
      +            "captured_at"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "brand",
      +      "view",
      +      "period",
      +      "connected",
      +      "visits",
      +      "pagination"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed1 schema field changed
    • addedInput schema / properties / traffic_view
      Added value: +{
      +  "description": "Optional filter set: a built-in view (pages, discovery, previews, errors, spoofed, everything) or a saved view ID. Defaults to pages: loaded pages from verified or unverifiable bots and AI referrals.",
      +  "type": "string"
      +}
  3. Changed1 schema field changed
    • changedOutput schema / properties / data / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "ai_referrals": {
      -        "type": "integer"
      -      },
      -      "ai_share": {
      -        "description": "AI visits as a percentage of all visits.",
      -        "type": "number"
      -      },
      -      "ai_visits": {
      -        "type": "integer"
      -      },
      -      "brand": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "id": {
      -            "type": "string"
      -          },
      -          "name": {
      -            "type": "string"
      -          },
      -          "url": {
      -            "description": "The brand's website, or empty when none is set.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "name",
      -          "url"
      -        ],
      -        "type": "object"
      -      },
      -      "connected": {
      -        "description": "Whether site tracking is set up; when false nothing is measured.",
      -        "type": "boolean"
      -      },
      -      "crawler_visits": {
      -        "type": "integer"
      -      },
      -      "crawlers": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "name": {
      -              "type": "string"
      -            },
      -            "pages": {
      -              "type": "integer"
      -            },
      -            "provider": {
      -              "type": "string"
      -            },
      -            "visits": {
      -              "type": "integer"
      -            }
      -          },
      -          "required": [
      -            "name",
      -            "provider",
      -            "visits",
      -            "pages"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "latest_visit_at": {
      -        "type": "string"
      -      },
      -      "pages_reached": {
      -        "description": "Distinct pages an AI crawler or AI referral reached.",
      -        "type": "integer"
      -      },
      -      "pages_to_improve": {
      -        "description": "Pages AI crawlers read but people rarely reach from AI answers.",
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "ai_referrals": {
      -              "type": "integer"
      -            },
      -            "ai_visits": {
      -              "type": "integer"
      -            },
      -            "change": {
      -              "description": "Change in the AI share of the page's visits on the previous period, in percentage points; null when new.",
      -              "type": [
      -                "null",
      -                "number"
      -              ]
      -            },
      -            "crawler_visits": {
      -              "type": "integer"
      -            },
      -            "path": {
      -              "type": "string"
      -            },
      -            "providers": {
      -              "items": {
      -                "type": "string"
      -              },
      -              "type": "array"
      -            },
      -            "total_visits": {
      -              "type": "integer"
      -            },
      -            "url": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "path",
      -            "url",
      -            "total_visits",
      -            "ai_visits",
      -            "crawler_visits",
      -            "ai_referrals",
      -            "providers",
      -            "change"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "period": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "from": {
      -            "description": "First day, YYYY-MM-DD.",
      -            "type": "string"
      -          },
      -          "to": {
      -            "description": "Last day, YYYY-MM-DD.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "from",
      -          "to"
      -        ],
      -        "type": "object"
      -      },
      -      "referral_sources": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "name": {
      -              "type": "string"
      -            },
      -            "pages": {
      -              "type": "integer"
      -            },
      -            "provider": {
      -              "type": "string"
      -            },
      -            "referrals": {
      -              "type": "integer"
      -            },
      -            "source": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "source",
      -            "name",
      -            "provider",
      -            "referrals",
      -            "pages"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "systems": {
      -        "description": "AI providers, by visits.",
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "ai_referrals": {
      -              "type": "integer"
      -            },
      -            "crawler_visits": {
      -              "type": "integer"
      -            },
      -            "pages": {
      -              "type": "integer"
      -            },
      -            "provider": {
      -              "description": "Pass as provider to filter.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "provider",
      -            "crawler_visits",
      -            "ai_referrals",
      -            "pages"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "total_visits": {
      -        "type": "integer"
      -      },
      -      "view": {
      -        "type": "string"
      -      },
      -      "weekly": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "ai_referrals": {
      -              "type": "integer"
      -            },
      -            "crawler_visits": {
      -              "type": "integer"
      -            },
      -            "week_start": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "week_start",
      -            "crawler_visits",
      -            "ai_referrals"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "brand",
      -      "view",
      -      "period",
      -      "connected",
      -      "total_visits",
      -      "ai_visits",
      -      "ai_share",
      -      "crawler_visits",
      -      "ai_referrals",
      -      "pages_reached",
      -      "latest_visit_at",
      -      "systems",
      -      "crawlers",
      -      "referral_sources",
      -      "pages_to_improve",
      -      "weekly"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "brand": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "id": {
      -            "type": "string"
      -          },
      -          "name": {
      -            "type": "string"
      -          },
      -          "url": {
      -            "description": "The brand's website, or empty when none is set.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "name",
      -          "url"
      -        ],
      -        "type": "object"
      -      },
      -      "connected": {
      -        "type": "boolean"
      -      },
      -      "pages": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "ai_referrals": {
      -              "type": "integer"
      -            },
      -            "ai_visits": {
      -              "type": "integer"
      -            },
      -            "change": {
      -              "description": "Change in the AI share of the page's visits on the previous period, in percentage points; null when new.",
      -              "type": [
      -                "null",
      -                "number"
      -              ]
      -            },
      -            "crawler_visits": {
      -              "type": "integer"
      -            },
      -            "path": {
      -              "type": "string"
      -            },
      -            "providers": {
      -              "items": {
      -                "type": "string"
      -              },
      -              "type": "array"
      -            },
      -            "total_visits": {
      -              "type": "integer"
      -            },
      -            "url": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "path",
      -            "url",
      -            "total_visits",
      -            "ai_visits",
      -            "crawler_visits",
      -            "ai_referrals",
      -            "providers",
      -            "change"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "pagination": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "next_cursor": {
      -            "description": "Pass as cursor to get the next page; empty on the last page.",
      -            "type": "string"
      -          },
      -          "total": {
      -            "description": "Items across all pages; null when not counted.",
      -            "type": [
      -              "null",
      -              "integer"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "next_cursor",
      -          "total"
      -        ],
      -        "type": "object"
      -      },
      -      "period": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "from": {
      -            "description": "First day, YYYY-MM-DD.",
      -            "type": "string"
      -          },
      -          "to": {
      -            "description": "Last day, YYYY-MM-DD.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "from",
      -          "to"
      -        ],
      -        "type": "object"
      -      },
      -      "view": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "brand",
      -      "view",
      -      "period",
      -      "connected",
      -      "pages",
      -      "pagination"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "brand": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "id": {
      -            "type": "string"
      -          },
      -          "name": {
      -            "type": "string"
      -          },
      -          "url": {
      -            "description": "The brand's website, or empty when none is set.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "name",
      -          "url"
      -        ],
      -        "type": "object"
      -      },
      -      "connected": {
      -        "type": "boolean"
      -      },
      -      "pagination": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "next_cursor": {
      -            "description": "Pass as cursor to get the next page; empty on the last page.",
      -            "type": "string"
      -          },
      -          "total": {
      -            "description": "Items across all pages; null when not counted.",
      -            "type": [
      -              "null",
      -              "integer"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "next_cursor",
      -          "total"
      -        ],
      -        "type": "object"
      -      },
      -      "period": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "from": {
      -            "description": "First day, YYYY-MM-DD.",
      -            "type": "string"
      -          },
      -          "to": {
      -            "description": "Last day, YYYY-MM-DD.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "from",
      -          "to"
      -        ],
      -        "type": "object"
      -      },
      -      "view": {
      -        "type": "string"
      -      },
      -      "visits": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "captured_at": {
      -              "type": "string"
      -            },
      -            "name": {
      -              "description": "The crawler or referring AI product.",
      -              "type": "string"
      -            },
      -            "path": {
      -              "type": "string"
      -            },
      -            "provider": {
      -              "type": "string"
      -            },
      -            "type": {
      -              "description": "crawler or referral.",
      -              "type": "string"
      -            },
      -            "url": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "type",
      -            "path",
      -            "url",
      -            "provider",
      -            "name",
      -            "captured_at"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "brand",
      -      "view",
      -      "period",
      -      "connected",
      -      "visits",
      -      "pagination"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "ai_referrals": {
      +        "type": "integer"
      +      },
      +      "ai_share": {
      +        "description": "AI visits as a percentage of all visits.",
      +        "type": "number"
      +      },
      +      "ai_visits": {
      +        "type": "integer"
      +      },
      +      "brand": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "description": "The brand's website, or empty when none is set.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "name",
      +          "url"
      +        ],
      +        "type": "object"
      +      },
      +      "connected": {
      +        "description": "Whether site tracking is set up; when false nothing is measured.",
      +        "type": "boolean"
      +      },
      +      "crawler_visits": {
      +        "type": "integer"
      +      },
      +      "crawlers": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "name": {
      +              "type": "string"
      +            },
      +            "pages": {
      +              "type": "integer"
      +            },
      +            "provider": {
      +              "type": "string"
      +            },
      +            "purpose": {
      +              "description": "Why the crawler fetched pages: ai_user (for a live user question), ai_search (to build an AI search index) or ai_training (to collect model training data).",
      +              "type": "string"
      +            },
      +            "verified": {
      +              "description": "Visits whose IP address is in the operator's published crawler IP list.",
      +              "type": "integer"
      +            },
      +            "visits": {
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "name",
      +            "provider",
      +            "purpose",
      +            "visits",
      +            "verified",
      +            "pages"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "latest_visit_at": {
      +        "type": "string"
      +      },
      +      "pages_reached": {
      +        "description": "Distinct pages an AI crawler or AI referral reached.",
      +        "type": "integer"
      +      },
      +      "pages_to_improve": {
      +        "description": "Pages AI crawlers read but people rarely reach from AI answers.",
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "ai_referrals": {
      +              "type": "integer"
      +            },
      +            "ai_visits": {
      +              "type": "integer"
      +            },
      +            "change": {
      +              "description": "Change in the AI share of the page's visits on the previous period, in percentage points; null when new.",
      +              "type": [
      +                "null",
      +                "number"
      +              ]
      +            },
      +            "crawler_visits": {
      +              "type": "integer"
      +            },
      +            "path": {
      +              "type": "string"
      +            },
      +            "providers": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "total_visits": {
      +              "type": "integer"
      +            },
      +            "url": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "path",
      +            "url",
      +            "total_visits",
      +            "ai_visits",
      +            "crawler_visits",
      +            "ai_referrals",
      +            "providers",
      +            "change"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "period": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "from": {
      +            "description": "First day, YYYY-MM-DD.",
      +            "type": "string"
      +          },
      +          "to": {
      +            "description": "Last day, YYYY-MM-DD.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "from",
      +          "to"
      +        ],
      +        "type": "object"
      +      },
      +      "referral_sources": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "name": {
      +              "type": "string"
      +            },
      +            "pages": {
      +              "type": "integer"
      +            },
      +            "provider": {
      +              "type": "string"
      +            },
      +            "referrals": {
      +              "type": "integer"
      +            },
      +            "source": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "source",
      +            "name",
      +            "provider",
      +            "referrals",
      +            "pages"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "systems": {
      +        "description": "AI providers, by visits.",
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "ai_referrals": {
      +              "type": "integer"
      +            },
      +            "crawler_visits": {
      +              "type": "integer"
      +            },
      +            "pages": {
      +              "type": "integer"
      +            },
      +            "provider": {
      +              "description": "Pass as provider to filter.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "provider",
      +            "crawler_visits",
      +            "ai_referrals",
      +            "pages"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "total_visits": {
      +        "type": "integer"
      +      },
      +      "view": {
      +        "type": "string"
      +      },
      +      "weekly": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "ai_referrals": {
      +              "type": "integer"
      +            },
      +            "crawler_visits": {
      +              "type": "integer"
      +            },
      +            "week_start": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "week_start",
      +            "crawler_visits",
      +            "ai_referrals"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "brand",
      +      "view",
      +      "period",
      +      "connected",
      +      "total_visits",
      +      "ai_visits",
      +      "ai_share",
      +      "crawler_visits",
      +      "ai_referrals",
      +      "pages_reached",
      +      "latest_visit_at",
      +      "systems",
      +      "crawlers",
      +      "referral_sources",
      +      "pages_to_improve",
      +      "weekly"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "brand": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "description": "The brand's website, or empty when none is set.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "name",
      +          "url"
      +        ],
      +        "type": "object"
      +      },
      +      "connected": {
      +        "type": "boolean"
      +      },
      +      "pages": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "ai_referrals": {
      +              "type": "integer"
      +            },
      +            "ai_visits": {
      +              "type": "integer"
      +            },
      +            "change": {
      +              "description": "Change in the AI share of the page's visits on the previous period, in percentage points; null when new.",
      +              "type": [
      +                "null",
      +                "number"
      +              ]
      +            },
      +            "crawler_visits": {
      +              "type": "integer"
      +            },
      +            "path": {
      +              "type": "string"
      +            },
      +            "providers": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "total_visits": {
      +              "type": "integer"
      +            },
      +            "url": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "path",
      +            "url",
      +            "total_visits",
      +            "ai_visits",
      +            "crawler_visits",
      +            "ai_referrals",
      +            "providers",
      +            "change"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "pagination": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "next_cursor": {
      +            "description": "Pass as cursor to get the next page; empty on the last page.",
      +            "type": "string"
      +          },
      +          "total": {
      +            "description": "Items across all pages; null when not counted.",
      +            "type": [
      +              "null",
      +              "integer"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "next_cursor",
      +          "total"
      +        ],
      +        "type": "object"
      +      },
      +      "period": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "from": {
      +            "description": "First day, YYYY-MM-DD.",
      +            "type": "string"
      +          },
      +          "to": {
      +            "description": "Last day, YYYY-MM-DD.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "from",
      +          "to"
      +        ],
      +        "type": "object"
      +      },
      +      "view": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "brand",
      +      "view",
      +      "period",
      +      "connected",
      +      "pages",
      +      "pagination"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "brand": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "description": "The brand's website, or empty when none is set.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "name",
      +          "url"
      +        ],
      +        "type": "object"
      +      },
      +      "connected": {
      +        "type": "boolean"
      +      },
      +      "pagination": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "next_cursor": {
      +            "description": "Pass as cursor to get the next page; empty on the last page.",
      +            "type": "string"
      +          },
      +          "total": {
      +            "description": "Items across all pages; null when not counted.",
      +            "type": [
      +              "null",
      +              "integer"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "next_cursor",
      +          "total"
      +        ],
      +        "type": "object"
      +      },
      +      "period": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "from": {
      +            "description": "First day, YYYY-MM-DD.",
      +            "type": "string"
      +          },
      +          "to": {
      +            "description": "Last day, YYYY-MM-DD.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "from",
      +          "to"
      +        ],
      +        "type": "object"
      +      },
      +      "view": {
      +        "type": "string"
      +      },
      +      "visits": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "captured_at": {
      +              "type": "string"
      +            },
      +            "name": {
      +              "description": "The crawler or referring AI product.",
      +              "type": "string"
      +            },
      +            "path": {
      +              "type": "string"
      +            },
      +            "provider": {
      +              "type": "string"
      +            },
      +            "type": {
      +              "description": "crawler or referral.",
      +              "type": "string"
      +            },
      +            "url": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "path",
      +            "url",
      +            "provider",
      +            "name",
      +            "captured_at"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "brand",
      +      "view",
      +      "period",
      +      "connected",
      +      "visits",
      +      "pagination"
      +    ],
      +    "type": "object"
      +  }
      +]
  4. Changed4 schema fields changed
    • changedInput schema / properties / from / description
      Previous value: -"Start date, YYYY-MM-DD. Defaults to 30 days before to; plan retention may shorten it."New value: +"Start date, YYYY-MM-DD. Defaults to 30 days before to. Windows are at most 180 days and a from after today is refused; a plan with limited history serves only the days it keeps and says so in retention."
    • changedInput schema / properties / provider / description
      Previous value: -"Optional AI provider, as the summary's systems name it, for example OpenAI."New value: +"Optional AI provider, as the summary's systems name it, for example OpenAI; capitalisation does not matter. A provider with no traffic in the period is refused as unknown."
    • changedInput schema / properties / to / description
      Previous value: -"End date, YYYY-MM-DD. Defaults to today."New value: +"End date, YYYY-MM-DD, inclusive; from equal to to is a single day. Defaults to today; a later date is treated as today."
    • changedOutput schema / properties / data / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "ai_referrals": {
      -        "type": "integer"
      -      },
      -      "ai_share": {
      -        "description": "AI visits as a percentage of all visits.",
      -        "type": "number"
      -      },
      -      "ai_visits": {
      -        "type": "integer"
      -      },
      -      "brand": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "id": {
      -            "type": "string"
      -          },
      -          "name": {
      -            "type": "string"
      -          },
      -          "url": {
      -            "description": "The brand's website, or empty when none is set.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "name",
      -          "url"
      -        ],
      -        "type": "object"
      -      },
      -      "connected": {
      -        "description": "Whether site tracking is set up; when false nothing is measured.",
      -        "type": "boolean"
      -      },
      -      "crawler_visits": {
      -        "type": "integer"
      -      },
      -      "crawlers": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "name": {
      -              "type": "string"
      -            },
      -            "pages": {
      -              "type": "integer"
      -            },
      -            "provider": {
      -              "type": "string"
      -            },
      -            "visits": {
      -              "type": "integer"
      -            }
      -          },
      -          "required": [
      -            "name",
      -            "provider",
      -            "visits",
      -            "pages"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "latest_visit_at": {
      -        "type": "string"
      -      },
      -      "pages_reached": {
      -        "type": "integer"
      -      },
      -      "pages_to_improve": {
      -        "description": "Pages AI crawlers read but people rarely reach from AI answers.",
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "ai_referrals": {
      -              "type": "integer"
      -            },
      -            "ai_visits": {
      -              "type": "integer"
      -            },
      -            "change": {
      -              "description": "Change in the AI share of the page's visits on the previous period, in percentage points; null when new.",
      -              "type": [
      -                "null",
      -                "number"
      -              ]
      -            },
      -            "crawler_visits": {
      -              "type": "integer"
      -            },
      -            "path": {
      -              "type": "string"
      -            },
      -            "providers": {
      -              "items": {
      -                "type": "string"
      -              },
      -              "type": "array"
      -            },
      -            "total_visits": {
      -              "type": "integer"
      -            },
      -            "url": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "path",
      -            "url",
      -            "total_visits",
      -            "ai_visits",
      -            "crawler_visits",
      -            "ai_referrals",
      -            "providers",
      -            "change"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "period": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "from": {
      -            "description": "First day, YYYY-MM-DD.",
      -            "type": "string"
      -          },
      -          "to": {
      -            "description": "Last day, YYYY-MM-DD.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "from",
      -          "to"
      -        ],
      -        "type": "object"
      -      },
      -      "referral_sources": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "name": {
      -              "type": "string"
      -            },
      -            "pages": {
      -              "type": "integer"
      -            },
      -            "provider": {
      -              "type": "string"
      -            },
      -            "referrals": {
      -              "type": "integer"
      -            },
      -            "source": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "source",
      -            "name",
      -            "provider",
      -            "referrals",
      -            "pages"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "systems": {
      -        "description": "AI providers, by visits.",
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "ai_referrals": {
      -              "type": "integer"
      -            },
      -            "crawler_visits": {
      -              "type": "integer"
      -            },
      -            "pages": {
      -              "type": "integer"
      -            },
      -            "provider": {
      -              "description": "Pass as provider to filter.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "provider",
      -            "crawler_visits",
      -            "ai_referrals",
      -            "pages"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "total_visits": {
      -        "type": "integer"
      -      },
      -      "view": {
      -        "type": "string"
      -      },
      -      "weekly": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "ai_referrals": {
      -              "type": "integer"
      -            },
      -            "crawler_visits": {
      -              "type": "integer"
      -            },
      -            "week_start": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "week_start",
      -            "crawler_visits",
      -            "ai_referrals"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "brand",
      -      "view",
      -      "period",
      -      "connected",
      -      "total_visits",
      -      "ai_visits",
      -      "ai_share",
      -      "crawler_visits",
      -      "ai_referrals",
      -      "pages_reached",
      -      "latest_visit_at",
      -      "systems",
      -      "crawlers",
      -      "referral_sources",
      -      "pages_to_improve",
      -      "weekly"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "brand": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "id": {
      -            "type": "string"
      -          },
      -          "name": {
      -            "type": "string"
      -          },
      -          "url": {
      -            "description": "The brand's website, or empty when none is set.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "name",
      -          "url"
      -        ],
      -        "type": "object"
      -      },
      -      "connected": {
      -        "type": "boolean"
      -      },
      -      "pages": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "ai_referrals": {
      -              "type": "integer"
      -            },
      -            "ai_visits": {
      -              "type": "integer"
      -            },
      -            "change": {
      -              "description": "Change in the AI share of the page's visits on the previous period, in percentage points; null when new.",
      -              "type": [
      -                "null",
      -                "number"
      -              ]
      -            },
      -            "crawler_visits": {
      -              "type": "integer"
      -            },
      -            "path": {
      -              "type": "string"
      -            },
      -            "providers": {
      -              "items": {
      -                "type": "string"
      -              },
      -              "type": "array"
      -            },
      -            "total_visits": {
      -              "type": "integer"
      -            },
      -            "url": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "path",
      -            "url",
      -            "total_visits",
      -            "ai_visits",
      -            "crawler_visits",
      -            "ai_referrals",
      -            "providers",
      -            "change"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "pagination": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "next_cursor": {
      -            "description": "Pass as cursor to get the next page; empty on the last page.",
      -            "type": "string"
      -          },
      -          "total": {
      -            "description": "Items across all pages; null when not counted.",
      -            "type": [
      -              "null",
      -              "integer"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "next_cursor",
      -          "total"
      -        ],
      -        "type": "object"
      -      },
      -      "period": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "from": {
      -            "description": "First day, YYYY-MM-DD.",
      -            "type": "string"
      -          },
      -          "to": {
      -            "description": "Last day, YYYY-MM-DD.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "from",
      -          "to"
      -        ],
      -        "type": "object"
      -      },
      -      "view": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "brand",
      -      "view",
      -      "period",
      -      "connected",
      -      "pages",
      -      "pagination"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "brand": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "id": {
      -            "type": "string"
      -          },
      -          "name": {
      -            "type": "string"
      -          },
      -          "url": {
      -            "description": "The brand's website, or empty when none is set.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "name",
      -          "url"
      -        ],
      -        "type": "object"
      -      },
      -      "connected": {
      -        "type": "boolean"
      -      },
      -      "pagination": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "next_cursor": {
      -            "description": "Pass as cursor to get the next page; empty on the last page.",
      -            "type": "string"
      -          },
      -          "total": {
      -            "description": "Items across all pages; null when not counted.",
      -            "type": [
      -              "null",
      -              "integer"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "next_cursor",
      -          "total"
      -        ],
      -        "type": "object"
      -      },
      -      "period": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "from": {
      -            "description": "First day, YYYY-MM-DD.",
      -            "type": "string"
      -          },
      -          "to": {
      -            "description": "Last day, YYYY-MM-DD.",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "from",
      -          "to"
      -        ],
      -        "type": "object"
      -      },
      -      "view": {
      -        "type": "string"
      -      },
      -      "visits": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "captured_at": {
      -              "type": "string"
      -            },
      -            "name": {
      -              "description": "The crawler or referring AI product.",
      -              "type": "string"
      -            },
      -            "path": {
      -              "type": "string"
      -            },
      -            "provider": {
      -              "type": "string"
      -            },
      -            "type": {
      -              "description": "crawler or referral.",
      -              "type": "string"
      -            },
      -            "url": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "type",
      -            "path",
      -            "url",
      -            "provider",
      -            "name",
      -            "captured_at"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "brand",
      -      "view",
      -      "period",
      -      "connected",
      -      "visits",
      -      "pagination"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "ai_referrals": {
      +        "type": "integer"
      +      },
      +      "ai_share": {
      +        "description": "AI visits as a percentage of all visits.",
      +        "type": "number"
      +      },
      +      "ai_visits": {
      +        "type": "integer"
      +      },
      +      "brand": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "description": "The brand's website, or empty when none is set.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "name",
      +          "url"
      +        ],
      +        "type": "object"
      +      },
      +      "connected": {
      +        "description": "Whether site tracking is set up; when false nothing is measured.",
      +        "type": "boolean"
      +      },
      +      "crawler_visits": {
      +        "type": "integer"
      +      },
      +      "crawlers": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "name": {
      +              "type": "string"
      +            },
      +            "pages": {
      +              "type": "integer"
      +            },
      +            "provider": {
      +              "type": "string"
      +            },
      +            "visits": {
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "name",
      +            "provider",
      +            "visits",
      +            "pages"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "latest_visit_at": {
      +        "type": "string"
      +      },
      +      "pages_reached": {
      +        "description": "Distinct pages an AI crawler or AI referral reached.",
      +        "type": "integer"
      +      },
      +      "pages_to_improve": {
      +        "description": "Pages AI crawlers read but people rarely reach from AI answers.",
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "ai_referrals": {
      +              "type": "integer"
      +            },
      +            "ai_visits": {
      +              "type": "integer"
      +            },
      +            "change": {
      +              "description": "Change in the AI share of the page's visits on the previous period, in percentage points; null when new.",
      +              "type": [
      +                "null",
      +                "number"
      +              ]
      +            },
      +            "crawler_visits": {
      +              "type": "integer"
      +            },
      +            "path": {
      +              "type": "string"
      +            },
      +            "providers": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "total_visits": {
      +              "type": "integer"
      +            },
      +            "url": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "path",
      +            "url",
      +            "total_visits",
      +            "ai_visits",
      +            "crawler_visits",
      +            "ai_referrals",
      +            "providers",
      +            "change"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "period": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "from": {
      +            "description": "First day, YYYY-MM-DD.",
      +            "type": "string"
      +          },
      +          "to": {
      +            "description": "Last day, YYYY-MM-DD.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "from",
      +          "to"
      +        ],
      +        "type": "object"
      +      },
      +      "referral_sources": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "name": {
      +              "type": "string"
      +            },
      +            "pages": {
      +              "type": "integer"
      +            },
      +            "provider": {
      +              "type": "string"
      +            },
      +            "referrals": {
      +              "type": "integer"
      +            },
      +            "source": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "source",
      +            "name",
      +            "provider",
      +            "referrals",
      +            "pages"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "systems": {
      +        "description": "AI providers, by visits.",
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "ai_referrals": {
      +              "type": "integer"
      +            },
      +            "crawler_visits": {
      +              "type": "integer"
      +            },
      +            "pages": {
      +              "type": "integer"
      +            },
      +            "provider": {
      +              "description": "Pass as provider to filter.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "provider",
      +            "crawler_visits",
      +            "ai_referrals",
      +            "pages"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "total_visits": {
      +        "type": "integer"
      +      },
      +      "view": {
      +        "type": "string"
      +      },
      +      "weekly": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "ai_referrals": {
      +              "type": "integer"
      +            },
      +            "crawler_visits": {
      +              "type": "integer"
      +            },
      +            "week_start": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "week_start",
      +            "crawler_visits",
      +            "ai_referrals"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "brand",
      +      "view",
      +      "period",
      +      "connected",
      +      "total_visits",
      +      "ai_visits",
      +      "ai_share",
      +      "crawler_visits",
      +      "ai_referrals",
      +      "pages_reached",
      +      "latest_visit_at",
      +      "systems",
      +      "crawlers",
      +      "referral_sources",
      +      "pages_to_improve",
      +      "weekly"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "brand": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "description": "The brand's website, or empty when none is set.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "name",
      +          "url"
      +        ],
      +        "type": "object"
      +      },
      +      "connected": {
      +        "type": "boolean"
      +      },
      +      "pages": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "ai_referrals": {
      +              "type": "integer"
      +            },
      +            "ai_visits": {
      +              "type": "integer"
      +            },
      +            "change": {
      +              "description": "Change in the AI share of the page's visits on the previous period, in percentage points; null when new.",
      +              "type": [
      +                "null",
      +                "number"
      +              ]
      +            },
      +            "crawler_visits": {
      +              "type": "integer"
      +            },
      +            "path": {
      +              "type": "string"
      +            },
      +            "providers": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "total_visits": {
      +              "type": "integer"
      +            },
      +            "url": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "path",
      +            "url",
      +            "total_visits",
      +            "ai_visits",
      +            "crawler_visits",
      +            "ai_referrals",
      +            "providers",
      +            "change"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "pagination": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "next_cursor": {
      +            "description": "Pass as cursor to get the next page; empty on the last page.",
      +            "type": "string"
      +          },
      +          "total": {
      +            "description": "Items across all pages; null when not counted.",
      +            "type": [
      +              "null",
      +              "integer"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "next_cursor",
      +          "total"
      +        ],
      +        "type": "object"
      +      },
      +      "period": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "from": {
      +            "description": "First day, YYYY-MM-DD.",
      +            "type": "string"
      +          },
      +          "to": {
      +            "description": "Last day, YYYY-MM-DD.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "from",
      +          "to"
      +        ],
      +        "type": "object"
      +      },
      +      "view": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "brand",
      +      "view",
      +      "period",
      +      "connected",
      +      "pages",
      +      "pagination"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "brand": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "description": "The brand's website, or empty when none is set.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "name",
      +          "url"
      +        ],
      +        "type": "object"
      +      },
      +      "connected": {
      +        "type": "boolean"
      +      },
      +      "pagination": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "next_cursor": {
      +            "description": "Pass as cursor to get the next page; empty on the last page.",
      +            "type": "string"
      +          },
      +          "total": {
      +            "description": "Items across all pages; null when not counted.",
      +            "type": [
      +              "null",
      +              "integer"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "next_cursor",
      +          "total"
      +        ],
      +        "type": "object"
      +      },
      +      "period": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "from": {
      +            "description": "First day, YYYY-MM-DD.",
      +            "type": "string"
      +          },
      +          "to": {
      +            "description": "Last day, YYYY-MM-DD.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "from",
      +          "to"
      +        ],
      +        "type": "object"
      +      },
      +      "view": {
      +        "type": "string"
      +      },
      +      "visits": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "captured_at": {
      +              "type": "string"
      +            },
      +            "name": {
      +              "description": "The crawler or referring AI product.",
      +              "type": "string"
      +            },
      +            "path": {
      +              "type": "string"
      +            },
      +            "provider": {
      +              "type": "string"
      +            },
      +            "type": {
      +              "description": "crawler or referral.",
      +              "type": "string"
      +            },
      +            "url": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "path",
      +            "url",
      +            "provider",
      +            "name",
      +            "captured_at"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "brand",
      +      "view",
      +      "period",
      +      "connected",
      +      "visits",
      +      "pagination"
      +    ],
      +    "type": "object"
      +  }
      +]
  5. Changed9 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / brand / minLength
      Added value: +1
    • changedInput schema / properties / cursor / description
      Previous value: -"next_cursor from the previous page."New value: +"next_cursor from the previous page. Leave out for the first page."
    • addedInput schema / properties / from / format
      Added value: +"date"
    • changedInput schema / properties / limit / description
      Previous value: -"Rows per page. Defaults to 25, max 100."New value: +"Rows per page. Defaults to 25, max 100. A page may hold fewer rows to stay within the response size; follow next_cursor."
    • changedInput schema / properties / path / description
      Previous value: -"Optional page path filter."New value: +"Optional exact page path, for example /pricing."
    • changedInput schema / properties / provider / description
      Previous value: -"Optional AI provider filter."New value: +"Optional AI provider, as the summary's systems name it, for example OpenAI."
    • addedInput schema / properties / to / format
      Added value: +"date"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "ai_referrals": {
      +              "type": "integer"
      +            },
      +            "ai_share": {
      +              "description": "AI visits as a percentage of all visits.",
      +              "type": "number"
      +            },
      +            "ai_visits": {
      +              "type": "integer"
      +            },
      +            "brand": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "id": {
      +                  "type": "string"
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "url": {
      +                  "description": "The brand's website, or empty when none is set.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id",
      +                "name",
      +                "url"
      +              ],
      +              "type": "object"
      +            },
      +            "connected": {
      +              "description": "Whether site tracking is set up; when false nothing is measured.",
      +              "type": "boolean"
      +            },
      +            "crawler_visits": {
      +              "type": "integer"
      +            },
      +            "crawlers": {
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "pages": {
      +                    "type": "integer"
      +                  },
      +                  "provider": {
      +                    "type": "string"
      +                  },
      +                  "visits": {
      +                    "type": "integer"
      +                  }
      +                },
      +                "required": [
      +                  "name",
      +                  "provider",
      +                  "visits",
      +                  "pages"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "latest_visit_at": {
      +              "type": "string"
      +            },
      +            "pages_reached": {
      +              "type": "integer"
      +            },
      +            "pages_to_improve": {
      +              "description": "Pages AI crawlers read but people rarely reach from AI answers.",
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "ai_referrals": {
      +                    "type": "integer"
      +                  },
      +                  "ai_visits": {
      +                    "type": "integer"
      +                  },
      +                  "change": {
      +                    "description": "Change in the AI share of the page's visits on the previous period, in percentage points; null when new.",
      +                    "type": [
      +                      "null",
      +                      "number"
      +                    ]
      +                  },
      +                  "crawler_visits": {
      +                    "type": "integer"
      +                  },
      +                  "path": {
      +                    "type": "string"
      +                  },
      +                  "providers": {
      +                    "items": {
      +                      "type": "string"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "total_visits": {
      +                    "type": "integer"
      +                  },
      +                  "url": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "path",
      +                  "url",
      +                  "total_visits",
      +                  "ai_visits",
      +                  "crawler_visits",
      +                  "ai_referrals",
      +                  "providers",
      +                  "change"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "period": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "from": {
      +                  "description": "First day, YYYY-MM-DD.",
      +                  "type": "string"
      +                },
      +                "to": {
      +                  "description": "Last day, YYYY-MM-DD.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "from",
      +                "to"
      +              ],
      +              "type": "object"
      +            },
      +            "referral_sources": {
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "pages": {
      +                    "type": "integer"
      +                  },
      +                  "provider": {
      +                    "type": "string"
      +                  },
      +                  "referrals": {
      +                    "type": "integer"
      +                  },
      +                  "source": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "source",
      +                  "name",
      +                  "provider",
      +                  "referrals",
      +                  "pages"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "systems": {
      +              "description": "AI providers, by visits.",
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "ai_referrals": {
      +                    "type": "integer"
      +                  },
      +                  "crawler_visits": {
      +                    "type": "integer"
      +                  },
      +                  "pages": {
      +                    "type": "integer"
      +                  },
      +                  "provider": {
      +                    "description": "Pass as provider to filter.",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "provider",
      +                  "crawler_visits",
      +                  "ai_referrals",
      +                  "pages"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "total_visits": {
      +              "type": "integer"
      +            },
      +            "view": {
      +              "type": "string"
      +            },
      +            "weekly": {
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "ai_referrals": {
      +                    "type": "integer"
      +                  },
      +                  "crawler_visits": {
      +                    "type": "integer"
      +                  },
      +                  "week_start": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "week_start",
      +                  "crawler_visits",
      +                  "ai_referrals"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "required": [
      +            "brand",
      +            "view",
      +            "period",
      +            "connected",
      +            "total_visits",
      +            "ai_visits",
      +            "ai_share",
      +            "crawler_visits",
      +            "ai_referrals",
      +            "pages_reached",
      +            "latest_visit_at",
      +            "systems",
      +            "crawlers",
      +            "referral_sources",
      +            "pages_to_improve",
      +            "weekly"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "brand": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "id": {
      +                  "type": "string"
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "url": {
      +                  "description": "The brand's website, or empty when none is set.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id",
      +                "name",
      +                "url"
      +              ],
      +              "type": "object"
      +            },
      +            "connected": {
      +              "type": "boolean"
      +            },
      +            "pages": {
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "ai_referrals": {
      +                    "type": "integer"
      +                  },
      +                  "ai_visits": {
      +                    "type": "integer"
      +                  },
      +                  "change": {
      +                    "description": "Change in the AI share of the page's visits on the previous period, in percentage points; null when new.",
      +                    "type": [
      +                      "null",
      +                      "number"
      +                    ]
      +                  },
      +                  "crawler_visits": {
      +                    "type": "integer"
      +                  },
      +                  "path": {
      +                    "type": "string"
      +                  },
      +                  "providers": {
      +                    "items": {
      +                      "type": "string"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "total_visits": {
      +                    "type": "integer"
      +                  },
      +                  "url": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "path",
      +                  "url",
      +                  "total_visits",
      +                  "ai_visits",
      +                  "crawler_visits",
      +                  "ai_referrals",
      +                  "providers",
      +                  "change"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "pagination": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "next_cursor": {
      +                  "description": "Pass as cursor to get the next page; empty on the last page.",
      +                  "type": "string"
      +                },
      +                "total": {
      +                  "description": "Items across all pages; null when not counted.",
      +                  "type": [
      +                    "null",
      +                    "integer"
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "next_cursor",
      +                "total"
      +              ],
      +              "type": "object"
      +            },
      +            "period": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "from": {
      +                  "description": "First day, YYYY-MM-DD.",
      +                  "type": "string"
      +                },
      +                "to": {
      +                  "description": "Last day, YYYY-MM-DD.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "from",
      +                "to"
      +              ],
      +              "type": "object"
      +            },
      +            "view": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "brand",
      +            "view",
      +            "period",
      +            "connected",
      +            "pages",
      +            "pagination"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "brand": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "id": {
      +                  "type": "string"
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "url": {
      +                  "description": "The brand's website, or empty when none is set.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id",
      +                "name",
      +                "url"
      +              ],
      +              "type": "object"
      +            },
      +            "connected": {
      +              "type": "boolean"
      +            },
      +            "pagination": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "next_cursor": {
      +                  "description": "Pass as cursor to get the next page; empty on the last page.",
      +                  "type": "string"
      +                },
      +                "total": {
      +                  "description": "Items across all pages; null when not counted.",
      +                  "type": [
      +                    "null",
      +                    "integer"
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "next_cursor",
      +                "total"
      +              ],
      +              "type": "object"
      +            },
      +            "period": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "from": {
      +                  "description": "First day, YYYY-MM-DD.",
      +                  "type": "string"
      +                },
      +                "to": {
      +                  "description": "Last day, YYYY-MM-DD.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "from",
      +                "to"
      +              ],
      +              "type": "object"
      +            },
      +            "view": {
      +              "type": "string"
      +            },
      +            "visits": {
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "captured_at": {
      +                    "type": "string"
      +                  },
      +                  "name": {
      +                    "description": "The crawler or referring AI product.",
      +                    "type": "string"
      +                  },
      +                  "path": {
      +                    "type": "string"
      +                  },
      +                  "provider": {
      +                    "type": "string"
      +                  },
      +                  "type": {
      +                    "description": "crawler or referral.",
      +                    "type": "string"
      +                  },
      +                  "url": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "type",
      +                  "path",
      +                  "url",
      +                  "provider",
      +                  "name",
      +                  "captured_at"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "required": [
      +            "brand",
      +            "view",
      +            "period",
      +            "connected",
      +            "visits",
      +            "pagination"
      +          ],
      +          "type": "object"
      +        }
      +      ]
      +    },
      +    "generated_at": {
      +      "description": "RFC 3339 time the response was made.",
      +      "type": "string"
      +    },
      +    "schema_version": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "schema_version",
      +    "generated_at",
      +    "data"
      +  ],
      +  "type": "object"
      +}
  6. Added

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely useful behavior beyond that: the tracking-setup caveat (connected is false), the definitional rule that bots/crawlers/Cleotic's own fetches are never visits, and which views are paged. It stops short of disclosing rate limits or the interaction between view and traffic_view.

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

Conciseness4/5

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

Purpose is front-loaded and every sentence carries content (definitions, view semantics, paging rules) with no filler. The style is a dense run of short declaratives rather than prose, which is efficient but slightly hard to parse on first read.

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

Completeness4/5

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

With 10 parameters, an output schema, and full annotation coverage, the description supplies the non-structural context an agent needs: metric definitions, view semantics, paging, and the tracking-not-connected edge case. The one gap is that it never clarifies whether traffic_view acts as a filter on top of view, or how the two interact.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3, but the description adds meaning the schema does not: what each view actually returns, that only pages and evidence are paged, and that provider names must match the summary's system names. This goes beyond the terse schema text for view and traffic_view.

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

Purpose5/5

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

States a specific verb and resource: AI crawler requests and AI-referred visits to the brand's site, with explicit definitions of visits vs crawler requests and of AI share. No sibling tool covers traffic analytics, so the boundary is unambiguous.

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

Usage Guidelines3/5

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

The view enumeration (summary = totals/providers/crawlers/referral sources/pages to improve/by week; pages = per-page; evidence = individual visits) implies which view to pick for which need. However there is no explicit when-to-use guidance, no routing to alternatives like get_brand_overview, and no statement of when this tool is the wrong choice.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources