Chrome network error · -337 · HTTP
ERR_HTTP2_PROTOCOL_ERROR
Chromium's description
There is an HTTP/2 protocol error.
Chrome shows it as net::ERR_HTTP2_PROTOCOL_ERROR, error -337. puppeteer and Playwright report the same name when a page fails to load in Chromium.
Common causes
- A response header that HTTP/2 forbids (such as
ConnectionorTransfer-Encoding) or with an invalid value. - A backend that crashes or times out halfway through the response.
- A proxy, CDN or load balancer that mishandles HTTP/2.
- An antivirus or extension that modifies the traffic.
How to fix ERR_HTTP2_PROTOCOL_ERROR
- Reload, try an incognito window and disable extensions.
- Turn off HTTPS scanning of the antivirus.
- Site owners: check server and proxy error logs, remove hop-by-hop headers, and look at response size and timeout limits.
- Try the URL with
curl --http2 -vto see where the stream is reset.
ERR_HTTP2_PROTOCOL_ERROR in the screenshot API
When the page itself fails to load with ERR_HTTP2_PROTOCOL_ERROR, the API answers 502 with the message The target website could not be loaded (ERR_HTTP2_PROTOCOL_ERROR). (target_unreachable). Not billed.
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_HTTP2_PROTOCOL_ERROR mean?
How do I fix ERR_HTTP2_PROTOCOL_ERROR?
Is a screenshot that fails with ERR_HTTP2_PROTOCOL_ERROR 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