{
  "entity_a": {
    "slug": "applebot-extended",
    "name": "Applebot-Extended"
  },
  "entity_b": {
    "slug": "perplexitybot",
    "name": "PerplexityBot"
  },
  "fields_documented": 11,
  "claims": 17,
  "last_verified": "2026-09-13",
  "fields": [
    {
      "field": "cites_sources",
      "value_a": null,
      "value_b": "yes",
      "claim_id_a": null,
      "claim_id_b": 118,
      "same": false
    },
    {
      "field": "honours_crawl_delay",
      "value_a": "n/a",
      "value_b": "not_documented",
      "claim_id_a": 2,
      "claim_id_b": 113,
      "same": false
    },
    {
      "field": "publishes_ip_list",
      "value_a": "no",
      "value_b": "yes",
      "claim_id_a": 3,
      "claim_id_b": 114,
      "same": false
    },
    {
      "field": "purpose_documented",
      "value_a": "policy_only",
      "value_b": "search",
      "claim_id_a": 5,
      "claim_id_b": 116,
      "same": false
    },
    {
      "field": "reads_llms_txt",
      "value_a": null,
      "value_b": "not_documented",
      "claim_id_a": null,
      "claim_id_b": 119,
      "same": false
    },
    {
      "field": "respects_robots_txt",
      "value_a": "n/a",
      "value_b": "yes",
      "claim_id_a": 1,
      "claim_id_b": 112,
      "same": false
    },
    {
      "field": "robots_token_differs_from_ua",
      "value_a": "yes",
      "value_b": null,
      "claim_id_a": 8,
      "claim_id_b": null,
      "same": false
    },
    {
      "field": "separate_search_and_training_tokens",
      "value_a": "yes",
      "value_b": "not_documented",
      "claim_id_a": 6,
      "claim_id_b": 117,
      "same": false
    },
    {
      "field": "user_agent_string_full",
      "value_a": null,
      "value_b": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)",
      "claim_id_a": null,
      "claim_id_b": 120,
      "same": false
    },
    {
      "field": "verifiable_by_rdns",
      "value_a": "n/a",
      "value_b": "not_documented",
      "claim_id_a": 4,
      "claim_id_b": 115,
      "same": false
    },
    {
      "field": "what_it_controls",
      "value_a": "AI training use of content, not search indexing",
      "value_b": null,
      "claim_id_a": 7,
      "claim_id_b": null,
      "same": false
    }
  ],
  "differences": [
    {
      "field": "cites_sources",
      "statement_a": null,
      "statement_b": "Perplexity links to the websites that PerplexityBot surfaces in Perplexity search results.",
      "claim_id_a": null,
      "claim_id_b": 118
    },
    {
      "field": "honours_crawl_delay",
      "statement_a": "Apple does not publish a Crawl-delay behaviour for Applebot-Extended.",
      "statement_b": "Perplexity does not publish whether PerplexityBot honours the robots.txt Crawl-delay directive.",
      "claim_id_a": 2,
      "claim_id_b": 113
    },
    {
      "field": "publishes_ip_list",
      "statement_a": "Apple publishes no IP list specific to Applebot-Extended and documents one shared crawl identity for Applebot.",
      "statement_b": "Perplexity publishes the IP address ranges used by PerplexityBot as a JSON file at https://www.perplexity.ai/perplexitybot.json.",
      "claim_id_a": 3,
      "claim_id_b": 114
    },
    {
      "field": "purpose_documented",
      "statement_a": "Applebot-Extended controls whether website content is used to train Apple general purpose foundation models.",
      "statement_b": "PerplexityBot surfaces and links websites in Perplexity search results.",
      "claim_id_a": 5,
      "claim_id_b": 116
    },
    {
      "field": "reads_llms_txt",
      "statement_a": null,
      "statement_b": "Perplexity does not publish whether PerplexityBot reads llms.txt files.",
      "claim_id_a": null,
      "claim_id_b": 119
    },
    {
      "field": "respects_robots_txt",
      "statement_a": "Applebot-Extended is a robots.txt token that publishers disallow to opt out of generative model training.",
      "statement_b": "PerplexityBot honours robots.txt rules that webmasters set for the PerplexityBot token.",
      "claim_id_a": 1,
      "claim_id_b": 112
    },
    {
      "field": "robots_token_differs_from_ua",
      "statement_a": "Applebot-Extended is a robots.txt control token and does not correspond to a separate crawler user agent string.",
      "statement_b": null,
      "claim_id_a": 8,
      "claim_id_b": null
    },
    {
      "field": "separate_search_and_training_tokens",
      "statement_a": "Webpages that disallow Applebot-Extended remain eligible for inclusion in Apple search results.",
      "statement_b": "Perplexity does not document a separate training crawler token alongside PerplexityBot.",
      "claim_id_a": 6,
      "claim_id_b": 117
    },
    {
      "field": "user_agent_string_full",
      "statement_a": null,
      "statement_b": "PerplexityBot sends the user agent string Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot).",
      "claim_id_a": null,
      "claim_id_b": 120
    },
    {
      "field": "verifiable_by_rdns",
      "statement_a": "Apple does not publish a reverse-DNS verification method specific to Applebot-Extended.",
      "statement_b": "Perplexity does not publish a reverse-DNS verification method for PerplexityBot.",
      "claim_id_a": 4,
      "claim_id_b": 115
    },
    {
      "field": "what_it_controls",
      "statement_a": "Applebot-Extended controls the AI training use of crawled content and does not control search indexing.",
      "statement_b": null,
      "claim_id_a": 7,
      "claim_id_b": null
    }
  ],
  "sources": [
    "https://docs.perplexity.ai/docs/resources/perplexity-crawlers",
    "https://support.apple.com/en-us/119829",
    "https://www.perplexity.ai/perplexitybot.json"
  ]
}