# facebookexternalhit

> The link unfurler: it reads your Open Graph tags when somebody shares your URL on a Meta property.

| field | value |
|---|---|
| operator | Meta |
| category | Link preview fetchers |
| robots.txt token | `facebookexternalhit` |
| user-agent contains | `facebookexternalhit` |
| 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

Severe and usually accidental. Your links share as bare grey boxes with no title, image or description across Facebook, Instagram, Messenger and WhatsApp. Almost nobody means to block this.

## Full user-agent string

```
facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)
```

## Block it

```
User-agent: facebookexternalhit
Disallow: /
```

## Allow it

```
User-agent: facebookexternalhit
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 facebookexternalhit?**  
  `curl -s 'https://www.pathwren.workers.dev/tools/verification-methods?crawler=facebookexternalhit&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/facebookexternalhit.json · index: https://www.pathwren.workers.dev/llms.txt
