Enable request interception before the request occurs, then call request.continue() with only the properties you need to change. Puppeteer’s documented override fields are headers, method, postData, and url. Every intercepted request must be resolved, and a changed URL is not a redirect.
Continue a request with an override
This example adds a request header while preserving the request’s existing headers:
await page.setRequestInterception(true);
page.on('request', request => {
if (request.isInterceptResolutionHandled()) return;
const headers = {
...request.headers(),
'x-example': 'value',
};
request.continue({ headers });
});
Enable interception before navigation or before the request you intend to handle. Puppeteer documents HTTPRequest.continue() in version 25.12.0; the override interface is documented in version 25.10.0. Check the API documentation for the version installed in your project, because these details can change. Puppeteer continue API · ContinueRequestOverrides interface
Choose the override that matches your goal
Pass an object to continue(). The override properties are optional, so leave out any property you do not need to change.
Free tools Windows power users keep installed
One-click scans. No signup required.
#1 Best Overall
| Property | What it changes | Important detail |
|---|---|---|
headers |
Request headers | request.headers() returns lower-case header names. Copy the existing headers if you want to add or change one without discarding the rest. |
method |
HTTP request method | Supply the method you want the intercepted request to use. |
postData |
Request body | The original body may not be available through postData() if it is too long or not readily decoded; use fetchPostData() in that case. |
url |
Request URL | Changing the URL is not a redirect, according to Puppeteer. |
For example, to remove a header, Puppeteer’s documented header example assigns that header an undefined value in the headers object. Use the property names and value types supported by the installed Puppeteer version.
Make sure every intercepted request is resolved
After interception is enabled, requests pause until they are continued, responded to, aborted, or completed using the browser cache. A handler that does not need to modify a request still has to let it proceed or otherwise resolve it. If no other handler is responsible for it, a simple pass-through branch can call request.continue().
Rank #2
- HTML CSS Design and Build Web Sites
- Comes with secure packaging
- It can be a gift option
Calling continue() without first enabling interception throws. Interception also activates the request-resolution methods continue(), abort(), and respond(). See Puppeteer’s network interception guide and setRequestInterception API.
Avoid resolving the same request twice
When multiple listeners can act on a request, check whether another handler has already resolved it before calling continue(), abort(), or respond(). If your handler awaits asynchronous work, check again immediately before resolving: another listener may handle the request while your work is pending.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minuteRank #3
The guide also describes cooperative priorities for handlers that need to coordinate. Cooperative handling is active only if every resolving handler supplies a numeric priority. The highest priority wins; on a tie, abort takes precedence over respond, which takes precedence over continue. If any handler omits a priority, legacy immediate resolution applies instead. Puppeteer recommends the default priority (0) for a continuation that simply passes the request along.
Common problems and fixes
continue()throws: Make sureawait page.setRequestInterception(true)ran before the request handler tries to continue the request.- A page or resource hangs: Check that every intercepted request reaches a resolution. A request left unresolved can stall.
- A request is resolved more than once: Check
request.isInterceptResolutionHandled()before resolving, and repeat the check after any awaited work. - Other listeners do not get the result you expected: Confirm whether handlers use cooperative priorities consistently. One handler omitting a numeric priority switches resolution to legacy immediate behavior.
- The original POST body is missing: Puppeteer warns that
postData()may be unavailable for long or not readily decoded request data. TryfetchPostData()where supported by your installed version. - A URL override does not behave like navigation to a redirect target: Puppeteer states that changing the request’s
urlis not a redirect. Treat it as changing the URL for that request, not as redirect semantics.
Or skip the browser setup
If your goal is to get a website screenshot rather than modify a browser request, ScreenshotNeo provides a screenshot API. One GET request returns an image or PDF; the API documentation is at ScreenshotNeo docs.
Quick Recap
Best Value
Rank #4
- Brand: Wiley
- Set of 2 Volumes
- A handy two-book set that uniquely combines related technologies Highly visual format and accessible language makes these books highly effective learning tools Perfect for beginning web designers and front-end developers
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo accepts cookie and consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers indicate the page verdict and billing status. It also offers an MCP server with take_screenshot, get_page_info, and capture_pdf tools for AI agents. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots. Sign up for free: 1,000 screenshots a month, no card required.
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.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →

