image.refused-everywhere
Image refused to the API's crawler, probe refused. Level: Error.
When it is raised
The API's crawler (PolymorphismOGPreview/1.0, or the user agent chosen with ?ua=) requested the image URL, followed at most 7 redirects (8 requests), and got HTTP 401 or 403. The API then sent a second GET (the probe) for the same URL from its own server with the facebookexternalhit/1.1 user agent; the probe also follows at most 7 redirects (8 requests) and stops reading once more than 1,024 bytes have arrived. The probe also sends a different Accept header (text/html,application/xhtml+xml instead of image/*). Raised when the probe ends in any status outside 2xx, for example 401, 403, 404, 429 or 5xx, or a 3xx response with no Location header.
What it does to a shared link
The image host refused the API's crawler and answered the probe, which carries the facebookexternalhit/1.1 user agent, with a status outside 2xx. Any client refused in the same way cannot fetch the image. No dimensions, size, format or crop could be measured.
How to fix it
- Find the rule that refuses the image: authentication, signed or expiring URLs, hotlink protection, or a bot filter on the image host or its CDN.
- Serve the card image publicly, with no cookie, login, Referer or user-agent requirement.
- If the host cannot be changed, move the image to one that serves it publicly and update the og:image or twitter:image tag to the new URL.
- Confirm the result by requesting the image with GET and a non-browser user agent, following redirects, and checking for status 200.
Related checks
Sources
- Facebook: https://developers.facebook.com/docs/sharing/webmasters/, read 2026-09-13.