---
title: Obtaining browser (end user) page load time data (v2)
source: https://docs.newrelic.com/docs/apis/rest-api-v2/browser-examples-v2/obtaining-browser-end-user-page-load-time-data-v2
---

The [metric timeslice data](https://docs.newrelic.com/docs/data-analysis/metrics/analyze-your-metrics/data-collection-metric-timeslice-event-data#timeslice-data) presented on the **Browser page load time** chart on your application's [**Summary** page](https://docs.newrelic.com/docs/browser/new-relic-browser/getting-started/browser-overview-website-performance-glance) will depend on your web app's configuration. Possible components may include:

-   Network time
-   Page rendering time
-   DOM processing time
-   Web application time
-   Request queuing time

This describes how to use the New Relic REST API (v2) to obtain the data shown on the **Browser page load time** chart.

> #### ⚠️ IMPORTANT
>
> While the examples utilize New Relic's REST API v2, we recommend using [NRQL functions](https://docs.newrelic.com/docs/nrql/get-started/introduction-nrql-new-relics-query-language/) for executing metric timeslice queries. Each API value can be mapped to an equivalent NRQL function. To learn how to create NRQL queries based on these API examples, refer to our [documentation](https://docs.newrelic.com/docs/apis/rest-api-v2/migrate-to-nrql/).

## General API values [#general]

When making your own calculations, be aware of the following:

-   You can change the [default time range (30 minutes)](https://docs.newrelic.com/docs/apm/apis/requirements/specifying-time-range-api-v2#api-call) used in these examples.
-   For calculated values, the time range you specify must be consistent in **all** of the queries; otherwise the final calculations will be incorrect.
-   You must replace the `$APP_ID` and `$API_KEY` variables in these examples with your specific [application ID](https://docs.newrelic.com/docs/apm/apis/requirements/identification-code) and corresponding [REST API key](https://docs.newrelic.com/docs/apis/rest-api-v2/requirements/rest-api-key#viewing).
-   Ensure you adjust the time units returned by the API requests as needed.

## Network time [#network_time]

The `EndUser:average_network_time` is the network latency, or time it takes for a request to make a round trip over the Internet. Use the following command to obtain this.

```sh
curl -X GET "https://api.newrelic.com/v2/applications/$APP_ID/metrics/data.json" \
     -H "X-Api-Key:$API_KEY" -i \
     -d 'names[]=EndUser&values[]=average_network_time'
```

This time is returned in milliseconds.

## Page rendering time [#page_rendering_time]

Page rendering time is a derived value. To calculate it, use this equation:

```
"Page rendering" time = EndUser:average_fe_response_time - EndUser/RB:average_dom_content_load_time
```

To obtain the data for this calculation, use the following commands.

-   EndUser:average_fe_response_time

    ```sh
    curl -X GET "https://api.newrelic.com/v2/applications/$APP_ID/metrics/data.json" \
         -H "X-Api-Key:$API_KEY" -i \
         -d 'names[]=EndUser&values[]=average_fe_response_time'
    ```

    This time is returned in milliseconds.
-   EndUser/RB:average_dom_content_load_time

    ```sh
    curl -X GET "https://api.newrelic.com/v2/applications/$APP_ID/metrics/data.json" \
         -H "X-Api-Key:$API_KEY" -i \
         -d 'names[]=EndUser/RB&values[]=average_dom_content_load_time'
    ```

    This time is returned in milliseconds.

## DOM processing time [#DOM_processing_time]

The `EndUser/RB:average_dom_content_load_time` is the time spent in the browser to parse and interpret the HTML. This is measured by the browser's **DOM Content** event.

To obtain this data, use the following command:

```sh
curl -X GET "https://api.newrelic.com/v2/applications/$APP_ID/metrics/data.json" \
     -H "X-Api-Key:$API_KEY" -i \
     -d 'names[]=EndUser/RB&values[]=average_dom_content_load_time'
```

This time is returned in milliseconds.

## Web application time [#web_application_response]

The `Web application` time is the time spent in the application code. To calculate this value, use this equation:

```
Web application = EndUser:total_app_time / EndUser:call_count
```

To obtain the data for this calculation, use the following commands.

-   EndUser:total_app_time

    ```sh
    curl -X GET "https://api.newrelic.com/v2/applications/$APP_ID/metrics/data.json" \
         -H "X-Api-Key:$API_KEY"  -i \
         -d 'names[]=EndUser&values[]=total_app_time'
    ```

    This time is returned in seconds.
-   EndUser:call_count

    ```sh
    curl -X GET "https://api.newrelic.com/v2/applications/$APP_ID/metrics/data.json" \
         -H "X-Api-Key:$API_KEY" -i \
         -d 'names[]=EndUser&values[]=call_count'
    ```

## Request queuing time [#request_queue_time]

The `EndUser/RB:average_queue_time` is the wait time between the web server and the application code. Large numbers indicate a busy application server.

To obtain this data, use the following command:

```sh
curl -X GET "https://api.newrelic.com/v2/applications/$APP_ID/metrics/data.json" \
     -H "X-Api-Key:$API_KEY" -i \
     -d 'names[]=EndUser/RB&values[]=average_queue_time'
```

This time is returned in milliseconds.

The request queuing time is not included in the calculation of averages. New Relic includes it in this chart as a convenience.
