Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Call response.remoteAddress() on Puppeteer’s HTTPResponse object. It returns an object with the IP address and port used to connect to the remote server; both properties may be absent, so handle them as optional.

Read the remote address from a response

Use the response object passed to a page’s response event handler:

page.on('response', response => {
  const { ip, port } = response.remoteAddress();
  console.log({ ip, port });
});

remoteAddress() is synchronous. The API reference for Puppeteer 25.12.0 documents it on HTTPResponse, which represents responses received by a Page. See the HTTPResponse.remoteAddress() API reference.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Handle missing address fields

The returned RemoteAddress has an optional string ip and an optional number port. Do not assume either is always present. The following pattern makes that explicit in logs:

page.on('response', response => {
  const address = response.remoteAddress();
  console.log({
    url: response.url(),
    ip: address.ip ?? 'unavailable',
    port: address.port ?? 'unavailable'
  });
});

The optional property types are documented in Puppeteer’s RemoteAddress interface. If your TypeScript configuration flags possibly undefined properties, preserve the optional checks rather than asserting that the values exist.

What the remote address represents

Puppeteer defines this as the IP address and port number used to connect to the remote server. It is not the response URL, an origin hostname, or a separate DNS lookup result. In puppeteer-core 24.4.0, the implementation constructs the object from Chrome DevTools Protocol fields remoteIPAddress and remotePort; that implementation detail is version-specific. See the Puppeteer 24.4.0 CDP HTTPResponse implementation.

The API documentation does not specify a behavior matrix for cache, service-worker, proxy, or other transport cases. Avoid assuming that an address will be populated in every such situation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Troubleshooting

  • remoteAddress is not a function: Check that the value is a Puppeteer HTTPResponse, such as the argument received by page.on('response', ...), rather than a request, URL, or another response type.
  • ip or port is missing: Both properties are optional. Handle the missing value instead of treating it as a malformed URL or retrying as though the method were asynchronous.
  • Trying to use await: No await is needed; remoteAddress() returns its object synchronously.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If your goal is a rendered screenshot rather than inspecting a Puppeteer connection, ScreenshotNeo provides a one-request screenshot API. It does not expose Puppeteer’s remoteAddress() value.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo documentation for API details. Cookie banners, popups, and chat widgets are removed before the shot; bot checks, blank pages, and failed loads are not billed. An MCP server lets AI agents take screenshots. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000.

Sign up free for 1,000 screenshots a month—no card required.

Best Value
The SQL Programming Language: .
  • Used Book in Good Condition

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.