# meta-externalfetcher

> Fetches a page when a Meta AI user asks about a specific link.

| field | value |
|---|---|
| operator | Meta |
| category | User-triggered fetchers |
| robots.txt token | `meta-externalfetcher` |
| user-agent contains | `meta-externalfetcher` |
| robots.txt | obeys robots.txt (documented) |
| verify by | no published verification method |
| published IP ranges | none published |
| prefixes mirrored | 0 IPv4 / 0 IPv6 |
| operator docs | https://developers.facebook.com/docs/sharing/webmasters/web-crawlers |
| last reviewed | 2026-09-14 |

## What blocking it costs you

Meta AI cannot read pages users hand it.

## Full user-agent string

```
meta-externalfetcher/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)
```

## Block it

```
User-agent: meta-externalfetcher
Disallow: /
```

## Allow it

```
User-agent: meta-externalfetcher
Allow: /
```

## Ask this page a question, with one GET

A question about this page, answered by a call you can make right now — no key, no account, no JSON-RPC, nothing to assemble. The query string is already filled in with this page's own subject.

- **How do I prove a request really is meta-externalfetcher?**  
  `curl -s 'https://www.pathwren.workers.dev/tools/verification-methods?crawler=meta-externalfetcher&s=client-dossiers'`  
  The verification method its operator actually publishes — published IP ranges, reverse DNS, or nothing at all — and the mirror of it on this host.

Every parameter above is a value the endpoint reads, not an address it visits: nothing is fetched on your behalf. Called without any parameter, each endpoint returns its own specification instead of an error.

JSON: https://www.pathwren.workers.dev/crawler/meta-externalfetcher.json · index: https://www.pathwren.workers.dev/llms.txt
