Chrome network error · -27 · System
ERR_BLOCKED_BY_RESPONSE
X-Frame-Options or a frame-ancestors policy.Chromium's description
The request failed because the response was delivered along with requirements which are not met ('X-Frame-Options' and 'Content-Security-Policy' ancestor checks and 'Cross-Origin-Resource-Policy' for instance).
Chrome shows it as net::ERR_BLOCKED_BY_RESPONSE, error -27. puppeteer and Playwright report the same name when a page fails to load in Chromium.
Common causes
X-Frame-Options: DENYorSAMEORIGINon a page embedded in an iframe on another site.Content-Security-Policy: frame-ancestorsthat does not list the embedding site.- Cross-Origin-Embedder-Policy or Cross-Origin-Resource-Policy headers that block a resource.
How to fix ERR_BLOCKED_BY_RESPONSE
- Open the page directly in its own tab instead of the iframe.
- Site owners: allow the embedding origin in
frame-ancestors, or dropX-Frame-Optionsfor that page. - Developers: check the console for the header that caused the block.
ERR_BLOCKED_BY_RESPONSE in the screenshot API
The API loads the URL as a top-level page, not inside an iframe, so frame headers do not block the screenshot. If an iframe inside the page is blocked, the page renders without it.
Only the page's own load can fail a render. An image, script or frame of the page that fails with a network error does not: the page is captured as the browser shows it without that resource.
Check whether a website loads
Frequently asked questions
What does ERR_BLOCKED_BY_RESPONSE mean?
X-Frame-Options or a frame-ancestors policy.How do I fix ERR_BLOCKED_BY_RESPONSE?
Is a screenshot that fails with ERR_BLOCKED_BY_RESPONSE billed?
Other common errors
Screenshot API
Take screenshots from your code
screenshotbase renders any website in a real browser and returns the image: full page or viewport, any device size, retina, from 100+ countries, with cookie banners and ads hidden.
/v1/take documentation Screenshot API All documentation
300 free screenshots every month. No credit card required.
GET https://api.screenshotbase.com/v1/take?url=https://example.com&full_page=true
# Response: the image (PNG, JPG, WebP or GIF)
curl -G "https://api.screenshotbase.com/v1/take" \
--data-urlencode "url=https://example.com" \
-d viewport_width=1280 -d viewport_height=800 \
-d format=png \
-H "apikey: YOUR-API-KEY" \
-o screenshot.png