Skip to content
Join the waitlist

AI Search

Meta-ExternalAgent

Meta-ExternalAgent is a web crawler of Meta that collects pages for uses such as training foundation AI models or improving products by indexing content directly. It follows the robots.txt group that names it. Meta runs separate agents for other jobs, among them Meta-WebIndexer for Meta AI search and Meta-ExternalFetcher for fetches a user asks for.

  • Industry term

By QueryRev ResearchPublished Updated6 min read

Why it matters.

Meta runs several crawlers for different jobs, and its page lists them. FacebookExternalHit fetches what is shared on Facebook, Instagram or Messenger, to show a title, description and image. Meta-WebIndexer navigates the web to improve the quality of Meta AI search results. Meta-ExternalAds crawls for improving advertising and other business-related products. Meta-ExternalFetcher fetches individual links at a user’s request. Meta-ExternalAgent crawls the web for uses such as training foundation AI models or improving products by indexing content directly[1].

So the token is not training-only. Meta’s description puts training and product indexing under one name, and a rule for it is a decision about both. A rule for Meta-WebIndexer is a separate decision, about being cited. Meta says allowing that agent helps it cite and link to a site’s content in Meta AI’s responses[1].

The control is robots.txt. Meta says it makes it easy for site managers to state preferences with industry-standard practices like robots.txt rather than non-standard formats like NoAI tags, and that to block a crawler a site adds a disallow for it. Its example writes the token in lower case; a crawler matches its token against the user-agent lines without regard to case, and one with no group of its own follows the catch-all group[2].

Two of Meta’s agents may ignore the file. Meta says Meta-ExternalFetcher may bypass robots.txt because it performs fetches that a user requested, and that FacebookExternalHit might bypass it when performing security or integrity checks, such as checking for malware or malicious content[1]. That fits the protocol: RFC 9309 says its rules are not a form of access authorization[2]. A rule for Meta-ExternalAgent is therefore not a refusal of every request Meta makes.

In QueryRev’s study, Meta-ExternalAgent is blocked by name on 401 of the 6,294 sites whose robots.txt could be read, 6.4%[3]. Meta also says to allow up to 24 hours for changes to robots.txt to take effect, because its crawlers may cache the file for up to that long[1].

How it is measured.

In the file, group by group. Fetch robots.txt from each host the site serves and find the group that names meta-externalagent and the group that names meta-webindexer. They answer different questions and are read apart. A rule on the main domain says nothing for a subdomain with its own file.

In the logs, by user agent. Meta’s page gives the strings its agents send, such as meta-externalagent/1.1 and meta-webindexer/1.1[1]. Count requests for each and the status each one got. Treat a name in a log line as a claim: for FacebookExternalHit Meta calls allowing by IP address the more secure way, and the same caution applies to any agent’s name.

Around a change. Date the edit, wait the 24 hours Meta gives for caches, then compare requests per day for meta-externalagent before and after. They should fall. Requests from the fetcher need not, because it may bypass the file.

Measured by

  • Rule per host
  • Requests by user agent
  • Hours since the last file change

A worked example.

Illustrative: an invented site, to show the method.

A software company does not want its documentation collected for training, and does want to be cited when someone asks Meta AI about its product. It writes one group that disallows meta-externalagent for the whole site, and one that allows meta-webindexer.

A day later the logs show meta-externalagent requests have stopped. Requests from meta-externalfetcher continue for a few pages that users have asked about, as Meta says they may. The company does not read that as a failure of the file: the file never covered the fetcher.

Two groups, two decisions

What to do, step by step.

  1. Decide two questions apart: may Meta collect your pages for model training and product indexing (Meta-ExternalAgent), and may Meta AI search cite and link them (Meta-WebIndexer)?

  2. Write a group for each token. To refuse the first, use User-agent: meta-externalagent with Disallow: / or the paths to keep out. To allow the second, give meta-webindexer its own group with Allow: /.

  3. Put the groups in the robots.txt of every host the site serves, and repeat shared rules in each named group, because a crawler obeys only the group that matches it[2].

  4. Allow 24 hours before you judge a change[1].

  5. For a page that must not be fetched at all, use a login or an edge rule: robots.txt does not reach user-requested fetches or security checks[1].

  6. A week later, read the logs by user agent and confirm that the agent you refused has stopped and the one you allowed has not.

Mistakes to avoid.

  • Calling it a training-only crawler. Meta describes it as crawling for uses such as training foundation AI models or improving products by indexing content directly[1]. A rule for it refuses both.

  • Closing Meta-WebIndexer by accident. It is the agent that helps Meta cite and link your content in Meta AI’s responses[1]. With no group of its own it follows the catch-all group[2], so a catch-all Disallow closes it too.

  • Expecting the file to stop user-requested fetches. Meta says Meta-ExternalFetcher may bypass robots.txt[1]. The file is a request to crawlers that honour it, not access control[2].

  • Trusting a name in the logs. A request can carry any user agent string. Count by name to see the pattern, but do not block or report on a name alone.

  • Judging the change the same day. Meta says crawlers may cache the file for up to 24 hours[1]. Requests that continue for a day are not evidence that the rule is wrong.

How QueryRev treats it.

QueryRev reads a site’s robots.txt host by host and shows the groups for Meta’s agents beside those of the other AI crawlers, so a refusal of training is not mistaken for a refusal of citation. A change to the file is a change to the site: it passes your policy and is written to the Change Ledger with the file before and after. See the guide to GPTBot and robots.txt and the entry on ChatGPT-User, the same kind of agent at OpenAI that fetches on a user’s request.

Questions people ask.

Does Meta-ExternalAgent obey robots.txt?

Meta says site managers state their preferences in robots.txt and block a crawler by adding a disallow for it. Two other Meta agents may bypass the file: Meta-ExternalFetcher, for fetches a user requested, and FacebookExternalHit, for security or integrity checks.

Is Meta-ExternalAgent the crawler behind Meta AI search?

No. Meta describes Meta-WebIndexer as the crawler that improves Meta AI search results, and says allowing it helps Meta cite and link to a site’s content. Meta-ExternalAgent crawls for uses such as training foundation AI models or improving products by indexing content.

How long does a robots.txt change take to work for Meta?

Meta says to allow up to 24 hours, because its crawlers may cache the contents of robots.txt for up to that long. Judge a change by the logs after that time, not before.

Sources and citation.

Primary sources only: the search engines, the AI vendors, standards bodies and QueryRev’s own research. Each is cited in the text by its number.

  1. Meta Web CrawlersMeta for Developers ·

  2. RFC 9309: Robots Exclusion ProtocolIETF ·

  3. State of AI crawler access, October 2026QueryRev Research ·

Cite this definition

A suggested citation. Its link goes to the definition, whose anchor does not change.

QueryRev Research. “Meta-ExternalAgent.” QueryRev AI glossary, 24 October 2026. https://queryrev.com/glossary/meta-externalagent#definition

Related terms