---
canonical_url: "https://docs.composio.dev/toolkits/page_vitals"
markdown_url: "https://docs.composio.dev/toolkits/page_vitals.md"
product: "platform"
version: null
last_updated: null
---

# PageVitals

PageVitals provides website performance monitoring, synthetic testing, real-user monitoring reports, performance budgets, and optimization insights.

- **Category:** analytics
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 28
- **Triggers:** 0
- **Slug:** `PAGE_VITALS`
- **Version:** 00000000_00

## Tools

### Add Configured Pages

**Slug:** `PAGE_VITALS_ADD_CONFIGURED_PAGES`

Add one or more explicitly supplied pages to PageVitals monitoring for a website. This persistent bulk operation can consume monitored-page quota and cause future synthetic tests, so call it only when the user explicitly requests every URL or path and alias. Never discover or scrape pages automatically.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `pages` | array | Yes | Pages to add in one request (1-100). Every item must contain an explicit URL or path and alias; do not use this field to discover or scrape pages. |
| `website_id` | string | Yes | Exact website ID that will own the configured pages. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Budget

**Slug:** `PAGE_VITALS_CREATE_BUDGET`

Create a persistent PageVitals performance budget for a website. This changes monitoring and may change owner alerting behavior, so call only when the user explicitly requests the budget and supplies the complete metric, comparison direction, numeric threshold in the metric's native unit, and device scope. Never infer metric units or operator direction.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `value` | number | Yes | Numeric threshold in the selected metric's native unit. |
| `device` | string ("desktop" | "mobile" | "all") | Yes | Device scope to which the performance budget applies. |
| `metric` | string | Yes | Provider-supported PageVitals metric key to constrain, such as 'lcp'. Do not infer the metric or its unit. |
| `operator` | string ("lt" | "gt") | Yes | Comparison direction: 'lt' requires the metric to remain below value; 'gt' requires it to remain above value. Do not infer the direction. |
| `website_id` | string | Yes | Exact website ID that will own the performance budget. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Multistep Test

**Slug:** `PAGE_VITALS_CREATE_MULTISTEP_TEST`

Create an empty PageVitals multistep test definition with an explicit name and device profile. This only saves persistent configuration: it does not run the test, trigger any synthetic checks, or consume test-run quota.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alias` | string | Yes | Human-readable name for the multistep test in the PageVitals admin UI. |
| `device` | string ("desktop" | "mobile") | Yes | Device profile for the multistep test. |
| `website_id` | string | Yes | Exact website ID that will own the multistep test definition. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Website

**Slug:** `PAGE_VITALS_CREATE_WEBSITE`

Add a domain to the PageVitals account and begin managing it. This may consume website quota and start monitoring, so call only when the user explicitly asks to add the domain.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `domain` | string | Yes | Bare domain to add, without a protocol or path. Do not infer this value from unrelated text. |
| `display_name` | string | No | Optional account-facing name. PageVitals defaults it to the domain. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Budget

**Slug:** `PAGE_VITALS_DELETE_BUDGET`

Delete one PageVitals performance budget and stop enforcing its threshold. This is a destructive alerting mutation; use only when the user explicitly selects the exact budget ID for deletion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `budget_id` | string | Yes | Exact budget ID returned by List Budgets. Do not use a metric or name. |
| `website_id` | string | Yes | Exact website ID owning the budget. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Configured Page

**Slug:** `PAGE_VITALS_DELETE_CONFIGURED_PAGE`

Permanently delete one PageVitals configured page and all of its test results, including historical results. This is irreversible; use only for an explicit request naming the exact website ID and configured-page ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_id` | string | Yes | Exact configured-page ID returned by List Configured Pages. Do not use a URL, alias, or any other identifier. |
| `website_id` | string | Yes | Exact website ID that owns the configured page, as returned by List Websites. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Multistep Test

**Slug:** `PAGE_VITALS_DELETE_MULTISTEP_TEST`

Permanently delete one PageVitals multistep test definition. This is irreversible; use only when the user explicitly identifies the exact website ID and test ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `test_id` | string | Yes | Exact opaque multistep test ID to permanently delete. Do not use a test alias or any other identifier. |
| `website_id` | string | Yes | Exact opaque website ID that owns the multistep test. Do not use a domain, URL, alias, or display name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Website

**Slug:** `PAGE_VITALS_DELETE_WEBSITE`

