Chrome network error · -337 · HTTP

ERR_HTTP2_PROTOCOL_ERROR

The server, or a proxy in front of it, broke the rules of HTTP/2 while sending the page, for example by sending an invalid header or resetting the stream.

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 Connection or Transfer-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

  1. Reload, try an incognito window and disable extensions.
  2. Turn off HTTPS scanning of the antivirus.
  3. Site owners: check server and proxy error logs, remove hop-by-hop headers, and look at response size and timeout limits.
  4. Try the URL with curl --http2 -v to 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

Rendered in a real browser with cookie banners hidden. Takes 5–30 seconds.

Frequently asked questions

What does ERR_HTTP2_PROTOCOL_ERROR mean?

The server, or a proxy in front of it, broke the rules of HTTP/2 while sending the page, for example by sending an invalid header or resetting the stream.

How do I fix ERR_HTTP2_PROTOCOL_ERROR?

Reload, try an incognito window and disable extensions.

Is a screenshot that fails with ERR_HTTP2_PROTOCOL_ERROR billed?

No. Requests the screenshot API answers with an error are not billed.

Other common errors

All 249 Chrome network errors · Screenshot API 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

More free tools

Start using our Screenshot API for free today!

Get 300 requests / month for free