(Created on )

Puppeteer: HTTP {value}

Fetching browserURL's /json/version endpoint returned a non-OK HTTP status.


Fetching browserURL’s /json/version endpoint returned a non-OK HTTP status.

Error message

HTTP {value}

{value} is replaced by the value shown in your error message.

How this error happens

browserURL must serve Chrome’s debugging metadata at /json/version. A regular website or a reverse proxy that denies that path can return an HTTP error instead.

The snippets use the imported puppeteer instance. The failing case assumes port 3000 returns a non-success status for /json/version.

await puppeteer.connect({
    browserURL: "http://127.0.0.1:3000",
});

How to fix

Point browserURL at the running Chrome debugging service, not your application server.

const browser = await puppeteer.connect({
    browserURL: "http://127.0.0.1:9222",
});

Things to keep in mind

The correction assumes Chrome is actually listening there. If a proxy is required, configure its authentication and routing deliberately. An HTTP 200 HTML page can fail JSON parsing instead.

All Puppeteer errors

Keep Reading

Puppeteer Guides

All Guides →