{
  "schema_version": "1.0.0",
  "artifact_id": "nodeandlink-ai-bot-directory",
  "title": "AI bot directory",
  "maintainer": "Darwin Santos, Node & Link",
  "checked_date": "2026-11-05",
  "checked_note": "Each record was checked against the operator's own documentation on 5 November 2026. IP-range files were requested on that date and returned HTTP 200 unless a record says otherwise. Operators change these pages and files; check the linked source before you rely on a value.",
  "groups": [
    {
      "id": "search",
      "label": "Search and answer indexing",
      "description": "Crawlers that decide whether your pages can be found, cited or linked in a search or answer product."
    },
    {
      "id": "training",
      "label": "Model training and open datasets",
      "description": "Crawlers whose collection can be used to train models, or that build open web datasets."
    },
    {
      "id": "user",
      "label": "Live user requests and agents",
      "description": "Fetchers and agents that visit a page because a person asked for something. Several say robots.txt may not apply to them."
    },
    {
      "id": "tokens",
      "label": "Control tokens without their own crawler",
      "description": "robots.txt product tokens. They change how already-crawled content may be used. No request ever arrives with these names."
    },
    {
      "id": "other",
      "label": "Other purpose-specific fetchers",
      "description": "Narrow fetchers that matter for logs and allowlists, such as ad landing-page checks and link previews."
    }
  ],
  "verification_methods": {
    "reverse_dns": "Reverse DNS on the requesting IP, check the hostname's domain, then a forward lookup of that hostname must return the same IP.",
    "ip_list": "Match the requesting IP against the operator's published IP-range file.",
    "web_bot_auth": "Verify the HTTP Message Signature (RFC 9421) using the public keys at the Signature-Agent's /.well-known/http-message-signatures-directory.",
    "asn": "Match the requesting IP against the routes announced by the operator's autonomous system.",
    "user_agent_only": "No verification method beyond the user-agent string is documented. User-agent strings can be spoofed."
  },
  "bots": [
    {
      "token": "Googlebot",
      "operator": "Google",
      "group": "search",
      "purpose": "Crawls for Google Search, including Discover, Images, Video mode and News. Pages need to be indexed and eligible for a snippet to appear in AI Overviews or AI Mode; Google says there are no additional technical requirements.",
      "robots_txt": "Google's common crawlers always obey robots.txt when crawling automatically. Google names robots.txt rules for Googlebot as the access control for its AI features in Search.",
      "docs_url": "https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers",
      "extra_sources": [
        "https://developers.google.com/search/docs/appearance/ai-features"
      ],
      "ip_ranges_url": "https://developers.google.com/static/crawling/ipranges/common-crawlers.json",
      "reverse_dns": "crawl-*.googlebot.com or geo-crawl-*.geo.googlebot.com",
      "verification": [
        "reverse_dns",
        "ip_list"
      ],
      "verification_url": "https://developers.google.com/search/docs/crawling-indexing/verifying-googlebot",
      "web_bot_auth": null,
      "feeds_into": [
        "Google Search",
        "AI Overviews",
        "AI Mode",
        "Discover",
        "Google Images",
        "Google News"
      ],
      "feeds_into_sources": [
        "https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers",
        "https://developers.google.com/search/docs/appearance/ai-features"
      ],
      "reach": {
        "figure_id": "google-aio"
      },
      "rank": 2
    },
    {
      "token": "bingbot",
      "operator": "Microsoft Bing",
      "group": "search",
      "purpose": "Bing's web crawler.",
      "robots_txt": "UNVERIFIED here: Bing's current robots.txt help page renders only with JavaScript and could not be read for this check.",
      "docs_url": "https://blogs.bing.com/webmaster/2012/08/31/how-to-verify-that-bingbot-is-bingbot",
      "extra_sources": [],
      "ip_ranges_url": "https://www.bing.com/toolbox/bingbot.json",
      "ip_ranges_note": "The file returned HTTP 200 on 5 November 2026. Its creationTime field reads 2024-01-03. Bing's 2012 verification post predates the file and advises DNS checks instead of fixed IP lists.",
      "reverse_dns": "*.search.msn.com",
      "verification": [
        "reverse_dns",
        "ip_list"
      ],
      "verification_url": "https://blogs.bing.com/webmaster/2012/08/31/how-to-verify-that-bingbot-is-bingbot",
      "web_bot_auth": null,
      "feeds_into": [
        "Bing"
      ],
      "feeds_into_sources": [
        "https://blogs.bing.com/webmaster/2012/08/31/how-to-verify-that-bingbot-is-bingbot"
      ],
      "reach": {
        "figure_id": "bing"
      },
      "rank": 4
    },
    {
      "token": "OAI-SearchBot",
      "operator": "OpenAI",
      "group": "search",
      "purpose": "Surfaces websites in ChatGPT search results.",
      "robots_txt": "Respects robots.txt. Sites that disallow it are not shown in ChatGPT search answers, though they can still appear as navigational links. OpenAI says changes can take about 24 hours.",
      "docs_url": "https://developers.openai.com/api/docs/bots",
      "extra_sources": [],
      "ip_ranges_url": "https://openai.com/searchbot.json",
      "reverse_dns": null,
      "verification": [
        "ip_list"
      ],
      "web_bot_auth": null,
      "feeds_into": [
        "ChatGPT search"
      ],
      "feeds_into_sources": [
        "https://developers.openai.com/api/docs/bots"
      ],
      "reach": {
        "figure_id": "chatgpt"
      },
      "rank": 9
    },
    {
      "token": "Claude-SearchBot",
      "operator": "Anthropic",
      "group": "search",
      "purpose": "Analyzes online content to improve the relevance and accuracy of Claude's search responses.",
      "robots_txt": "Anthropic says its bots honor industry-standard robots.txt directives. Blocking it prevents indexing for search.",
      "docs_url": "https://support.claude.com/en/articles/8896518",
      "extra_sources": [],
      "ip_ranges_url": "https://claude.com/crawling/bots.json",
      "ip_ranges_note": "One published list covers Anthropic's crawlers.",
      "reverse_dns": null,
      "verification": [
        "ip_list"
      ],
      "web_bot_auth": null,
      "feeds_into": [
        "Claude search answers"
      ],
      "feeds_into_sources": [
        "https://support.claude.com/en/articles/8896518"
      ],
      "reach": {
        "figure_id": "claude"
      },
      "rank": 15
    },
    {
      "token": "PerplexityBot",
      "operator": "Perplexity",
      "group": "search",
      "purpose": "Surfaces and links websites in Perplexity search results. Perplexity says it is not used to crawl content for AI foundation models.",
      "robots_txt": "Perplexity recommends allowing it in robots.txt to appear in results and says changes can take up to 24 hours to apply.",
      "docs_url": "https://docs.perplexity.ai/guides/bots",
      "extra_sources": [],
      "ip_ranges_url": "https://www.perplexity.com/perplexitybot.json",
      "reverse_dns": null,
      "verification": [
        "ip_list"
      ],
      "web_bot_auth": null,
      "feeds_into": [
        "Perplexity search"
      ],
      "feeds_into_sources": [
        "https://docs.perplexity.ai/guides/bots"
      ],
      "reach": {
        "figure_id": null,
        "na_reason": "No official figure, and no reputable third-party estimate was found."
      },
      "rank": null
    },
    {
      "token": "Applebot",
      "operator": "Apple",
      "group": "search",
      "purpose": "Powers search technology in features such as Spotlight, Siri and Safari.",
      "robots_txt": "Respects robots.txt rules aimed at Applebot. If rules don't mention Applebot but do mention Googlebot, it follows the Googlebot rules. It does not follow crawl-delay.",
      "docs_url": "https://support.apple.com/en-us/119829",
      "extra_sources": [],
      "ip_ranges_url": "https://search.developer.apple.com/applebot.json",
      "reverse_dns": "*.applebot.apple.com",
      "verification": [
        "reverse_dns",
        "ip_list"
      ],
      "web_bot_auth": null,
      "feeds_into": [
        "Siri",
        "Spotlight",
        "Safari"
      ],
      "feeds_into_sources": [
        "https://support.apple.com/en-us/119829"
      ],
      "reach": {
        "figure_id": "apple-devices"
      },
      "rank": 2
    },
    {
      "token": "Amzn-SearchBot",
      "operator": "Amazon",
      "group": "search",
      "purpose": "Improves Amazon search experiences such as Alexa. Amazon says it does not crawl for generative AI training.",
      "robots_txt": "Respects the Robots Exclusion Protocol. If it isn't named, it follows the rules for other search bots. No crawl-delay support.",
      "docs_url": "https://developer.amazon.com/amazonbot",
      "extra_sources": [],
      "ip_ranges_url": "https://developer.amazon.com/amazonbot/searchbot-ip-addresses/",
      "ip_ranges_note": "Published as a web page, not a JSON file.",
      "reverse_dns": null,
      "verification": [
        "ip_list"
      ],
      "web_bot_auth": null,
      "feeds_into": [
        "Alexa"
      ],
      "feeds_into_sources": [
        "https://developer.amazon.com/amazonbot"
      ],
      "reach": {
        "figure_id": "alexa-shopping"
      },
      "rank": 13
    },
    {
      "token": "Meta-WebIndexer",
      "operator": "Meta",
      "group": "search",
      "purpose": "Analyzes online content to improve Meta AI search results.",
      "robots_txt": "Meta says allowing it in robots.txt helps Meta cite and link your content in Meta AI responses.",
      "docs_url": "https://developers.facebook.com/docs/sharing/webmasters/web-crawlers/",
      "extra_sources": [],
      "ip_ranges_url": null,
      "ip_ranges_note": "Meta publishes no crawler-specific IP file. It points to the routes announced by AS32934.",
      "reverse_dns": null,
      "verification": [
        "asn"
      ],
      "web_bot_auth": null,
      "feeds_into": [
        "Meta AI"
      ],
      "feeds_into_sources": [
        "https://developers.facebook.com/docs/sharing/webmasters/web-crawlers/"
      ],
      "reach": {
        "figure_id": "meta-ai"
      },
      "rank": 4
    },
    {
      "token": "GPTBot",
      "operator": "OpenAI",
      "group": "training",
      "purpose": "Crawls content that may be used to train OpenAI's generative AI foundation models.",
      "robots_txt": "Respects robots.txt. Disallowing it indicates your content should not be used for training.",
      "docs_url": "https://developers.openai.com/api/docs/bots",
      "extra_sources": [],
      "ip_ranges_url": "https://openai.com/gptbot.json",
      "reverse_dns": null,
      "verification": [
        "ip_list"
      ],
      "web_bot_auth": null,
      "feeds_into": [
        "OpenAI model training"
      ],
      "feeds_into_sources": [
        "https://developers.openai.com/api/docs/bots"
      ],
      "reach": {
        "figure_id": "chatgpt"
      },
      "rank": 9
    },
    {
      "token": "ClaudeBot",
      "operator": "Anthropic",
      "group": "training",
      "purpose": "Collects web content that could contribute to Anthropic's model training.",
      "robots_txt": "Honors robots.txt, per subdomain. Supports the non-standard Crawl-delay extension. Rules that name ClaudeBot take priority over a general AI-training preference signal for that path.",
      "docs_url": "https://support.claude.com/en/articles/8896518",
      "extra_sources": [],
      "ip_ranges_url": "https://claude.com/crawling/bots.json",
      "reverse_dns": null,
      "verification": [
        "ip_list"
      ],
      "web_bot_auth": null,
      "feeds_into": [
        "Anthropic model training"
      ],
      "feeds_into_sources": [
        "https://support.claude.com/en/articles/8896518"
      ],
      "reach": {
        "figure_id": "claude"
      },
      "rank": 15
    },
    {
      "token": "Meta-ExternalAgent",
      "operator": "Meta",
      "group": "training",
      "purpose": "Crawls for training foundation AI models or for improving products by indexing content directly.",
      "robots_txt": "Meta documents disallowing it by name in robots.txt and says changes can take up to 24 hours.",
      "docs_url": "https://developers.facebook.com/docs/sharing/webmasters/web-crawlers/",
      "extra_sources": [],
      "ip_ranges_url": null,
      "ip_ranges_note": "Routes announced by AS32934.",
      "reverse_dns": null,
      "verification": [
        "asn"
      ],
      "web_bot_auth": null,
      "feeds_into": [
        "Meta model training",
        "Meta product indexing"
      ],
      "feeds_into_sources": [
        "https://developers.facebook.com/docs/sharing/webmasters/web-crawlers/"
      ],
      "reach": {
        "figure_id": "meta-ai"
      },
      "rank": 4
    },
    {
      "token": "Amazonbot",
      "operator": "Amazon",
      "group": "training",
      "purpose": "Used to improve Amazon products and services. Amazon says it may also be used to train Amazon AI models.",
      "robots_txt": "Respects the Robots Exclusion Protocol and robots meta tags. No crawl-delay support. Changes can take about 24 hours.",
      "docs_url": "https://developer.amazon.com/amazonbot",
      "extra_sources": [],
      "ip_ranges_url": "https://developer.amazon.com/amazonbot/ip-addresses/",
      "ip_ranges_note": "Published as a web page, not a JSON file.",
      "reverse_dns": null,
      "verification": [
        "ip_list"
      ],
      "web_bot_auth": null,
      "feeds_into": [
        "Amazon products and services",
        "Amazon AI models"
      ],
      "feeds_into_sources": [
        "https://developer.amazon.com/amazonbot"
      ],
      "reach": {
        "figure_id": null,
        "na_reason": "Amazon does not name the products it improves."
      },
      "rank": null
    },
    {
      "token": "CCBot",
      "operator": "Common Crawl",
      "group": "training",
      "purpose": "Builds Common Crawl's open web dataset. Common Crawl's page describes the data as open for research; it does not list who uses it.",
      "robots_txt": "Common Crawl documents blocking it with User-agent: CCBot and Disallow: /.",
      "docs_url": "https://commoncrawl.org/ccbot",
      "extra_sources": [],
      "ip_ranges_url": "https://index.commoncrawl.org/ccbot.json",
      "ip_ranges_note": "Linked from Common Crawl's CCBot page. The file did not load during our check on 5 November 2026.",
      "reverse_dns": "*.crawl.commoncrawl.org (IPv4 only, per Common Crawl)",
      "verification": [
        "reverse_dns",
        "ip_list"
      ],
      "web_bot_auth": null,
      "feeds_into": [
        "Common Crawl open dataset"
      ],
      "feeds_into_sources": [
        "https://commoncrawl.org/ccbot"
      ],
      "reach": {
        "figure_id": null,
        "na_reason": "An open dataset used by many organizations; no meaningful audience figure."
      },
      "rank": null
    },
    {
      "token": "ChatGPT-User",
      "operator": "OpenAI",
      "group": "user",
      "purpose": "Visits pages for user-initiated actions in ChatGPT and custom GPTs, including GPT Actions. OpenAI says it is not used for automatic web crawling.",
      "robots_txt": "Because the visits are user-initiated, OpenAI says robots.txt rules may not apply. Use OAI-SearchBot for search eligibility.",
      "docs_url": "https://developers.openai.com/api/docs/bots",
      "extra_sources": [],
      "ip_ranges_url": "https://openai.com/chatgpt-user.json",
      "reverse_dns": null,
      "verification": [
        "ip_list"
      ],
      "web_bot_auth": null,
      "feeds_into": [
        "ChatGPT",
        "Custom GPTs and GPT Actions"
      ],
      "feeds_into_sources": [
        "https://developers.openai.com/api/docs/bots"
      ],
      "reach": {
        "figure_id": "chatgpt"
      },
      "rank": 9
    },
    {
      "token": "ChatGPT agent",
      "operator": "OpenAI",
      "group": "user",
      "purpose": "ChatGPT's agent signs its outbound HTTP requests so sites can recognise it.",
      "robots_txt": "Not stated on the allowlisting page.",
      "docs_url": "https://help.openai.com/en/articles/11845367-chatgpt-agent-allowlisting",
      "extra_sources": [],
      "ip_ranges_url": null,
      "ip_ranges_note": "OpenAI's allowlisting page relies on signatures. No user-agent string or IP list is given there.",
      "reverse_dns": null,
      "verification": [
        "web_bot_auth"
      ],
      "web_bot_auth": {
        "signature_agent": "\"https://chatgpt.com\"",
        "key_directory": "https://chatgpt.com/.well-known/http-message-signatures-directory",
        "coverage": "Every request, per OpenAI.",
        "note": "The key directory returned an Ed25519 key set on 5 November 2026."
      },
      "feeds_into": [
        "ChatGPT agent"
      ],
      "feeds_into_sources": [
        "https://help.openai.com/en/articles/11845367-chatgpt-agent-allowlisting"
      ],
      "reach": {
        "figure_id": "chatgpt"
      },
      "rank": 9
    },
    {
      "token": "Claude-User",
      "operator": "Anthropic",
      "group": "user",
      "purpose": "Fetches pages when people ask Claude questions.",
      "robots_txt": "Anthropic says its bots honor robots.txt. Blocking it stops retrieval of your content in response to user queries.",
      "docs_url": "https://support.claude.com/en/articles/8896518",
      "extra_sources": [],
      "ip_ranges_url": "https://claude.com/crawling/bots.json",
      "reverse_dns": null,
      "verification": [
        "ip_list"
      ],
      "web_bot_auth": null,
      "feeds_into": [
        "Claude"
      ],
      "feeds_into_sources": [
        "https://support.claude.com/en/articles/8896518"
      ],
      "reach": {
        "figure_id": "claude"
      },
      "rank": 15
    },
    {
      "token": "Perplexity-User",
      "operator": "Perplexity",
      "group": "user",
      "purpose": "Fetches a page when a user asks Perplexity a question so it can answer and link to the page. Not used for crawling or model training, per Perplexity.",
      "robots_txt": "Perplexity says that because a user requested the fetch, it generally ignores robots.txt rules.",
      "docs_url": "https://docs.perplexity.ai/guides/bots",
      "extra_sources": [],
      "ip_ranges_url": "https://www.perplexity.com/perplexity-user.json",
      "reverse_dns": null,
      "verification": [
        "ip_list"
      ],
      "web_bot_auth": null,
      "feeds_into": [
        "Perplexity answers"
      ],
      "feeds_into_sources": [
        "https://docs.perplexity.ai/guides/bots"
      ],
      "reach": {
        "figure_id": null,
        "na_reason": "No official figure, and no reputable third-party estimate was found."
      },
      "rank": null
    },
    {
      "token": "Google-Agent",
      "operator": "Google",
      "group": "user",
      "purpose": "Used by agents hosted on Google infrastructure to browse the web and take actions when a user asks.",
      "robots_txt": "Google says its user-triggered fetchers generally ignore robots.txt because a user requested the fetch.",
      "docs_url": "https://developers.google.com/crawling/docs/crawlers-fetchers/google-user-triggered-fetchers",
      "extra_sources": [
        "https://developers.google.com/crawling/docs/changelog"
      ],
      "ip_ranges_url": "https://developers.google.com/static/crawling/ipranges/user-triggered-agents.json",
      "reverse_dns": null,
      "verification": [
        "ip_list",
        "web_bot_auth"
      ],
      "verification_url": "https://developers.google.com/search/docs/crawling-indexing/verifying-googlebot",
      "web_bot_auth": {
        "signature_agent": "g=\"https://agent.bot.goog\"",
        "key_directory": "https://agent.bot.goog/.well-known/http-message-signatures-directory",
        "coverage": "A subset of requests. Google calls its implementation experimental and says to keep IP, reverse DNS and user-agent checks as a fallback.",
        "docs_url": "https://developers.google.com/crawling/docs/crawlers-fetchers/web-bot-auth"
      },
      "feeds_into": [
        "Google-hosted agents acting for users"
      ],
      "feeds_into_sources": [
        "https://developers.google.com/crawling/docs/crawlers-fetchers/google-user-triggered-fetchers"
      ],
      "reach": {
        "figure_id": null,
        "na_reason": "Google does not say which products use it."
      },
      "rank": null
    },
    {
      "token": "Google user-triggered fetchers",
      "operator": "Google",
      "group": "user",
      "purpose": "Product fetchers that request a URL because a person asked, such as Google-GeminiNotebook (sources added to Gemini Notebook), Google-Read-Aloud and GoogleMessages link previews.",
      "robots_txt": "Google says these fetchers generally ignore robots.txt because a user requested the fetch.",
      "docs_url": "https://developers.google.com/crawling/docs/crawlers-fetchers/google-user-triggered-fetchers",
      "extra_sources": [
        "https://developers.google.com/static/crawling/ipranges/user-triggered-fetchers-google.json"
      ],
      "ip_ranges_url": "https://developers.google.com/static/crawling/ipranges/user-triggered-fetchers.json",
      "ip_ranges_note": "Two files: user-triggered-fetchers.json (user-owned) and user-triggered-fetchers-google.json (Google-owned).",
      "reverse_dns": "*.gae.googleusercontent.com or google-proxy-*.google.com",
      "verification": [
        "reverse_dns",
        "ip_list"
      ],
      "verification_url": "https://developers.google.com/search/docs/crawling-indexing/verifying-googlebot",
      "web_bot_auth": null,
      "feeds_into": [
        "Gemini Notebook",
        "Google Read Aloud",
        "Google Messages previews",
        "Feedfetcher",
        "Chrome Web Store"
      ],
      "feeds_into_sources": [
        "https://developers.google.com/crawling/docs/crawlers-fetchers/google-user-triggered-fetchers"
      ],
      "reach": {
        "figure_id": null,
        "na_reason": "Several small products; no combined figure."
      },
      "rank": null
    },
    {
      "token": "Meta-ExternalFetcher",
      "operator": "Meta",
      "group": "user",
      "purpose": "Fetches individual links at a user's request, including for agentic AI features.",
      "robots_txt": "Meta says it may bypass robots.txt because the fetches were requested by the user.",
      "docs_url": "https://developers.facebook.com/docs/sharing/webmasters/web-crawlers/",
      "extra_sources": [],
      "ip_ranges_url": null,
      "ip_ranges_note": "Routes announced by AS32934.",
      "reverse_dns": null,
      "verification": [
        "asn"
      ],
      "web_bot_auth": null,
      "feeds_into": [
        "Meta AI agentic features"
      ],
      "feeds_into_sources": [
        "https://developers.facebook.com/docs/sharing/webmasters/web-crawlers/"
      ],
      "reach": {
        "figure_id": "meta-ai"
      },
      "rank": 4
    },
    {
      "token": "Amzn-User",
      "operator": "Amazon",
      "group": "user",
      "purpose": "Handles user-initiated actions, such as fetching live information to answer Alexa queries. Amazon says it does not crawl for generative AI training.",
      "robots_txt": "Amazon says it may not follow all robots.txt directives because user actions can initiate it.",
      "docs_url": "https://developer.amazon.com/amazonbot",
      "extra_sources": [],
      "ip_ranges_url": "https://developer.amazon.com/amazonbot/live-ip-addresses/",
      "ip_ranges_note": "Published as a web page, not a JSON file.",
      "reverse_dns": null,
      "verification": [
        "ip_list"
      ],
      "web_bot_auth": null,
      "feeds_into": [
        "Alexa"
      ],
      "feeds_into_sources": [
        "https://developer.amazon.com/amazonbot"
      ],
      "reach": {
        "figure_id": "alexa-shopping"
      },
      "rank": 13
    },
    {
      "token": "Google-Extended",
      "operator": "Google",
      "group": "tokens",
      "purpose": "Controls whether content Google crawls may be used to train future Gemini models and for grounding in Gemini Apps and Vertex AI. Google says it does not affect inclusion or ranking in Google Search.",
      "robots_txt": "A standalone robots.txt product token with no separate HTTP user-agent string. Google also says it intends to support the shared AI-training preference signal in early 2027.",
      "docs_url": "https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers",
      "extra_sources": [],
      "ip_ranges_url": null,
      "ip_ranges_note": "Not applicable: no request carries this name.",
      "reverse_dns": null,
      "verification": [],
      "web_bot_auth": null,
      "feeds_into": [
        "Gemini model training",
        "Gemini Apps grounding",
        "Vertex AI grounding"
      ],
      "feeds_into_sources": [
        "https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers"
      ],
      "reach": {
        "figure_id": "gemini-app"
      },
      "rank": 4
    },
    {
      "token": "Applebot-Extended",
      "operator": "Apple",
      "group": "tokens",
      "purpose": "Controls whether content Applebot crawls can be used to train Apple's foundation models. Disallowed pages can still appear in search, and Apple says these rules are not used for ranking.",
      "robots_txt": "Apple says Applebot-Extended does not crawl webpages; it is read from your robots.txt rules.",
      "docs_url": "https://support.apple.com/en-us/119829",
      "extra_sources": [],
      "ip_ranges_url": null,
      "ip_ranges_note": "Not applicable: no request carries this name.",
      "reverse_dns": null,
      "verification": [],
      "web_bot_auth": null,
      "feeds_into": [
        "Apple foundation model training"
      ],
      "feeds_into_sources": [
        "https://support.apple.com/en-us/119829"
      ],
      "reach": {
        "figure_id": null,
        "na_reason": "Apple's foundation models run on a subset of Apple devices; no figure for that subset."
      },
      "rank": null
    },
    {
      "token": "OAI-AdsBot",
      "operator": "OpenAI",
      "group": "other",
      "purpose": "Checks the safety of landing pages submitted as ads in ChatGPT and only visits those pages. OpenAI says its data is not used to train foundation models.",
      "robots_txt": "Not addressed on OpenAI's bots page.",
      "docs_url": "https://developers.openai.com/api/docs/bots",
      "extra_sources": [],
      "ip_ranges_url": "https://openai.com/adsbot.json",
      "reverse_dns": null,
      "verification": [
        "ip_list"
      ],
      "web_bot_auth": null,
      "feeds_into": [
        "ChatGPT ads (landing-page checks)"
      ],
      "feeds_into_sources": [
        "https://developers.openai.com/api/docs/bots"
      ],
      "reach": {
        "figure_id": null,
        "na_reason": "Ad landing-page review only."
      },
      "rank": null
    },
    {
      "token": "facebookexternalhit",
      "operator": "Meta",
      "group": "other",
      "purpose": "Fetches a title, description and thumbnail when content is shared on Facebook, Instagram or Messenger.",
      "robots_txt": "Meta says it might bypass robots.txt for security or integrity checks.",
      "docs_url": "https://developers.facebook.com/docs/sharing/webmasters/web-crawlers/",
      "extra_sources": [],
      "ip_ranges_url": null,
      "ip_ranges_note": "Routes announced by AS32934.",
      "reverse_dns": null,
      "verification": [
        "asn"
      ],
      "web_bot_auth": null,
      "feeds_into": [
        "Link previews on Facebook, Instagram and Messenger"
      ],
      "feeds_into_sources": [
        "https://developers.facebook.com/docs/sharing/webmasters/web-crawlers/"
      ],
      "reach": {
        "figure_id": "meta-dap"
      },
      "rank": 1
    }
  ],
  "references": [
    {
      "title": "RFC 9421: HTTP Message Signatures",
      "url": "https://www.rfc-editor.org/rfc/rfc9421"
    },
    {
      "title": "Cloudflare: Web Bot Auth",
      "url": "https://developers.cloudflare.com/bots/reference/bot-verification/web-bot-auth/"
    },
    {
      "title": "Google: Verifying Googlebot and other Google crawlers",
      "url": "https://developers.google.com/search/docs/crawling-indexing/verifying-googlebot"
    },
    {
      "title": "Google: Web Bot Auth for Google agents",
      "url": "https://developers.google.com/crawling/docs/crawlers-fetchers/web-bot-auth"
    }
  ],
  "reach_figures": {
    "meta-dap": {
      "product": "Meta apps (Facebook, Instagram, Messenger, WhatsApp)",
      "operator": "Meta",
      "value": 3640000000,
      "display": "3.64 billion",
      "metric": "DAU",
      "metric_label": "Daily active people across Meta's apps",
      "as_of": "2026-10-21",
      "kind": "official",
      "source_title": "Meta: 2026 third-quarter results (Japanese newsroom)",
      "source_url": "https://about.fb.com/ja/news/2026/10/2026_third_quarter_result/",
      "note": "Family daily active people for September 2026."
    },
    "google-aio": {
      "product": "Google AI Overviews",
      "operator": "Google",
      "value": 2500000000,
      "display": "2.5 billion",
      "metric": "MAU",
      "metric_label": "Monthly active users",
      "as_of": "2026-05-19",
      "kind": "official",
      "source_title": "Google: Sundar Pichai's I/O 2026 opening keynote",
      "source_url": "https://blog.google/innovation-and-ai/sundar-pichai-io-2026/",
      "note": "Over 2.5 billion. The same keynote gives AI Mode more than 1 billion monthly active users."
    },
    "apple-devices": {
      "product": "Apple devices (Siri, Spotlight, Safari)",
      "operator": "Apple",
      "value": 2500000000,
      "display": "2.5 billion",
      "metric": "devices",
      "metric_label": "Active devices (devices, not people)",
      "as_of": "2026-01-29",
      "kind": "official",
      "source_title": "Apple: first-quarter fiscal 2026 results",
      "source_url": "https://www.apple.com/newsroom/2026/01/apple-reports-first-quarter-results/",
      "note": "More than 2.5 billion active devices in Apple's installed base. One person can own several."
    },
    "bing": {
      "product": "Bing",
      "operator": "Microsoft",
      "value": 1000000000,
      "display": "1 billion",
      "metric": "MAU",
      "metric_label": "Monthly active users",
      "as_of": "2026-04-29",
      "kind": "official",
      "source_title": "Microsoft: FY26 Q3 earnings call",
      "source_url": "https://www.microsoft.com/en-us/investor/events/fy-2026/earnings-fy-2026-q3",
      "note": "\"Bing monthly active users reached 1 billion for the first time.\""
    },
    "gemini-app": {
      "product": "Gemini app",
      "operator": "Google",
      "value": 1000000000,
      "display": "1 billion",
      "metric": "MAU",
      "metric_label": "Monthly users",
      "as_of": "2026-08-11",
      "kind": "official",
      "source_title": "Google: The Gemini app passes 1 billion monthly users",
      "source_url": "https://blog.google/innovation-and-ai/products/gemini-app/one-billion-monthly-users/",
      "note": "More than 1 billion monthly users."
    },
    "meta-ai": {
      "product": "Meta AI",
      "operator": "Meta",
      "value": 1000000000,
      "display": "1 billion",
      "metric": "MAU",
      "metric_label": "Monthly active users",
      "as_of": "2025-05-28",
      "kind": "official",
      "source_title": "CNBC, via NBC San Diego: Mark Zuckerberg says Meta AI has 1 billion monthly active users",
      "source_url": "https://www.nbcsandiego.com/news/business/money-report/mark-zuckerberg-says-meta-ai-has-1-billion-monthly-active-users/3835514/",
      "note": "Company statement at Meta's 2025 shareholder meeting, as reported by CNBC. No newer official figure was found."
    },
    "chatgpt": {
      "product": "ChatGPT",
      "operator": "OpenAI",
      "value": 900000000,
      "display": "900 million",
      "metric": "WAU",
      "metric_label": "Weekly active users",
      "as_of": "2026-03-31",
      "kind": "official",
      "source_title": "OpenAI: OpenAI raises $122 billion to accelerate the next phase of AI",
      "source_url": "https://openai.com/index/accelerating-the-next-phase-ai/",
      "note": "More than 900 million. A July 2026 report by The Information put it near 1 billion; OpenAI has not published that figure."
    },
    "alexa-shopping": {
      "product": "Alexa (Alexa for Shopping)",
      "operator": "Amazon",
      "value": 400000000,
      "display": "400 million",
      "metric": "other",
      "metric_label": "Customers who used Alexa for Shopping in the past 12 months",
      "as_of": "2026-10-29",
      "kind": "official",
      "source_title": "Amazon: third-quarter 2026 results",
      "source_url": "https://ir.aboutamazon.com/news-release/news-release-details/2026/Amazon-com-Announces-Third-Quarter-Results/default.aspx",
      "note": "400 million+ customers in the last 12 months. Amazon's crawler page names Alexa; it does not name Alexa for Shopping specifically."
    },
    "claude": {
      "product": "Claude",
      "operator": "Anthropic",
      "value": 11300000,
      "display": "11.3 million",
      "metric": "DAU",
      "metric_label": "Daily active users of the iOS and Android apps (estimate)",
      "as_of": "2026-03-02",
      "kind": "estimate",
      "source_title": "TechCrunch, citing Similarweb (6 March 2026)",
      "source_url": "https://techcrunch.com/2026/03/06/claudes-consumer-growth-surge-continues-after-pentagon-deal-debacle/",
      "note": "Third-party estimate of mobile-app daily users only; web and API use are not included. Anthropic has not published a user count."
    }
  },
  "reach_method": "Estimated people reached is the newest dated figure for the largest product a bot feeds, using the operator's own number where one exists. Audiences overlap, so the figures are not added together. Metrics differ (daily, weekly or monthly users, devices, or yearly customers), so ranks are a rough guide. Third-party estimates are labeled as estimates. Entries without a meaningful figure show n/a and sort last."
}
