Execute typed HTTP requests inside the browser context.
pageRequest()
Executes a fetch() call inside the browser context via page.evaluate(). Because the request runs inside the real browser process, it uses the browser’s TLS fingerprint, cookies, and session. This avoids bot-detection issues that arise when making the same request from Node.js directly.
z.infer<T> when a schema is provided in options, or any otherwise.
Non-2xx responses cause
pageRequest to throw an error. The error message
includes the HTTP method, URL, and status code.RequestConfig
The URL to fetch. Relative URLs are resolved in the browser context.
HTTP method. Defaults to
"GET".Additional request headers to merge with any that
bodyType adds
automatically.Request body. When
bodyType is "json" (the default), objects are
serialized with JSON.stringify. When bodyType is "form", objects are
encoded as application/x-www-form-urlencoded.How to serialize the
body. Defaults to "json". Setting this to "form"
also sets Content-Type: application/x-www-form-urlencoded automatically.How to parse the response. Defaults to
"json". Both "text" and "xml"
return the raw response text.PageRequestOptions<T>
Optional logger. When provided, request details (method, URL, status,
duration) are logged at
info level, and failures at warn.Optional Zod schema. When provided, the parsed response body is validated with
schema.parse() before being returned. The return type of pageRequest becomes z.infer<T>.