Permanently delete one PageVitals website and all of its tests, metrics, analytics, and configuration. This is irreversible; use only for an explicit request naming the exact website ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `website_id` | string | Yes | Exact opaque website ID returned by List Websites. Never use a domain or display name. Deletion permanently removes the website and all of its tests, metrics, analytics, and configuration. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Multistep Test

**Slug:** `PAGE_VITALS_GET_MULTISTEP_TEST`

Get one multistep test definition, including its configured steps.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `test_id` | string | Yes | Multistep test ID returned by List or Create Multistep Test. |
| `website_id` | string | Yes | Website ID owning the multistep test definition. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Page Metrics

**Slug:** `PAGE_VITALS_GET_PAGE_METRICS`

Get the latest Lighthouse and Chrome UX metrics for one configured page and device.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `device` | string ("desktop" | "mobile") | Yes | Device variant to retrieve. PageVitals requires either desktop or mobile. |
| `page_id` | string | Yes | Page ID returned by List Page Metrics. |
| `website_id` | string | Yes | Website ID returned by List Websites. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Page Opportunities

**Slug:** `PAGE_VITALS_GET_PAGE_OPPORTUNITIES`

List Lighthouse improvement opportunities for a page/device, or return the full variable-shape details for one opportunity ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `device` | string ("desktop" | "mobile") | Yes | Device variant to inspect. |
| `page_id` | string | Yes | Page ID returned by List Page Metrics. |
| `website_id` | string | Yes | Website ID returned by List Websites. |
| `opportunity_id` | string | No | Optional ID from this tool's list response. Omit it to list opportunities; provide it to return that opportunity's full details. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Page Timeline

**Slug:** `PAGE_VITALS_GET_PAGE_TIMELINE`

Get one historical timeline for a page/device: combined loading metrics, CrUX, network bytes, CPU time, or Google Search performance. Google Search requires that integration on the website.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `device` | string ("desktop" | "mobile") | Yes | Device variant whose history to return. |
| `page_id` | string | Yes | Page ID returned by List Page Metrics. |
| `date_range` | string | No | Optional inclusive range in yyyyMMdd-yyyyMMdd form. Omit it to use the provider default of about 90 days. |
| `website_id` | string | Yes | Website ID returned by List Websites. |
| `timeline_type` | string ("loading" | "crux" | "network" | "cpu" | "google_search") | Yes | Report family: loading performance, real-user CrUX, transferred bytes, CPU task time, or Google Search Console metrics. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Test

**Slug:** `PAGE_VITALS_GET_TEST`

Get the detailed Lighthouse, timing, resource, budget, and validation summary for one synthetic test. Provider values, nulls, metric scales, and JSON-looking strings are returned unchanged.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `test_id` | string | Yes | Test ID returned by Get Test Series. |
| `website_id` | string | Yes | Website ID owning the test. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Test Report

**Slug:** `PAGE_VITALS_GET_TEST_REPORT`

Get one specialized synthetic-test report: keyed Lighthouse opportunities, the request waterfall, or grouped HTML validation findings. Validation always omits the embedded raw HTML.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `test_id` | string | Yes | Test ID returned by Get Test Series. |
| `website_id` | string | Yes | Website ID owning the test. |
| `report_type` | string ("opportunities" | "waterfall" | "validation") | Yes | Specialized diagnostic report to return. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Test Series

**Slug:** `PAGE_VITALS_GET_TEST_SERIES`

Get one synthetic test series and its individual tests, statuses, page IDs, device variants, and failure messages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `series_id` | string | Yes | Series ID returned by List Test Series or Run Test Series. |
| `website_id` | string | Yes | Website ID returned by List Websites. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Budgets

**Slug:** `PAGE_VITALS_LIST_BUDGETS`

List performance budgets, current status, notification settings, and affected pages for a website.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `website_id` | string | Yes | Website ID returned by List Websites. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Configured Pages

**Slug:** `PAGE_VITALS_LIST_CONFIGURED_PAGES`

List the raw pages configured for PageVitals monitoring on a website.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `website_id` | string | Yes | Website ID returned by List Websites. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Multistep Runs

**Slug:** `PAGE_VITALS_LIST_MULTISTEP_RUNS`

List historical runs for one multistep test, including status, duration, interaction, layout-shift, CPU, transfer-size, and blocking-time metrics.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `test_id` | string | Yes | Multistep test ID whose historical runs should be listed. |
| `website_id` | string | Yes | Website ID owning the multistep test. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Multistep Tests

**Slug:** `PAGE_VITALS_LIST_MULTISTEP_TESTS`

