Skip to content

Training · Meta

Meta-ExternalAgent

Meta's crawler for training AI models and improving its products. Distinct from facebookexternalhit, which only renders link previews. The older FacebookBot token served a similar role.

Operator
Meta
Feeds
Meta AI
robots.txt token
Meta-ExternalAgentAlso: FacebookBot
Honours robots.txt
Honours robots.txt

What it looks like in server logs

A representative user-agent string. Version numbers change; the Meta-ExternalAgent token does not. Paste your own log line into the user-agent checker to confirm a match.

user-agent
meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)

How to block Meta-ExternalAgent

Add this to the robots.txt at the root of your domain. Robots.txt is advisory: it works only on crawlers that choose to read it. This one is honours robots.txt according to its operator.

robots.txt
User-agent: Meta-ExternalAgent
User-agent: FacebookBot
Disallow: /

To block every training crawler at once, or to block training while keeping AI search citations, use the robots.txt generator.

How to allow Meta-ExternalAgent while blocking others

A more specific User-agent group wins over a wildcard. Place this above any User-agent: * block that disallows paths, and Meta-ExternalAgent keeps full access.

robots.txt
User-agent: Meta-ExternalAgent
Allow: /

How to verify a genuine hit

The user-agent string is self-asserted: anyone can send it from a laptop, and scrapers routinely impersonate well-known crawlers to slip past filters aimed at unknown ones.

Meta publishes its crawler IP ranges via its AS32934 route announcements.