{
  "region": "EU",
  "generated": "2026-09-24 20:06",
  "indicator": {
    "id": "ai_readers_01_eu",
    "name": "AI readers (weekly) - AI requests to the European Union edition (/eu/ paths)",
    "unit": "requests",
    "cadence": "weekly (re-aggregated daily from daily data; weeks are 7-day blocks from 2026-08-23, Sunday to Saturday, JST)",
    "definition_version": "1.0",
    "definition_fixed_on": "2026-08-29",
    "definition_doc": "docs/指標定義_AI読者数.md",
    "data_layer_doc": "docs/指標定義_AI読者アクセス.md",
    "path_scope": "/eu/",
    "path_scope_note": "Only requests whose path starts with /eu/ (this edition's pages and API files). Shared root files (/, /llms.txt, /index.json, /api/world.json) are not attributed to any edition. Same definition, same UA table and same self-exclusion rule as the Japan edition; only the path filter differs.",
    "observation_start": "2026-09-03",
    "edition_launched": "2026-09-03",
    "verified_series_start": "2026-08-27",
    "published_series": "Headline = requests Cloudflare verified as known bots (verifiedBotCategory). Unverified counts listed separately; the self-declared total is a reference upper bound only.",
    "counted": "HTTP requests from AI-declared user agents to ai-lifeline.org under this path prefix (Cloudflare edge measurement; our own traffic excluded by UA)",
    "not_means_1": "Not proof that an AI read the page. UA strings are self-declared and can be spoofed; verification is Cloudflare judgement, not ours. Unverified does not mean spoofed.",
    "not_means_2": "Not readers, people or sessions: one request = one file.",
    "not_means_3": "Says nothing about training use.",
    "privacy": "No IP addresses are collected or stored; raw UA strings are not published, only AI-name classes.",
    "self_exclusion": "Our own traffic is identified by UA and excluded; the excluded counts are published (self_excluded).",
    "sampling_note": "Counts are Cloudflare sample counts (as in the Japan edition); no sampling correction is applied.",
    "provisional_note": "Weeks that have not ended are provisional. Series started with the edition launch, so early weeks are partial."
  },
  "source": {
    "name": "Cloudflare GraphQL Analytics API (httpRequestsAdaptiveGroups, edge measurement)",
    "fetch": "ai-lifeline/scripts/fetch_cf_access.ps1 (daily, previous day)",
    "build": "ai-lifeline/scripts/build_ai_readers_region.ps1",
    "raw_note": "Daily detail is archived every day from the API (8-day retention) into data/cfaccess/raw/"
  },
  "weeks": [
    {
      "week": 2,
      "from": "2026-08-30",
      "to": "2026-09-05",
      "observed_through": "2026-09-05",
      "days_observed": 3,
      "provisional": false,
      "verified_total": 17,
      "verified_days": 3,
      "unverified_total": 0,
      "named_total_reference": 17,
      "self_excluded_total": 840,
      "breakdown_verified": {
        "Claude-User": 0,
        "ClaudeBot": 0,
        "GPTBot": 15,
        "CCBot": 0,
        "other": 2
      },
      "breakdown_verified_other_detail": {
        "Amazonbot": 1,
        "OAI-SearchBot": 1
      },
      "top_verified": {
        "name": "GPTBot",
        "requests": 15
      }
    },
    {
      "week": 3,
      "from": "2026-09-06",
      "to": "2026-09-12",
      "observed_through": "2026-09-12",
      "days_observed": 7,
      "provisional": false,
      "verified_total": 217,
      "verified_days": 7,
      "unverified_total": 0,
      "named_total_reference": 217,
      "self_excluded_total": 1038,
      "breakdown_verified": {
        "Claude-User": 0,
        "ClaudeBot": 0,
        "GPTBot": 22,
        "CCBot": 0,
        "other": 195
      },
      "breakdown_verified_other_detail": {
        "ShapBot": 98,
        "meta-externalagent": 27,
        "OAI-SearchBot": 24,
        "GoogleOther": 22,
        "Amazonbot": 18,
        "ChatGPT-User": 6
      },
      "top_verified": {
        "name": "ShapBot",
        "requests": 98
      }
    },
    {
      "week": 4,
      "from": "2026-09-13",
      "to": "2026-09-19",
      "observed_through": "2026-09-19",
      "days_observed": 7,
      "provisional": false,
      "verified_total": 90,
      "verified_days": 7,
      "unverified_total": 0,
      "named_total_reference": 90,
      "self_excluded_total": 1185,
      "breakdown_verified": {
        "Claude-User": 0,
        "ClaudeBot": 0,
        "GPTBot": 5,
        "CCBot": 0,
        "other": 85
      },
      "breakdown_verified_other_detail": {
        "ShapBot": 45,
        "OAI-SearchBot": 27,
        "Amazonbot": 11,
        "ChatGPT-User": 2
      },
      "top_verified": {
        "name": "ShapBot",
        "requests": 45
      }
    },
    {
      "week": 5,
      "from": "2026-09-20",
      "to": "2026-09-26",
      "observed_through": "2026-09-23",
      "days_observed": 4,
      "provisional": true,
      "verified_total": 74,
      "verified_days": 4,
      "unverified_total": 0,
      "named_total_reference": 74,
      "self_excluded_total": 460,
      "breakdown_verified": {
        "Claude-User": 1,
        "ClaudeBot": 0,
        "GPTBot": 0,
        "CCBot": 0,
        "other": 73
      },
      "breakdown_verified_other_detail": {
        "ShapBot": 47,
        "OAI-SearchBot": 16,
        "Amazonbot": 8,
        "ChatGPT-User": 2
      },
      "top_verified": {
        "name": "ShapBot",
        "requests": 47
      }
    }
  ],
  "days": [
    {
      "date": "2026-09-03",
      "ai_verified": 0,
      "ai_unverified": 0,
      "ai_named_reference": 0,
      "self_excluded": 285,
      "requests_in_scope": 347,
      "verified_available": true
    },
    {
      "date": "2026-09-04",
      "ai_verified": 1,
      "ai_unverified": 0,
      "ai_named_reference": 1,
      "self_excluded": 432,
      "requests_in_scope": 497,
      "verified_available": true
    },
    {
      "date": "2026-09-05",
      "ai_verified": 16,
      "ai_unverified": 0,
      "ai_named_reference": 16,
      "self_excluded": 123,
      "requests_in_scope": 236,
      "verified_available": true
    },
    {
      "date": "2026-09-06",
      "ai_verified": 30,
      "ai_unverified": 0,
      "ai_named_reference": 30,
      "self_excluded": 233,
      "requests_in_scope": 300,
      "verified_available": true
    },
    {
      "date": "2026-09-07",
      "ai_verified": 96,
      "ai_unverified": 0,
      "ai_named_reference": 96,
      "self_excluded": 117,
      "requests_in_scope": 292,
      "verified_available": true
    },
    {
      "date": "2026-09-08",
      "ai_verified": 15,
      "ai_unverified": 0,
      "ai_named_reference": 15,
      "self_excluded": 259,
      "requests_in_scope": 313,
      "verified_available": true
    },
    {
      "date": "2026-09-09",
      "ai_verified": 4,
      "ai_unverified": 0,
      "ai_named_reference": 4,
      "self_excluded": 118,
      "requests_in_scope": 146,
      "verified_available": true
    },
    {
      "date": "2026-09-10",
      "ai_verified": 14,
      "ai_unverified": 0,
      "ai_named_reference": 14,
      "self_excluded": 57,
      "requests_in_scope": 126,
      "verified_available": true
    },
    {
      "date": "2026-09-11",
      "ai_verified": 3,
      "ai_unverified": 0,
      "ai_named_reference": 3,
      "self_excluded": 56,
      "requests_in_scope": 108,
      "verified_available": true
    },
    {
      "date": "2026-09-12",
      "ai_verified": 55,
      "ai_unverified": 0,
      "ai_named_reference": 55,
      "self_excluded": 198,
      "requests_in_scope": 311,
      "verified_available": true
    },
    {
      "date": "2026-09-13",
      "ai_verified": 12,
      "ai_unverified": 0,
      "ai_named_reference": 12,
      "self_excluded": 145,
      "requests_in_scope": 183,
      "verified_available": true
    },
    {
      "date": "2026-09-14",
      "ai_verified": 8,
      "ai_unverified": 0,
      "ai_named_reference": 8,
      "self_excluded": 83,
      "requests_in_scope": 135,
      "verified_available": true
    },
    {
      "date": "2026-09-15",
      "ai_verified": 7,
      "ai_unverified": 0,
      "ai_named_reference": 7,
      "self_excluded": 209,
      "requests_in_scope": 244,
      "verified_available": true
    },
    {
      "date": "2026-09-16",
      "ai_verified": 4,
      "ai_unverified": 0,
      "ai_named_reference": 4,
      "self_excluded": 83,
      "requests_in_scope": 125,
      "verified_available": true
    },
    {
      "date": "2026-09-17",
      "ai_verified": 49,
      "ai_unverified": 0,
      "ai_named_reference": 49,
      "self_excluded": 82,
      "requests_in_scope": 264,
      "verified_available": true
    },
    {
      "date": "2026-09-18",
      "ai_verified": 5,
      "ai_unverified": 0,
      "ai_named_reference": 5,
      "self_excluded": 83,
      "requests_in_scope": 130,
      "verified_available": true
    },
    {
      "date": "2026-09-19",
      "ai_verified": 5,
      "ai_unverified": 0,
      "ai_named_reference": 5,
      "self_excluded": 500,
      "requests_in_scope": 532,
      "verified_available": true
    },
    {
      "date": "2026-09-20",
      "ai_verified": 13,
      "ai_unverified": 0,
      "ai_named_reference": 13,
      "self_excluded": 83,
      "requests_in_scope": 130,
      "verified_available": true
    },
    {
      "date": "2026-09-21",
      "ai_verified": 53,
      "ai_unverified": 0,
      "ai_named_reference": 53,
      "self_excluded": 82,
      "requests_in_scope": 158,
      "verified_available": true
    },
    {
      "date": "2026-09-22",
      "ai_verified": 4,
      "ai_unverified": 0,
      "ai_named_reference": 4,
      "self_excluded": 212,
      "requests_in_scope": 231,
      "verified_available": true
    },
    {
      "date": "2026-09-23",
      "ai_verified": 4,
      "ai_unverified": 0,
      "ai_named_reference": 4,
      "self_excluded": 83,
      "requests_in_scope": 113,
      "verified_available": true
    }
  ]
}
