<!-- Do not edit this file. It is automatically generated by API Documenter. --> [Home](./index.md) > [puppeteer](./puppeteer.md) > [Page](./puppeteer.page.md) > [waitForRequest](./puppeteer.page.waitforrequest.md) ## Page.waitForRequest() method <b>Signature:</b> ```typescript waitForRequest(urlOrPredicate: string | ((req: HTTPRequest) => boolean | Promise<boolean>), options?: { timeout?: number; }): Promise<HTTPRequest>; ``` ## Parameters | Parameter | Type | Description | | --- | --- | --- | | urlOrPredicate | string \| ((req: [HTTPRequest](./puppeteer.httprequest.md)) => boolean \| Promise<boolean>) | A URL or predicate to wait for | | options | { timeout?: number; } | Optional waiting parameters | <b>Returns:</b> Promise<[HTTPRequest](./puppeteer.httprequest.md)> Promise which resolves to the matched response ## Remarks Optional Waiting Parameters have: - `timeout`: Maximum wait time in milliseconds, defaults to `30` seconds, pass `0` to disable the timeout. The default value can be changed by using the [Page.setDefaultTimeout()](./puppeteer.page.setdefaulttimeout.md) method. ## Example ```js const firstResponse = await page.waitForResponse( 'https://example.com/resource' ); const finalResponse = await page.waitForResponse( (response) => response.url() === 'https://example.com' && response.status() === 200 ); const finalResponse = await page.waitForResponse(async (response) => { return (await response.text()).includes('<html>'); }); return finalResponse.ok(); ```