{
  "entity": {
    "id": 1,
    "slug": "gptbot",
    "vendor": "OpenAI",
    "name": "GPTBot",
    "kind": "crawler",
    "purpose": "training",
    "ua_token": "GPTBot",
    "ua_pattern": "GPTBot",
    "robots_token": "GPTBot",
    "ip_list_url": "https://openai.com/gptbot.json",
    "docs_url": "https://platform.openai.com/docs/bots",
    "first_documented": "2026-09-13",
    "first_seen_here": null,
    "last_seen_here": null,
    "status": "active",
    "notes": "Crawls public web content for OpenAI model training.",
    "created_at": "2026-09-13T00:00:00Z",
    "updated_at": "2026-09-13T00:00:00Z"
  },
  "claims": [
    {
      "id": 79,
      "entity_id": 1,
      "slug": "gptbot/honours_crawl_delay",
      "field": "honours_crawl_delay",
      "value": "not_documented",
      "statement": "OpenAI does not publish whether GPTBot honours the robots.txt Crawl-delay directive.",
      "evidence_url": "https://developers.openai.com/api/docs/bots",
      "evidence_quote": null,
      "method": "vendor_doc",
      "verified_at": "2026-09-13",
      "confidence": null,
      "status": "current",
      "supersedes_id": null,
      "created_at": "2026-09-14T00:15:09Z",
      "updated_at": "2026-09-14T00:15:09Z",
      "evidence_date": null
    },
    {
      "id": 80,
      "entity_id": 1,
      "slug": "gptbot/publishes_ip_list",
      "field": "publishes_ip_list",
      "value": "yes",
      "statement": "OpenAI publishes the IP address ranges used by GPTBot as a JSON file at https://openai.com/gptbot.json.",
      "evidence_url": "https://openai.com/gptbot.json",
      "evidence_quote": "\"Published IP addresses: https://openai.com/gptbot.json\"",
      "method": "vendor_doc",
      "verified_at": "2026-09-13",
      "confidence": "high",
      "status": "current",
      "supersedes_id": null,
      "created_at": "2026-09-14T00:15:09Z",
      "updated_at": "2026-09-14T00:15:09Z",
      "evidence_date": "2025-10-30"
    },
    {
      "id": 82,
      "entity_id": 1,
      "slug": "gptbot/purpose_documented",
      "field": "purpose_documented",
      "value": "training",
      "statement": "GPTBot crawls content that may be used to train OpenAI generative AI foundation models.",
      "evidence_url": "https://developers.openai.com/api/docs/bots",
      "evidence_quote": "\"GPTBot is used to make our generative AI foundation models more useful and safe. It is used to crawl content that may be used in training our generative AI foundation models.\"",
      "method": "vendor_doc",
      "verified_at": "2026-09-13",
      "confidence": "high",
      "status": "current",
      "supersedes_id": null,
      "created_at": "2026-09-14T00:15:09Z",
      "updated_at": "2026-09-14T00:15:09Z",
      "evidence_date": null
    },
    {
      "id": 78,
      "entity_id": 1,
      "slug": "gptbot/respects_robots_txt",
      "field": "respects_robots_txt",
      "value": "yes",
      "statement": "GPTBot honours robots.txt rules that webmasters set for the GPTBot token.",
      "evidence_url": "https://developers.openai.com/api/docs/bots",
      "evidence_quote": "\"OpenAI uses OAI-SearchBot and GPTBot robots.txt tags to enable webmasters to manage how their sites and content work with AI.\"",
      "method": "vendor_doc",
      "verified_at": "2026-09-13",
      "confidence": "high",
      "status": "current",
      "supersedes_id": null,
      "created_at": "2026-09-14T00:15:09Z",
      "updated_at": "2026-09-14T00:15:09Z",
      "evidence_date": null
    },
    {
      "id": 85,
      "entity_id": 1,
      "slug": "gptbot/robots_txt_fetch_marker",
      "field": "robots_txt_fetch_marker",
      "value": "yes",
      "statement": "OpenAI may add a robots.txt marker to the GPTBot user agent string when GPTBot fetches robots.txt files.",
      "evidence_url": "https://developers.openai.com/api/docs/bots",
      "evidence_quote": "\"When fetching robots.txt files, we may add a robots.txt marker to the user-agent string to help site owners distinguish those requests from requests for other resources\"",
      "method": "vendor_doc",
      "verified_at": "2026-09-13",
      "confidence": "high",
      "status": "current",
      "supersedes_id": null,
      "created_at": "2026-09-14T00:15:09Z",
      "updated_at": "2026-09-14T00:15:09Z",
      "evidence_date": null
    },
    {
      "id": 83,
      "entity_id": 1,
      "slug": "gptbot/separate_search_and_training_tokens",
      "field": "separate_search_and_training_tokens",
      "value": "yes",
      "statement": "OpenAI separates search and training controls into two robots.txt tokens: OAI-SearchBot for search and GPTBot for training.",
      "evidence_url": "https://developers.openai.com/api/docs/bots",
      "evidence_quote": "\"a webmaster can allow OAI-SearchBot in order to appear in search results while disallowing GPTBot to indicate that crawled content should not be used for training OpenAI's generative AI foundation models.\"",
      "method": "vendor_doc",
      "verified_at": "2026-09-13",
      "confidence": "high",
      "status": "current",
      "supersedes_id": null,
      "created_at": "2026-09-14T00:15:09Z",
      "updated_at": "2026-09-14T00:15:09Z",
      "evidence_date": null
    },
    {
      "id": 84,
      "entity_id": 1,
      "slug": "gptbot/user_agent_string_full",
      "field": "user_agent_string_full",
      "value": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot",
      "statement": "GPTBot sends the user agent string Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot.",
      "evidence_url": "https://developers.openai.com/api/docs/bots",
      "evidence_quote": "\"Example user-agent string (the version number may change): Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot\"",
      "method": "vendor_doc",
      "verified_at": "2026-09-13",
      "confidence": "high",
      "status": "current",
      "supersedes_id": null,
      "created_at": "2026-09-14T00:15:09Z",
      "updated_at": "2026-09-14T00:15:09Z",
      "evidence_date": null
    },
    {
      "id": 81,
      "entity_id": 1,
      "slug": "gptbot/verifiable_by_rdns",
      "field": "verifiable_by_rdns",
      "value": "not_documented",
      "statement": "OpenAI does not publish a reverse-DNS verification method for GPTBot.",
      "evidence_url": "https://developers.openai.com/api/docs/bots",
      "evidence_quote": null,
      "method": "vendor_doc",
      "verified_at": "2026-09-13",
      "confidence": null,
      "status": "current",
      "supersedes_id": null,
      "created_at": "2026-09-14T00:15:09Z",
      "updated_at": "2026-09-14T00:15:09Z",
      "evidence_date": null
    }
  ],
  "observed": {
    "requests_30d": 1,
    "verified_share_30d": 0,
    "daily_rows": [
      {
        "id": 1,
        "date": "2026-09-13",
        "entity_id": 1,
        "requests": 1,
        "paths": "[\"/crawlers/gptbot\"]",
        "formats": "[\"html\"]",
        "verified_share": 0
      }
    ]
  },
  "changes": [
    {
      "id": 78,
      "claim_id": 78,
      "entity_id": 1,
      "changed_at": "2026-09-13",
      "kind": "new",
      "old_value": null,
      "new_value": "yes",
      "evidence_url": "https://developers.openai.com/api/docs/bots",
      "note": "P0.3 seed batch",
      "entity_slug": "gptbot",
      "entity_name": "GPTBot"
    },
    {
      "id": 79,
      "claim_id": 79,
      "entity_id": 1,
      "changed_at": "2026-09-13",
      "kind": "new",
      "old_value": null,
      "new_value": "not_documented",
      "evidence_url": "https://developers.openai.com/api/docs/bots",
      "note": "P0.3 seed batch",
      "entity_slug": "gptbot",
      "entity_name": "GPTBot"
    },
    {
      "id": 80,
      "claim_id": 80,
      "entity_id": 1,
      "changed_at": "2026-09-13",
      "kind": "new",
      "old_value": null,
      "new_value": "yes",
      "evidence_url": "https://openai.com/gptbot.json",
      "note": "P0.3 seed batch",
      "entity_slug": "gptbot",
      "entity_name": "GPTBot"
    },
    {
      "id": 81,
      "claim_id": 81,
      "entity_id": 1,
      "changed_at": "2026-09-13",
      "kind": "new",
      "old_value": null,
      "new_value": "not_documented",
      "evidence_url": "https://developers.openai.com/api/docs/bots",
      "note": "P0.3 seed batch",
      "entity_slug": "gptbot",
      "entity_name": "GPTBot"
    },
    {
      "id": 82,
      "claim_id": 82,
      "entity_id": 1,
      "changed_at": "2026-09-13",
      "kind": "new",
      "old_value": null,
      "new_value": "training",
      "evidence_url": "https://developers.openai.com/api/docs/bots",
      "note": "P0.3 seed batch",
      "entity_slug": "gptbot",
      "entity_name": "GPTBot"
    },
    {
      "id": 83,
      "claim_id": 83,
      "entity_id": 1,
      "changed_at": "2026-09-13",
      "kind": "new",
      "old_value": null,
      "new_value": "yes",
      "evidence_url": "https://developers.openai.com/api/docs/bots",
      "note": "P0.3 seed batch",
      "entity_slug": "gptbot",
      "entity_name": "GPTBot"
    },
    {
      "id": 84,
      "claim_id": 84,
      "entity_id": 1,
      "changed_at": "2026-09-13",
      "kind": "new",
      "old_value": null,
      "new_value": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot",
      "evidence_url": "https://developers.openai.com/api/docs/bots",
      "note": "P0.3 seed batch",
      "entity_slug": "gptbot",
      "entity_name": "GPTBot"
    },
    {
      "id": 85,
      "claim_id": 85,
      "entity_id": 1,
      "changed_at": "2026-09-13",
      "kind": "new",
      "old_value": null,
      "new_value": "yes",
      "evidence_url": "https://developers.openai.com/api/docs/bots",
      "note": "P0.3 seed batch",
      "entity_slug": "gptbot",
      "entity_name": "GPTBot"
    }
  ],
  "notes": []
}