{
  "entity": {
    "id": 3,
    "slug": "chatgpt-user",
    "vendor": "OpenAI",
    "name": "ChatGPT-User",
    "kind": "fetcher",
    "purpose": "user_fetch",
    "ua_token": "ChatGPT-User",
    "ua_pattern": "ChatGPT-User",
    "robots_token": "ChatGPT-User",
    "ip_list_url": "https://openai.com/chatgpt-user.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": "Fetches a page only when a ChatGPT or Custom GPT user directs it to that URL. Vendor documentation states robots.txt rules may not apply to this fetcher.",
    "created_at": "2026-09-13T00:00:00Z",
    "updated_at": "2026-09-13T00:00:00Z"
  },
  "claims": [
    {
      "id": 25,
      "entity_id": 3,
      "slug": "chatgpt-user/cites_sources",
      "field": "cites_sources",
      "value": "not_documented",
      "statement": "OpenAI does not publish whether ChatGPT responses cite pages fetched by ChatGPT-User.",
      "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": 20,
      "entity_id": 3,
      "slug": "chatgpt-user/honours_crawl_delay",
      "field": "honours_crawl_delay",
      "value": "not_documented",
      "statement": "OpenAI does not publish whether ChatGPT-User 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": 21,
      "entity_id": 3,
      "slug": "chatgpt-user/publishes_ip_list",
      "field": "publishes_ip_list",
      "value": "yes",
      "statement": "OpenAI publishes the IP address ranges used by ChatGPT-User as a JSON file at https://openai.com/chatgpt-user.json.",
      "evidence_url": "https://openai.com/chatgpt-user.json",
      "evidence_quote": "\"Published IP addresses: https://openai.com/chatgpt-user.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": "2026-09-11"
    },
    {
      "id": 23,
      "entity_id": 3,
      "slug": "chatgpt-user/purpose_documented",
      "field": "purpose_documented",
      "value": "user_fetch",
      "statement": "ChatGPT-User visits web pages for user actions in ChatGPT and in Custom GPTs.",
      "evidence_url": "https://developers.openai.com/api/docs/bots",
      "evidence_quote": "\"OpenAI also uses ChatGPT-User for certain user actions in ChatGPT and Custom GPTs. When users ask ChatGPT or a CustomGPT a question, it may visit a web page with a ChatGPT-User agent.\"",
      "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": 26,
      "entity_id": 3,
      "slug": "chatgpt-user/reads_llms_txt",
      "field": "reads_llms_txt",
      "value": "not_documented",
      "statement": "OpenAI does not publish whether ChatGPT-User reads llms.txt files.",
      "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": 19,
      "entity_id": 3,
      "slug": "chatgpt-user/respects_robots_txt",
      "field": "respects_robots_txt",
      "value": "partial",
      "statement": "ChatGPT-User fetches pages in response to user actions in ChatGPT, and OpenAI states that robots.txt rules may not apply to ChatGPT-User fetches.",
      "evidence_url": "https://developers.openai.com/api/docs/bots",
      "evidence_quote": "\"ChatGPT-User is not used for crawling the web in an automatic fashion. Because these actions are initiated by a user, robots.txt rules may not apply.\"",
      "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": 24,
      "entity_id": 3,
      "slug": "chatgpt-user/separate_search_and_training_tokens",
      "field": "separate_search_and_training_tokens",
      "value": "not_documented",
      "statement": "OpenAI does not document ChatGPT-User as a search or training opt-out token.",
      "evidence_url": "https://developers.openai.com/api/docs/bots",
      "evidence_quote": "\"ChatGPT-User is not used to determine whether content may appear in Search. Please use OAI-SearchBot in robots.txt for managing Search opt outs and automatic crawl.\"",
      "method": "vendor_doc",
      "verified_at": "2026-09-13",
      "confidence": "medium",
      "status": "current",
      "supersedes_id": null,
      "created_at": "2026-09-14T00:15:09Z",
      "updated_at": "2026-09-14T00:15:09Z",
      "evidence_date": null
    },
    {
      "id": 27,
      "entity_id": 3,
      "slug": "chatgpt-user/user_agent_string_full",
      "field": "user_agent_string_full",
      "value": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot",
      "statement": "ChatGPT-User sends the user agent string Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot.",
      "evidence_url": "https://developers.openai.com/api/docs/bots",
      "evidence_quote": "\"Full user-agent string: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot\"",
      "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": 22,
      "entity_id": 3,
      "slug": "chatgpt-user/verifiable_by_rdns",
      "field": "verifiable_by_rdns",
      "value": "not_documented",
      "statement": "OpenAI does not publish a reverse-DNS verification method for ChatGPT-User.",
      "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": 5,
    "verified_requests_30d": 5,
    "verified_share_30d": 1,
    "daily_rows": [
      {
        "id": 41,
        "date": "2026-09-19",
        "entity_id": 3,
        "requests": 3,
        "paths": "[\"/compare/applebot-extended-vs-oai-adsbot\",\"/compare/oai-adsbot-vs-oai-searchbot\",\"/compare/oai-adsbot-vs-perplexity-user\"]",
        "formats": "[\"html\"]",
        "verified_share": 1,
        "verified_requests": 3
      },
      {
        "id": 34,
        "date": "2026-09-18",
        "entity_id": 3,
        "requests": 2,
        "paths": "[\"/mcp\",\"/\"]",
        "formats": "[\"json\",\"html\"]",
        "verified_share": 1,
        "verified_requests": 2
      }
    ]
  },
  "changes": [
    {
      "id": 19,
      "claim_id": 19,
      "entity_id": 3,
      "changed_at": "2026-09-13T00:00:00Z",
      "kind": "new",
      "old_value": null,
      "new_value": "partial",
      "evidence_url": "https://developers.openai.com/api/docs/bots",
      "note": "P0.3 seed batch",
      "entity_slug": "chatgpt-user",
      "entity_name": "ChatGPT-User",
      "claim_field": "respects_robots_txt",
      "claim_value": "partial",
      "claim_statement": "ChatGPT-User fetches pages in response to user actions in ChatGPT, and OpenAI states that robots.txt rules may not apply to ChatGPT-User fetches."
    },
    {
      "id": 20,
      "claim_id": 20,
      "entity_id": 3,
      "changed_at": "2026-09-13T00:00:00Z",
      "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": "chatgpt-user",
      "entity_name": "ChatGPT-User",
      "claim_field": "honours_crawl_delay",
      "claim_value": "not_documented",
      "claim_statement": "OpenAI does not publish whether ChatGPT-User honours the robots.txt Crawl-delay directive."
    },
    {
      "id": 21,
      "claim_id": 21,
      "entity_id": 3,
      "changed_at": "2026-09-13T00:00:00Z",
      "kind": "new",
      "old_value": null,
      "new_value": "yes",
      "evidence_url": "https://openai.com/chatgpt-user.json",
      "note": "P0.3 seed batch",
      "entity_slug": "chatgpt-user",
      "entity_name": "ChatGPT-User",
      "claim_field": "publishes_ip_list",
      "claim_value": "yes",
      "claim_statement": "OpenAI publishes the IP address ranges used by ChatGPT-User as a JSON file at https://openai.com/chatgpt-user.json."
    },
    {
      "id": 22,
      "claim_id": 22,
      "entity_id": 3,
      "changed_at": "2026-09-13T00:00:00Z",
      "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": "chatgpt-user",
      "entity_name": "ChatGPT-User",
      "claim_field": "verifiable_by_rdns",
      "claim_value": "not_documented",
      "claim_statement": "OpenAI does not publish a reverse-DNS verification method for ChatGPT-User."
    },
    {
      "id": 23,
      "claim_id": 23,
      "entity_id": 3,
      "changed_at": "2026-09-13T00:00:00Z",
      "kind": "new",
      "old_value": null,
      "new_value": "user_fetch",
      "evidence_url": "https://developers.openai.com/api/docs/bots",
      "note": "P0.3 seed batch",
      "entity_slug": "chatgpt-user",
      "entity_name": "ChatGPT-User",
      "claim_field": "purpose_documented",
      "claim_value": "user_fetch",
      "claim_statement": "ChatGPT-User visits web pages for user actions in ChatGPT and in Custom GPTs."
    },
    {
      "id": 24,
      "claim_id": 24,
      "entity_id": 3,
      "changed_at": "2026-09-13T00:00:00Z",
      "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": "chatgpt-user",
      "entity_name": "ChatGPT-User",
      "claim_field": "separate_search_and_training_tokens",
      "claim_value": "not_documented",
      "claim_statement": "OpenAI does not document ChatGPT-User as a search or training opt-out token."
    },
    {
      "id": 25,
      "claim_id": 25,
      "entity_id": 3,
      "changed_at": "2026-09-13T00:00:00Z",
      "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": "chatgpt-user",
      "entity_name": "ChatGPT-User",
      "claim_field": "cites_sources",
      "claim_value": "not_documented",
      "claim_statement": "OpenAI does not publish whether ChatGPT responses cite pages fetched by ChatGPT-User."
    },
    {
      "id": 26,
      "claim_id": 26,
      "entity_id": 3,
      "changed_at": "2026-09-13T00:00:00Z",
      "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": "chatgpt-user",
      "entity_name": "ChatGPT-User",
      "claim_field": "reads_llms_txt",
      "claim_value": "not_documented",
      "claim_statement": "OpenAI does not publish whether ChatGPT-User reads llms.txt files."
    },
    {
      "id": 27,
      "claim_id": 27,
      "entity_id": 3,
      "changed_at": "2026-09-13T00:00:00Z",
      "kind": "new",
      "old_value": null,
      "new_value": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot",
      "evidence_url": "https://developers.openai.com/api/docs/bots",
      "note": "P0.3 seed batch",
      "entity_slug": "chatgpt-user",
      "entity_name": "ChatGPT-User",
      "claim_field": "user_agent_string_full",
      "claim_value": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot",
      "claim_statement": "ChatGPT-User sends the user agent string Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot."
    }
  ],
  "questions": [
    {
      "hash": "f453cacd1535f4700e95bab1b1480233e943644b1baa9857d70aa5001c264ee7",
      "text": "Will a compliant, named AI crawler always avoid URLs disallowed in robots.txt?",
      "count": 2,
      "last_seen": "2026-09-15"
    }
  ],
  "notes": [],
  "definition": "The ChatGPT-User record on Rattlesnakes By Mail is the full published file on ChatGPT-User, a fetcher from OpenAI. Each fact on the ChatGPT-User record is a dated claim with a verbatim quote from OpenAI, a source URL, a verification method and a confidence. Sections run in a fixed order: Identity, Claims, Observations, Changes, Questions, Notes.",
  "fields_url": "https://rattlesnakesbymail.com/fields",
  "compare_with": [
    {
      "slug": "claude-searchbot",
      "name": "Claude-SearchBot",
      "url": "https://rattlesnakesbymail.com/compare/chatgpt-user-vs-claude-searchbot"
    },
    {
      "slug": "claude-user",
      "name": "Claude-User",
      "url": "https://rattlesnakesbymail.com/compare/chatgpt-user-vs-claude-user"
    },
    {
      "slug": "claudebot",
      "name": "ClaudeBot",
      "url": "https://rattlesnakesbymail.com/compare/chatgpt-user-vs-claudebot"
    },
    {
      "slug": "applebot",
      "name": "Applebot",
      "url": "https://rattlesnakesbymail.com/compare/applebot-vs-chatgpt-user"
    },
    {
      "slug": "applebot-extended",
      "name": "Applebot-Extended",
      "url": "https://rattlesnakesbymail.com/compare/applebot-extended-vs-chatgpt-user"
    },
    {
      "slug": "google-extended",
      "name": "Google-Extended",
      "url": "https://rattlesnakesbymail.com/compare/chatgpt-user-vs-google-extended"
    },
    {
      "slug": "googleother",
      "name": "GoogleOther",
      "url": "https://rattlesnakesbymail.com/compare/chatgpt-user-vs-googleother"
    },
    {
      "slug": "googlebot",
      "name": "Googlebot",
      "url": "https://rattlesnakesbymail.com/compare/chatgpt-user-vs-googlebot"
    },
    {
      "slug": "bingbot",
      "name": "Bingbot",
      "url": "https://rattlesnakesbymail.com/compare/bingbot-vs-chatgpt-user"
    },
    {
      "slug": "gptbot",
      "name": "GPTBot",
      "url": "https://rattlesnakesbymail.com/compare/chatgpt-user-vs-gptbot"
    },
    {
      "slug": "oai-adsbot",
      "name": "OAI-AdsBot",
      "url": "https://rattlesnakesbymail.com/compare/chatgpt-user-vs-oai-adsbot"
    },
    {
      "slug": "oai-searchbot",
      "name": "OAI-SearchBot",
      "url": "https://rattlesnakesbymail.com/compare/chatgpt-user-vs-oai-searchbot"
    },
    {
      "slug": "perplexity-user",
      "name": "Perplexity-User",
      "url": "https://rattlesnakesbymail.com/compare/chatgpt-user-vs-perplexity-user"
    },
    {
      "slug": "perplexitybot",
      "name": "PerplexityBot",
      "url": "https://rattlesnakesbymail.com/compare/chatgpt-user-vs-perplexitybot"
    }
  ]
}