# Awaiting

### The `wait_until` parameter

Passing the `wait_until` parameter to your request tells the browser that a certain promise is still ongoing, hence preventing the service worker from terminating until the promise is resolved.&#x20;

Your full **GET** request should then be sent to the following address:

{% code overflow="wrap" %}

```
https://api.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&url=<TARGETED_URL>&wait_until=$promise
```

{% endcode %}

<details>

<summary>Available options</summary>

The currently supported options for the `wait_until` parameter are:

* `load` - load event is fired.
* `domcontentloaded` - DOMContentLoaded event is fired.
* `networkidle0` - there are no more than 0 network connections for at least 500 ms.
* `networkidle2` - there are no more than 2 network connections for at least 500 ms.

</details>

### The `wait_for` parameter

This option comes in handy when dealing with websites that have dynamic-generated content. Passing the `wait_for` parameter will instruct BrowserAPI to wait for a certain amount of time after the page finished loading and before closing the connection.&#x20;

Your full **GET** request should then be sent to the following address:

{% code overflow="wrap" %}

```
https://api.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&url=<TARGETED_URL>&wait_for=$milliseconds
```

{% endcode %}

{% hint style="info" %}
The values passed to the `wait_for` parameter are expressed in milliseconds. We recommend that you use a value between `5000` and `10000`.
{% endhint %}

### The `wait_for_css` parameter

When you want to scrape a specific element of the page, passing the `wait_for_css` parameter will make BrowserAPI wait for that specific CSS selector to be available in DOM before returning the result.&#x20;

Your full **GET** request should then be sent to the following address:

{% code overflow="wrap" %}

```
https://api.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&url=<TARGETED_URL>&wait_for_css=$cssSelector
```

{% endcode %}

{% hint style="warning" %}
We recommend that the `$cssSelector` value should be encoded or escaped in order for your request to pass successfully.&#x20;
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.webscrapingapi.com/browser-api/advanced-api-features/awaiting.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
