{
  "period": "2026-03-03 \u2013 2026-09-28",
  "scope": "Historical snapshot of the IDAEO website network",
  "source": "data/bot_timeline.json",
  "role_source": "data/bots.json",
  "agent_week": 3225164,
  "family_count": 32,
  "named_bot_count": 45,
  "families": [
    {
      "name": "OpenAI",
      "bots": [
        {
          "name": "GPTBot",
          "operator": "OpenAI",
          "first": "2026-03-03",
          "last": "2026-09-28",
          "active_days": 209,
          "total": 10512786,
          "roles": [
            "Training / data retrieval"
          ],
          "prior_role": "Training / data retrieval",
          "truncated": true,
          "classification_changed": false
        },
        {
          "name": "ChatGPT-User",
          "operator": "OpenAI",
          "first": "2026-03-05",
          "last": "2026-09-28",
          "active_days": 190,
          "total": 608894,
          "roles": [
            "On-demand retrieval"
          ],
          "prior_role": "On-demand retrieval",
          "truncated": false,
          "classification_changed": false
        },
        {
          "name": "OAI-SearchBot",
          "operator": "OpenAI",
          "first": "2026-04-02",
          "last": "2026-09-28",
          "active_days": 176,
          "total": 633158,
          "roles": [
            "Indexing"
          ],
          "prior_role": "Indexing",
          "truncated": false,
          "classification_changed": false
        }
      ],
      "color": "#0b8061",
      "total": 11754838,
      "first": "2026-03-03",
      "last": "2026-09-28",
      "count": 3,
      "art_index": 0
    },
    {
      "name": "Anthropic",
      "bots": [
        {
          "name": "ClaudeBot",
          "operator": "Anthropic",
          "first": "2026-03-03",
          "last": "2026-09-28",
          "active_days": 197,
          "total": 24104863,
          "roles": [
            "Training / data retrieval"
          ],
          "prior_role": "Training / data retrieval",
          "truncated": true,
          "classification_changed": false
        },
        {
          "name": "Claude-User",
          "operator": "Anthropic",
          "first": "2026-04-03",
          "last": "2026-09-28",
          "active_days": 153,
          "total": 2132,
          "roles": [
            "On-demand retrieval"
          ],
          "prior_role": "On-demand retrieval",
          "truncated": false,
          "classification_changed": false
        },
        {
          "name": "Claude-SearchBot",
          "operator": "Anthropic",
          "first": "2026-04-15",
          "last": "2026-09-28",
          "active_days": 32,
          "total": 7596,
          "roles": [],
          "prior_role": "Indexing",
          "truncated": false,
          "classification_changed": false
        },
        {
          "name": "Claude-Web",
          "operator": "Anthropic",
          "first": "2026-06-01",
          "last": "2026-08-01",
          "active_days": 7,
          "total": 21,
          "roles": [],
          "prior_role": "Unknown",
          "truncated": false,
          "classification_changed": false
        },
        {
          "name": "anthropic-ai",
          "operator": "Anthropic",
          "first": "2026-06-02",
          "last": "2026-08-03",
          "active_days": 6,
          "total": 27,
          "roles": [],
          "prior_role": "Unknown",
          "truncated": false,
          "classification_changed": false
        }
      ],
      "color": "#bb5638",
      "total": 24114639,
      "first": "2026-03-03",
      "last": "2026-09-28",
      "count": 5,
      "art_index": 1
    },
    {
      "name": "Google",
      "bots": [
        {
          "name": "Googlebot",
          "operator": "Google",
          "first": "2026-03-11",
          "last": "2026-09-28",
          "active_days": 202,
          "total": 3216605,
          "roles": [
            "Indexing"
          ],
          "prior_role": "Indexing",
          "truncated": false,
          "classification_changed": false
        },
        {
          "name": "Google NotebookLM",
          "operator": "Google",
          "first": "2026-04-11",
          "last": "2026-08-23",
          "active_days": 80,
          "total": 464,
          "roles": [
            "On-demand retrieval"
          ],
          "prior_role": "On-demand retrieval",
          "truncated": false,
          "classification_changed": false
        },
        {
          "name": "Gemini DeepResearch",
          "operator": "Google",
          "first": "2026-05-18",
          "last": "2026-08-04",
          "active_days": 9,
          "total": 10,
          "roles": [
            "On-demand retrieval"
          ],
          "prior_role": "On-demand retrieval",
          "truncated": false,
          "classification_changed": false
        },
        {
          "name": "GoogleOther",
          "operator": "Google",
          "first": "2026-06-12",
          "last": "2026-09-28",
          "active_days": 109,
          "total": 139107,
          "roles": [],
          "prior_role": "Training / data retrieval",
          "truncated": false,
          "classification_changed": false
        },
        {
          "name": "GoogleOther-Image",
          "operator": "Google",
          "first": "2026-08-25",
          "last": "2026-09-16",
          "active_days": 5,
          "total": 12,
          "roles": [
            "Training / data retrieval"
          ],
          "prior_role": "Training / data retrieval",
          "truncated": false,
          "classification_changed": true
        }
      ],
      "color": "#2459c0",
      "total": 3356198,
      "first": "2026-03-11",
      "last": "2026-09-28",
      "count": 5,
      "art_index": 2
    },
    {
      "name": "Microsoft",
      "bots": [
        {
          "name": "bingbot",
          "operator": "Microsoft",
          "first": "2026-03-03",
          "last": "2026-09-28",
          "active_days": 210,
          "total": 11085497,
          "roles": [
            "Indexing"
          ],
          "prior_role": null,
          "truncated": true,
          "classification_changed": false
        }
      ],
      "color": "#1693bb",
      "total": 11085497,
      "first": "2026-03-03",
      "last": "2026-09-28",
      "count": 1,
      "art_index": 3
    },
    {
      "name": "Perplexity",
      "bots": [
        {
          "name": "PerplexityBot",
          "operator": "Perplexity",
          "first": "2026-03-03",
          "last": "2026-09-28",
          "active_days": 191,
          "total": 135622,
          "roles": [
            "Indexing"
          ],
          "prior_role": "Indexing",
          "truncated": true,
          "classification_changed": false
        },
        {
          "name": "Perplexity-User",
          "operator": "Perplexity",
          "first": "2026-04-07",
          "last": "2026-09-28",
          "active_days": 68,
          "total": 7466,
          "roles": [],
          "prior_role": "On-demand retrieval",
          "truncated": false,
          "classification_changed": false
        }
      ],
      "color": "#17787b",
      "total": 143088,
      "first": "2026-03-03",
      "last": "2026-09-28",
      "count": 2,
      "art_index": 4
    },
    {
      "name": "DuckDuckGo",
      "bots": [
        {
          "name": "DuckDuckBot",
          "operator": "DuckDuckGo",
          "first": "2026-03-05",
          "last": "2026-09-28",
          "active_days": 163,
          "total": 9178,
          "roles": [
            "Indexing"
          ],
          "prior_role": "Indexing",
          "truncated": false,
          "classification_changed": false
        },
        {
          "name": "DuckAssistBot",
          "operator": "DuckDuckGo",
          "first": "2026-04-04",
          "last": "2026-09-28",
          "active_days": 140,
          "total": 1190,
          "roles": [
            "On-demand retrieval"
          ],
          "prior_role": "On-demand retrieval",
          "truncated": false,
          "classification_changed": false
        }
      ],
      "color": "#d86025",
      "total": 10368,
      "first": "2026-03-05",
      "last": "2026-09-28",
      "count": 2,
      "art_index": 5
    },
    {
      "name": "Cloudflare",
      "bots": [
        {
          "name": "AI Search",
          "operator": "Cloudflare",
          "first": "2026-06-26",
          "last": "2026-09-04",
          "active_days": 61,
          "total": 2809775,
          "roles": [
            "Indexing"
          ],
          "prior_role": "Indexing",
          "truncated": false,
          "classification_changed": false
        },
        {
          "name": "AI Search External",
          "operator": "Cloudflare",
          "first": "2026-09-04",
          "last": "2026-09-28",
          "active_days": 25,
          "total": 4706,
          "roles": [
            "Indexing"
          ],
          "prior_role": "Indexing",
          "truncated": false,
          "classification_changed": true
        }
      ],
      "color": "#c87812",
      "total": 2814481,
      "first": "2026-06-26",
      "last": "2026-09-28",
      "count": 2,
      "art_index": 6
    },
    {
      "name": "Meta",
      "bots": [
        {
          "name": "meta-externalagent",
          "operator": "Meta",
          "first": "2026-06-14",
          "last": "2026-09-28",
          "active_days": 102,
          "total": 9723446,
          "roles": [
            "Indexing",
            "Training / data retrieval"
          ],
          "prior_role": null,
          "truncated": false,
          "classification_changed": false
        }
      ],
      "color": "#3c4cb5",
      "total": 9723446,
      "first": "2026-06-14",
      "last": "2026-09-28",
      "count": 1,
      "art_index": 7
    },
    {
      "name": "ByteDance",
      "bots": [
        {
          "name": "Bytespider",
          "operator": "ByteDance",
          "first": "2026-03-03",
          "last": "2026-09-28",
          "active_days": 193,
          "total": 249576,
          "roles": [
            "Indexing"
          ],
          "prior_role": null,
          "truncated": true,
          "classification_changed": false
        }
      ],
      "color": "#546858",
      "total": 249576,
      "first": "2026-03-03",
      "last": "2026-09-28",
      "count": 1,
      "art_index": null
    },
    {
      "name": "Yandex",
      "bots": [
        {
          "name": "YandexBot",
          "operator": "Yandex",
          "first": "2026-03-03",
          "last": "2026-09-28",
          "active_days": 210,
          "total": 445992,
          "roles": [
            "Indexing"
          ],
          "prior_role": null,
          "truncated": true,
          "classification_changed": false
        }
      ],
      "color": "#546858",
      "total": 445992,
      "first": "2026-03-03",
      "last": "2026-09-28",
      "count": 1,
      "art_index": null
    },
    {
      "name": "Amazon",
      "bots": [
        {
          "name": "Amazonbot",
          "operator": "Amazon",
          "first": "2026-03-05",
          "last": "2026-09-28",
          "active_days": 191,
          "total": 5149889,
          "roles": [
            "Training / data retrieval"
          ],
          "prior_role": null,
          "truncated": false,
          "classification_changed": false
        }
      ],
      "color": "#546858",
      "total": 5149889,
      "first": "2026-03-05",
      "last": "2026-09-28",
      "count": 1,
      "art_index": null
    },
    {
      "name": "Apple",
      "bots": [
        {
          "name": "Applebot",
          "operator": "Apple",
          "first": "2026-03-11",
          "last": "2026-09-28",
          "active_days": 202,
          "total": 24374872,
          "roles": [
            "Indexing",
            "Training / data retrieval"
          ],
          "prior_role": null,
          "truncated": false,
          "classification_changed": false
        }
      ],
      "color": "#546858",
      "total": 24374872,
      "first": "2026-03-11",
      "last": "2026-09-28",
      "count": 1,
      "art_index": null
    },
    {
      "name": "You.com",
      "bots": [
        {
          "name": "YouBot",
          "operator": "You.com",
          "first": "2026-04-01",
          "last": "2026-08-28",
          "active_days": 78,
          "total": 596,
          "roles": [
            "Indexing"
          ],
          "prior_role": null,
          "truncated": false,
          "classification_changed": false
        }
      ],
      "color": "#546858",
      "total": 596,
      "first": "2026-04-01",
      "last": "2026-08-28",
      "count": 1,
      "art_index": null
    },
    {
      "name": "Baidu",
      "bots": [
        {
          "name": "Baiduspider",
          "operator": "Baidu",
          "first": "2026-04-04",
          "last": "2026-09-28",
          "active_days": 172,
          "total": 3708,
          "roles": [
            "Indexing"
          ],
          "prior_role": null,
          "truncated": false,
          "classification_changed": false
        }
      ],
      "color": "#546858",
      "total": 3708,
      "first": "2026-04-04",
      "last": "2026-09-28",
      "count": 1,
      "art_index": null
    },
    {
      "name": "Common Crawl",
      "bots": [
        {
          "name": "CCBot",
          "operator": "Common Crawl",
          "first": "2026-04-09",
          "last": "2026-09-28",
          "active_days": 80,
          "total": 14874,
          "roles": [],
          "prior_role": null,
          "truncated": false,
          "classification_changed": false
        }
      ],
      "color": "#546858",
      "total": 14874,
      "first": "2026-04-09",
      "last": "2026-09-28",
      "count": 1,
      "art_index": null
    },
    {
      "name": "Brave",
      "bots": [
        {
          "name": "Bravebot",
          "operator": "Brave",
          "first": "2026-04-10",
          "last": "2026-08-14",
          "active_days": 33,
          "total": 39,
          "roles": [
            "Indexing"
          ],
          "prior_role": null,
          "truncated": false,
          "classification_changed": false
        }
      ],
      "color": "#546858",
      "total": 39,
      "first": "2026-04-10",
      "last": "2026-08-14",
      "count": 1,
      "art_index": null
    },
    {
      "name": "Cohere",
      "bots": [
        {
          "name": "CohereBot",
          "operator": "Cohere",
          "first": "2026-05-05",
          "last": "2026-08-01",
          "active_days": 11,
          "total": 30,
          "roles": [],
          "prior_role": null,
          "truncated": false,
          "classification_changed": false
        }
      ],
      "color": "#546858",
      "total": 30,
      "first": "2026-05-05",
      "last": "2026-08-01",
      "count": 1,
      "art_index": null
    },
    {
      "name": "Huawei",
      "bots": [
        {
          "name": "PetalBot",
          "operator": "Huawei",
          "first": "2026-05-06",
          "last": "2026-09-28",
          "active_days": 130,
          "total": 97068,
          "roles": [
            "Indexing"
          ],
          "prior_role": null,
          "truncated": false,
          "classification_changed": false
        }
      ],
      "color": "#546858",
      "total": 97068,
      "first": "2026-05-06",
      "last": "2026-09-28",
      "count": 1,
      "art_index": null
    },
    {
      "name": "Kagi",
      "bots": [
        {
          "name": "Kagi",
          "operator": "Kagi",
          "first": "2026-05-16",
          "last": "2026-09-11",
          "active_days": 2,
          "total": 4,
          "roles": [
            "Indexing"
          ],
          "prior_role": null,
          "truncated": false,
          "classification_changed": false
        }
      ],
      "color": "#546858",
      "total": 4,
      "first": "2026-05-16",
      "last": "2026-09-11",
      "count": 1,
      "art_index": null
    },
    {
      "name": "Sogou",
      "bots": [
        {
          "name": "Sogou",
          "operator": "Sogou",
          "first": "2026-06-26",
          "last": "2026-09-28",
          "active_days": 93,
          "total": 176894,
          "roles": [
            "Indexing"
          ],
          "prior_role": null,
          "truncated": false,
          "classification_changed": false
        }
      ],
      "color": "#546858",
      "total": 176894,
      "first": "2026-06-26",
      "last": "2026-09-28",
      "count": 1,
      "art_index": null
    },
    {
      "name": "AgentTools-Cloud",
      "bots": [
        {
          "name": "agent-tools.cloud-crawler",
          "operator": "AgentTools-Cloud",
          "first": "2026-06-26",
          "last": "2026-08-23",
          "active_days": 59,
          "total": 1866,
          "roles": [
            "Endpoint probing"
          ],
          "prior_role": null,
          "truncated": false,
          "classification_changed": false
        }
      ],
      "color": "#546858",
      "total": 1866,
      "first": "2026-06-26",
      "last": "2026-08-23",
      "count": 1,
      "art_index": null
    },
    {
      "name": "TollBit",
      "bots": [
        {
          "name": "tollbot",
          "operator": "TollBit",
          "first": "2026-06-26",
          "last": "2026-09-28",
          "active_days": 93,
          "total": 113100,
          "roles": [
            "Endpoint probing"
          ],
          "prior_role": null,
          "truncated": false,
          "classification_changed": false
        }
      ],
      "color": "#546858",
      "total": 113100,
      "first": "2026-06-26",
      "last": "2026-09-28",
      "count": 1,
      "art_index": null
    },
    {
      "name": "Linkup",
      "bots": [
        {
          "name": "LinkupBot",
          "operator": "Linkup",
          "first": "2026-07-31",
          "last": "2026-09-28",
          "active_days": 54,
          "total": 51031,
          "roles": [
            "Indexing"
          ],
          "prior_role": null,
          "truncated": false,
          "classification_changed": false
        }
      ],
      "color": "#546858",
      "total": 51031,
      "first": "2026-07-31",
      "last": "2026-09-28",
      "count": 1,
      "art_index": null
    },
    {
      "name": "DeepSeek",
      "bots": [
        {
          "name": "DeepSeek",
          "operator": "DeepSeek",
          "first": "2026-08-07",
          "last": "2026-09-28",
          "active_days": 28,
          "total": 6497,
          "roles": [],
          "prior_role": null,
          "truncated": false,
          "classification_changed": false
        }
      ],
      "color": "#546858",
      "total": 6497,
      "first": "2026-08-07",
      "last": "2026-09-28",
      "count": 1,
      "art_index": null
    },
    {
      "name": "Yahoo Japan",
      "bots": [
        {
          "name": "Y!J-DLC",
          "operator": "Yahoo Japan",
          "first": "2026-08-07",
          "last": "2026-09-28",
          "active_days": 10,
          "total": 24,
          "roles": [
            "Endpoint probing"
          ],
          "prior_role": null,
          "truncated": false,
          "classification_changed": false
        }
      ],
      "color": "#546858",
      "total": 24,
      "first": "2026-08-07",
      "last": "2026-09-28",
      "count": 1,
      "art_index": null
    },
    {
      "name": "Parallel",
      "bots": [
        {
          "name": "ShapBot",
          "operator": "Parallel",
          "first": "2026-08-24",
          "last": "2026-09-28",
          "active_days": 36,
          "total": 114533,
          "roles": [
            "Indexing"
          ],
          "prior_role": null,
          "truncated": false,
          "classification_changed": true
        }
      ],
      "color": "#546858",
      "total": 114533,
      "first": "2026-08-24",
      "last": "2026-09-28",
      "count": 1,
      "art_index": null
    },
    {
      "name": "Mistral",
      "bots": [
        {
          "name": "MistralAI-User",
          "operator": "Mistral",
          "first": "2026-08-29",
          "last": "2026-08-29",
          "active_days": 1,
          "total": 6,
          "roles": [],
          "prior_role": null,
          "truncated": false,
          "classification_changed": true
        }
      ],
      "color": "#546858",
      "total": 6,
      "first": "2026-08-29",
      "last": "2026-08-29",
      "count": 1,
      "art_index": null
    },
    {
      "name": "NICT",
      "bots": [
        {
          "name": "ICC Crawler",
          "operator": "NICT",
          "first": "2026-08-25",
          "last": "2026-09-28",
          "active_days": 7,
          "total": 20,
          "roles": [
            "Training / data retrieval"
          ],
          "prior_role": null,
          "truncated": false,
          "classification_changed": true
        }
      ],
      "color": "#546858",
      "total": 20,
      "first": "2026-08-25",
      "last": "2026-09-28",
      "count": 1,
      "art_index": null
    },
    {
      "name": "ROIS",
      "bots": [
        {
          "name": "Cotoyogi",
          "operator": "ROIS",
          "first": "2026-08-29",
          "last": "2026-08-29",
          "active_days": 1,
          "total": 2,
          "roles": [
            "Training / data retrieval"
          ],
          "prior_role": null,
          "truncated": false,
          "classification_changed": true
        }
      ],
      "color": "#546858",
      "total": 2,
      "first": "2026-08-29",
      "last": "2026-08-29",
      "count": 1,
      "art_index": null
    },
    {
      "name": "Golemreach",
      "bots": [
        {
          "name": "GolemreachTrustBot",
          "operator": "Golemreach",
          "first": "2026-08-26",
          "last": "2026-09-28",
          "active_days": 33,
          "total": 5405,
          "roles": [
            "Endpoint probing"
          ],
          "prior_role": null,
          "truncated": false,
          "classification_changed": true
        }
      ],
      "color": "#546858",
      "total": 5405,
      "first": "2026-08-26",
      "last": "2026-09-28",
      "count": 1,
      "art_index": null
    },
    {
      "name": "mcpbeat",
      "bots": [
        {
          "name": "mcpbeat",
          "operator": "mcpbeat",
          "first": "2026-08-26",
          "last": "2026-09-28",
          "active_days": 34,
          "total": 6118,
          "roles": [
            "Endpoint probing"
          ],
          "prior_role": null,
          "truncated": false,
          "classification_changed": true
        }
      ],
      "color": "#546858",
      "total": 6118,
      "first": "2026-08-26",
      "last": "2026-09-28",
      "count": 1,
      "art_index": null
    },
    {
      "name": "Andi",
      "bots": [
        {
          "name": "Andi-AgentSurfaceProbe",
          "operator": "Andi",
          "first": "2026-09-17",
          "last": "2026-09-27",
          "active_days": 7,
          "total": 985,
          "roles": [],
          "prior_role": null,
          "truncated": false,
          "classification_changed": true
        }
      ],
      "color": "#546858",
      "total": 985,
      "first": "2026-09-17",
      "last": "2026-09-27",
      "count": 1,
      "art_index": null
    }
  ],
  "excluded": [
    {
      "bot": "HanaleiBot",
      "operator": "Unattributed / other",
      "first": "2026-07-18",
      "last": "2026-09-28",
      "active_days": 35,
      "total": 275
    },
    {
      "bot": "Mozilla-agent",
      "operator": "Unattributed / other",
      "first": "2026-08-24",
      "last": "2026-09-28",
      "active_days": 36,
      "total": 3743
    },
    {
      "bot": "Mozilla-se",
      "operator": "Unattributed / other",
      "first": "2026-08-24",
      "last": "2026-09-28",
      "active_days": 36,
      "total": 18797
    },
    {
      "bot": "Mozilla-other",
      "operator": "Unattributed / other",
      "first": "2026-09-05",
      "last": "2026-09-27",
      "active_days": 7,
      "total": 26
    },
    {
      "bot": "Python-urllib",
      "operator": "Unattributed / other",
      "first": "2026-09-20",
      "last": "2026-09-26",
      "active_days": 3,
      "total": 4
    },
    {
      "bot": "Claimed AI identity; source IP outside the named provider",
      "operator": "Unattributed / other",
      "first": "2026-08-24",
      "last": "2026-09-28",
      "active_days": 36,
      "total": 4247216
    }
  ],
  "explanation": "Family totals sum bot request counts from bot_timeline.json. Requests are not unique visitors or sessions. Roles use bots.json; missing classifications remain under review."
}