List multistep tests configured for a website with recent metrics, state, and success rates. A website with no configured multistep tests returns an empty tests list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `website_id` | string | Yes | Website ID returned by List Websites. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Page Metrics

**Slug:** `PAGE_VITALS_LIST_PAGE_METRICS`

List every configured page/device combination for a website with recent timeline and latest performance metrics.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `website_id` | string | Yes | Website ID returned by List Websites. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Test Series

**Slug:** `PAGE_VITALS_LIST_TEST_SERIES`

List recent synthetic test series for a website, including status and failure counts.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `website_id` | string | Yes | Website ID returned by List Websites. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Website Opportunities

**Slug:** `PAGE_VITALS_LIST_WEBSITE_OPPORTUNITIES`

List Lighthouse improvement opportunities aggregated across a website and the affected pages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `website_id` | string | Yes | Website ID returned by List Websites. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Websites

**Slug:** `PAGE_VITALS_LIST_WEBSITES`

List websites visible to the connected PageVitals API key. Use the returned website IDs with all website-scoped tools.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Run Multistep Tests

**Slug:** `PAGE_VITALS_RUN_MULTISTEP_TESTS`

Trigger exactly one named multistep test or intentionally fan out to every multistep test configured for a website. Every triggered run consumes PageVitals test quota and may incur cost. Choosing target='all' can start many jobs, so use it only when the user explicitly requests an all-tests run.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `target` | string ("single" | "all") | Yes | Choose 'single' to run exactly one test, or 'all' to intentionally fan out and run every multistep test configured for the website. Both modes consume PageVitals test quota; 'all' can trigger many jobs. |
| `test_id` | string | No | Exact multistep test ID from List Multistep Tests. Required only when target is 'single' and forbidden when target is 'all'. |
| `website_id` | string | Yes | Exact website ID whose multistep test or tests should run. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Run Test Series

**Slug:** `PAGE_VITALS_RUN_TEST_SERIES`

Trigger synthetic tests for selected page/device variants, or for every configured test when pages is omitted. This action consumes PageVitals test quota and may incur cost; call it only when the user explicitly requests a new run.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `pages` | array | No | Exact page/device selections to test. Omit this field only when intentionally running every configured test for the website. Running tests consumes PageVitals test quota and may incur cost. |
| `initiator` | string | No | Optional label identifying the process or person that started the run. |
| `website_id` | string | Yes | Exact website ID whose synthetic tests should run. |
| `description` | string | No | Optional reason or deployment description for the test run. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Budget

**Slug:** `PAGE_VITALS_UPDATE_BUDGET`

Replace a PageVitals performance budget's complete metric threshold and device scope. This may change monitoring alerts or notifications. Read the current budget first, use its exact website and budget IDs, and provide all four desired state fields because partial PUT behavior was not safely tested.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `value` | string | Yes | Complete desired numeric threshold in the metric's native unit. |
| `device` | string ("desktop" | "mobile" | "all") | Yes | Complete desired device scope for the budget. |
| `metric` | string | Yes | Complete desired PageVitals metric key, such as lcp. |
| `operator` | string ("lt" | "gt") | Yes | Complete desired comparison: lt requires the metric below value; gt requires it above value. |
| `budget_id` | string | Yes | Exact budget ID to replace, as returned by List Budgets. |
| `website_id` | string | Yes | Exact website ID owning the budget, as returned by List Websites. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Configured Page

**Slug:** `PAGE_VITALS_UPDATE_CONFIGURED_PAGE`

Update a configured PageVitals page's URL, display alias, or both. This changes persistent monitoring configuration; use the exact page ID from List Configured Pages and provide at least one new value.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | No | New website-relative URL or path. Omit to retain the current URL. |
| `alias` | string | No | New display alias. Omit to retain the current alias. |
| `page_id` | string | Yes | Exact configured-page ID returned by List Configured Pages. |
| `website_id` | string | Yes | Exact website ID owning the configured page, as returned by List Websites. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Multistep Test

**Slug:** `PAGE_VITALS_UPDATE_MULTISTEP_TEST`

Update a multistep test's alias and device. Both fields are required because PageVitals PUT replacement and partial-update semantics were not safely live-tested; read the current test first when preserving either value.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alias` | string | Yes | Complete desired human-readable alias after the update. |
| `device` | string ("desktop" | "mobile") | Yes | Complete desired device profile after the update. |
| `test_id` | string | Yes | Exact multistep test ID to update. |
| `website_id` | string | Yes | Website ID owning the multistep test definition. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
