VerisoulAgent Atlas
All agents

Meta's AI bots

From Meta

Type: AI crawlersSelf-declaredDetection guide
Verisoul ResearchUpdated 4 min read

Meta's crawlers declare themselves and come from Meta's own network, while Meta publishes no IP file to check them against.

How to detect Meta's AI bots

You detect Meta's bots by matching the token each one declares (meta-externalagent, meta-externalfetcher, meta-webindexer, facebookexternalhit or meta-externalads) and confirming the source IP is announced by Meta's own network, AS32934. All of them identify themselves, and Meta-ExternalAgent was the second-largest AI crawler on Cloudflare in July 2026, but Meta publishes no JSON IP list and no signatures, so verification means looking up Meta's network yourself. Verisoul verifies each bot against Meta's network and returns it as agent id meta_externalagent, meta_externalfetcher, meta_webindexer, facebookexternalhit or meta_externalads.

Detection method
Self-declaredThe agent names itself in its user agent, and Verisoul confirms it with network, device or behavioral data. A user agent alone is never enough.
Signals that identify it
  • NetworkSource IP confirmed as the operator's own network

Meta documents its bots on one web crawlers page. Meta-ExternalAgent crawls to train foundation AI models and index content for Meta products, Meta-WebIndexer indexes pages for Meta AI search citations, Meta-ExternalFetcher fetches single links when a person asks Meta AI, and facebookexternalhit builds link previews, which it has done for years. Meta-ExternalAds checks ad landing pages.

Meta-ExternalAgent was quietly documented in July 2024, and Fortune reported it on Aug 20, 2024. It grew quickly from there, from about 0.9% to about 7.5% of crawler traffic between July 2024 and July 2025, and in Cloudflare Radar data for July 2026 it made up about 12.7% of AI-bot traffic, second only to Googlebot.

Meta's agent traffic is a different story. Across sites that use Verisoul, from Oct 29 to Nov 1, 2026 (Nov 1 partial), Meta's personal agent Muse made up 68% of the personal-agent sessions we named and produced roughly 20 times as many sessions as Meta-ExternalAds, even though Muse uses none of these tokens.

How Meta's bots show up on your site

All of them are HTTP crawlers and fetchers that run from Meta's own network, AS32934, each with a short declared user agent such as meta-externalagent/1.1 or facebookexternalhit/1.1. Meta does not publish a JSON IP list and instead points site owners to a RADb whois lookup for AS32934, warning that the IPs change often.

CheckWhat Meta's bots do
User agentDeclared tokens such as meta-externalagent and facebookexternalhit
Web Bot Auth signatureNone documented
IP rangesNo JSON file, look up AS32934 on RADb
robots.txtExternalAgent and WebIndexer follow it, the others may not

Why Meta's bots are easy to detect

Every bot declares a Meta token and all of the traffic comes from Meta's own network, so spoofing is easy to spot, which matters because scrapers often fake facebookexternalhit to get past sites that allowlist link previews. The friction is that there is no signature or IP file, so verification means a whois lookup you have to keep fresh.

Robots.txt only goes so far. Meta-ExternalAgent and Meta-WebIndexer respect it, with changes taking up to 24 hours, while Meta-ExternalFetcher may bypass it for user requests and facebookexternalhit may bypass it for security and integrity checks. Meta's in-app browsers carry real people and are not these bots at all, and Muse reports as desktop Chrome on Linux and exits through large CDN networks rather than consumer ISPs or AS32934, so these checks don't reach either.

How Verisoul detects Meta's bots

The bots are self-declared, so Verisoul reads the token and confirms the source IP belongs to Meta's own network before naming it. A Meta token from anywhere else is a spoofer. Muse is a separate case that we name by inference from its hosting network, device and behavior, and it has its own guide.

API response
"agent": {
  "id": "meta_externalagent",
  "name": "Meta-ExternalAgent",
  "provider": "Meta",
  "type": "ai_crawler",
  "detection_method": "self_declared",
  "detection_signals": [
    "network",
    "behavioral"
  ]
}
  • id is the bot, here meta_externalagent, with meta_externalfetcher, meta_webindexer, facebookexternalhit and meta_externalads for the others
  • type is ai_crawler, which separates read-only crawlers from agents that act on a page
  • detection_method is self_declared, because the bot named itself
  • detection_signals is network, meaning the source IP was confirmed as Meta's own

Each bot has its own Agent Atlas entry, and the AI agent detection docs list every Meta id.

  1. 01Someone shares your URL on Instagram
  2. 02facebookexternalhit fetches it from Meta's network
  3. 03Request carries the facebookexternalhit token
  4. 04Your server matches token and AS32934
How Meta's AI bots reaches your site

How to detect Meta's bots step by step

  1. Turn on Verisoul and read the agent object in the API response
  2. Keep facebookexternalhit allowed so link previews work, and decide on meta_externalagent by training policy
  3. Block training with User-agent: meta-externalagent in robots.txt, and use a rule on meta_externalfetcher if you need it stopped
  4. Treat any Meta token from outside Meta's network as spoofed, and handle Muse with its own rule

Should you block Meta's bots?

These bots read pages and build previews, so allowing them is a content decision rather than a fraud one. Most teams keep facebookexternalhit allowed, decide on Meta-ExternalAgent by training policy, and block any Meta token that doesn't come from Meta's network.

How Meta's AI bots shows up in the Atlas

Verisoul returns these Atlas entries for Meta's AI bots sessions it can name.

Questions about Meta's AI bots

What is meta-externalagent and should I block it?

It is Meta's crawler for training AI models and indexing content for Meta products, and it was about 12.7% of AI-bot traffic on Cloudflare in July 2026. It follows robots.txt, so block it there if you don't want your pages used for training.

Will blocking facebookexternalhit break link previews?

Yes. facebookexternalhit builds the preview when someone shares your URL on Facebook, Instagram or Messenger, so keep it allowed and verify it comes from Meta's network instead.

Does Meta respect robots.txt for AI training?

Meta says Meta-ExternalAgent and Meta-WebIndexer respect robots.txt, with changes taking up to 24 hours. Meta-ExternalFetcher and facebookexternalhit may bypass it.

How do I get Meta crawler IP addresses?

Meta doesn't publish a JSON list. It tells site owners to query RADb for routes announced by AS32934 and warns the IPs change often.

Is Meta Muse one of these crawlers?

No. Muse is Meta's personal AI agent and does not use these tokens. Verisoul names it separately as meta_muse.

Sources

  1. Meta web crawlers, Meta for Developers
  2. Meta's new web crawler is quietly scraping the web for AI training data, Fortune
  3. From Googlebot to GPTBot: who's crawling your site in 2025, Cloudflare
  4. Cloudflare Radar AI Insights, Cloudflare
  5. Explaining Meta-WebIndexer, PPC Land
  6. Web Bot Auth architecture, IETF draft