--- sidebar_label: Page.waitForResponse --- # Page.waitForResponse() method #### Signature: ```typescript class Page { waitForResponse( urlOrPredicate: string | AwaitablePredicate, options?: WaitTimeoutOptions ): Promise; } ``` ## Parameters | Parameter | Type | Description | | -------------- | -------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- | | urlOrPredicate | string \| [AwaitablePredicate](./puppeteer.awaitablepredicate.md)<[HTTPResponse](./puppeteer.httpresponse.md)> | A URL or predicate to wait for. | | options | [WaitTimeoutOptions](./puppeteer.waittimeoutoptions.md) | _(Optional)_ Optional waiting parameters | **Returns:** Promise<[HTTPResponse](./puppeteer.httpresponse.md)> Promise which resolves to the matched response. ## Remarks Optional Parameter 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 ```ts 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(''); }); return finalResponse.ok(); ```