# Unofficial Virgin Voyages Itineraries (`devpartners/virgin-voyages-itineraries`) Actor

Unofficial scraper for public Virgin Voyages voyage-search pages: itineraries, sailing dates, ports of call, and visible cabin starting prices.

- **URL**: https://apify.com/devpartners/virgin-voyages-itineraries.md
- **Developed by:** [Chris Caputo](https://apify.com/devpartners) (community)
- **Categories:** Travel, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 sailings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Unofficial Virgin Voyages Itineraries

Collect public Virgin Voyages sailing data from the voyage-search experience. The Actor returns one dataset item per sailing date, including itinerary name, ship, sailing dates, ports of call, day-by-day itinerary details when available, and the visible public starting cabin price.

This Actor is useful for cruise inventory tracking, itinerary research, travel-market monitoring, price snapshots, and importing Virgin Voyages sailings into your own database or BI workflow.

This Actor is unofficial and is not affiliated with, endorsed by, sponsored by, or otherwise connected to Virgin Voyages.

![Example Apify dataset preview for Virgin Voyages sailings](assets/apify-store-dataset-preview.png)

### What It Scrapes

- Public Virgin Voyages voyage-search result cards
- Public `fullCruiseDetails` itinerary pages, when detail fetching is enabled
- Itinerary or package name
- Ship name and voyage duration
- Sailing start and end dates
- Public ports of call
- Day-by-day itinerary stops, including arrival and departure text when Virgin exposes it
- Visible public starting cabin price, original strikethrough price when shown, currency label, and price basis
- Virgin package and voyage identifiers
- Source URLs and scrape timestamp

The Actor intentionally stays on public search and itinerary-detail pages. It does not automate checkout, cabin selection, account login, booking, payment, reservation management, or any other non-public purchase flow.

### Typical Use Cases

- Track upcoming Virgin Voyages sailings by date, ship, home port, or duration
- Build a searchable itinerary catalog
- Monitor visible starting prices over time
- Compare sailings across ships or regions
- Feed cruise data into spreadsheets, dashboards, CRMs, or travel-planning tools
- Keep an internal destination or package database up to date

### Input

You can run the Actor with no input to scrape the default Virgin Voyages find-a-voyage page. Use filters when you want a smaller, more targeted dataset.

```json
{
  "dateFrom": "2027-01-01",
  "dateTo": "2027-03-31",
  "ships": ["SC", "VL"],
  "homePorts": ["MIA"],
  "durations": ["4", "5"],
  "maxItems": 50,
  "includeDetails": true,
  "maxDetailPages": 25,
  "currency": "USD",
  "requestDelayMillis": 750
}
````

#### Input Fields

| Field | Type | Description |
| --- | --- | --- |
| `startUrls` | array | Optional Virgin Voyages find-a-voyage URLs. Existing query parameters are preserved, and the filters below are added or overwritten. |
| `dateFrom` | string | Earliest sailing date to include, in `YYYY-MM-DD` format. |
| `dateTo` | string | Latest sailing date to include, in `YYYY-MM-DD` format. |
| `ships` | array | Ship codes to include: `BR` Brilliant Lady, `RS` Resilient Lady, `SC` Scarlet Lady, `VL` Valiant Lady. |
| `homePorts` | array | Departure port codes to include, such as `MIA`, `SJU`, `BCN`, `ATH`, `CIV`, `LAX`, `SEA`, or `VAN`. |
| `durations` | array | Voyage lengths to include: `1-3`, `4`, `5`, `6`, `7`, `8`, `9-14`, or `15+`. |
| `maxItems` | integer | Maximum number of sailing-date rows to return. The Actor caps this at 250. |
| `includeDetails` | boolean | When true, fetches public detail pages for richer day-by-day itinerary data. |
| `maxDetailPages` | integer | Maximum number of detail pages to fetch by package code. Use `0` for no detail-page limit. |
| `currency` | string | Currency label attached to parsed public prices. The default is `USD`. |
| `requestDelayMillis` | integer | Delay between Virgin Voyages requests. Increase this for gentler, slower runs. |

### Output

The Actor saves results to the default Apify dataset. Each item represents one sailing date, not one itinerary package. If a package has several available departure dates, the dataset will contain several rows with the same `package_code` and different `sailing_id` / `sailing_start_date` values.

![Example output row with itinerary stops and dataset JSON shape](assets/apify-store-output-preview.png)

```json
{
  "schema_version": "1.0",
  "cruise_line": "Virgin Voyages",
  "cruise_line_slug": "virgin-voyages",
  "itinerary_name": "Southern Caribbean Cruise",
  "sailing_id": "SC2803117NSJRP",
  "voyage_id": "SC2803117NSJRP",
  "package_code": "7NSJRP",
  "ship_name": "Scarlet Lady",
  "duration_nights": 7,
  "sailing_start_date": "2028-03-11",
  "sailing_end_date": "2028-03-18",
  "starting_price": 903,
  "starting_original_price": 1268,
  "currency": "USD",
  "price_basis": "per Sailor",
  "ports_of_call": [
    "San Juan, Puerto Rico, USA",
    "Charlotte Amalie, St. Thomas, U.S. Virgin Islands"
  ],
  "itinerary": [
    {
      "day": 1,
      "port_name": "San Juan, Puerto Rico, USA",
      "is_sea_day": false,
      "arrival_time": null,
      "departure_time": "06:00 PM",
      "schedule_text": "Departs at 06:00 PM, local time"
    }
  ],
  "cabin_pricing": [
    {
      "cabin_type": "Insider",
      "price": 903,
      "original_price": 1268,
      "currency": "USD",
      "basis": "per Sailor",
      "source": "public_search_card"
    }
  ],
  "source": {
    "website": "virginvoyages.com",
    "search_url": "https://www.virginvoyages.com/book/voyage-planner/find-a-voyage",
    "detail_url": "https://www.virginvoyages.com/book/voyage-planner/fullCruiseDetails?packageCode=7NSJRP"
  },
  "scraped_at": "2026-06-16T12:33:20.982Z"
}
```

The dataset also includes compatibility aliases such as `cruise_date`, `cruise_end_date`, `cruise_price`, `detail_url`, `source_url`, and flat itinerary fields like `stop_1_port`, `stop_1_arrival_time`, and `stop_1_departure_time` for importers that prefer wide rows.

### Public Price Notes

Virgin currently exposes a visible starting cabin price on public search result cards. The Actor records that visible public price and, when shown, the matching strikethrough/original price. It does not enter checkout or cabin-selection pages, so it should not be treated as a complete live cabin inventory feed.

For trend analysis, schedule repeated runs and compare rows by `sailing_id`, `package_code`, `starting_price`, and `scraped_at`.

### Tips For Better Results

- Use date filters to keep runs focused and easier to review.
- Start with a small `maxItems` value while testing a new configuration.
- Keep `includeDetails` enabled when you need day-by-day ports, arrival times, or departure times.
- Lower `maxDetailPages` when you only need search-card data or want faster runs.
- Increase `requestDelayMillis` for larger runs or when you want to reduce request intensity.
- Use `ships`, `homePorts`, and `durations` together to create clean segments for dashboards.
- Store historical datasets instead of overwriting them if you want price-change reporting.

### Limitations

- Results depend on what Virgin Voyages makes visible on public pages at scrape time.
- Public prices can change, disappear, or differ from prices shown later in the booking process.
- Detail-page timing is only available when Virgin exposes it in the public itinerary markup.
- The Actor does not verify availability beyond the public search-card result.
- Website layout changes may require parser updates.

### Exporting Results

After a run finishes, open the Actor dataset in Apify to preview, filter, download, or connect the results. Common export formats include JSON, CSV, Excel, XML, RSS, and HTML table. For downstream systems, use `sailing_id` as the sailing-level identifier and `package_code` as the itinerary/package-level identifier.

### Public-Page Compliance

This Actor is designed for public itinerary research. It avoids automated access to checkout and choose-a-cabin routes and does not collect account, payment, passenger, or booking data.

# Actor input Schema

## `startUrls` (type: `array`):

Virgin Voyages find-a-voyage URLs to scrape. Query filters are preserved and the fields below are added to each URL.

## `dateFrom` (type: `string`):

Earliest sailing date to include. Uses Virgin's dateFrom query filter.

## `dateTo` (type: `string`):

Latest sailing date to include. Uses Virgin's dateTo query filter.

## `ships` (type: `array`):

Limit results to selected Virgin Voyages ships.

## `homePorts` (type: `array`):

Limit results to selected departure home ports.

## `durations` (type: `array`):

Limit results by voyage length in nights.

## `maxItems` (type: `integer`):

Stops after this many sailing-date rows.

## `includeDetails` (type: `boolean`):

Fetch public fullCruiseDetails pages for richer day-by-day ports of call.

## `maxDetailPages` (type: `integer`):

Caps public fullCruiseDetails requests by package code. Use 0 for no limit.

## `currency` (type: `string`):

Currency label to attach to parsed public prices.

## `requestDelayMillis` (type: `integer`):

Delay between Virgin Voyages requests.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.virginvoyages.com/book/voyage-planner/find-a-voyage"
    }
  ],
  "maxItems": 25,
  "includeDetails": true,
  "maxDetailPages": 25,
  "currency": "USD",
  "requestDelayMillis": 750
}
```

# Actor output Schema

## `results` (type: `string`):

One dataset item per Virgin Voyages sailing date, including itinerary, ports of call, dates, and visible public cabin starting prices.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://www.virginvoyages.com/book/voyage-planner/find-a-voyage"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("devpartners/virgin-voyages-itineraries").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "startUrls": [{ "url": "https://www.virginvoyages.com/book/voyage-planner/find-a-voyage" }] }

# Run the Actor and wait for it to finish
run = client.actor("devpartners/virgin-voyages-itineraries").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.virginvoyages.com/book/voyage-planner/find-a-voyage"
    }
  ]
}' |
apify call devpartners/virgin-voyages-itineraries --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=devpartners/virgin-voyages-itineraries",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Unofficial Virgin Voyages Itineraries",
        "description": "Unofficial scraper for public Virgin Voyages voyage-search pages: itineraries, sailing dates, ports of call, and visible cabin starting prices.",
        "version": "0.1",
        "x-build-id": "NNVTJNZFQFGJaSqHl"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/devpartners~virgin-voyages-itineraries/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-devpartners-virgin-voyages-itineraries",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/devpartners~virgin-voyages-itineraries/runs": {
            "post": {
                "operationId": "runs-sync-devpartners-virgin-voyages-itineraries",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/devpartners~virgin-voyages-itineraries/run-sync": {
            "post": {
                "operationId": "run-sync-devpartners-virgin-voyages-itineraries",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "Virgin Voyages find-a-voyage URLs to scrape. Query filters are preserved and the fields below are added to each URL.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "dateFrom": {
                        "title": "Sailing date from",
                        "type": "string",
                        "description": "Earliest sailing date to include. Uses Virgin's dateFrom query filter."
                    },
                    "dateTo": {
                        "title": "Sailing date to",
                        "type": "string",
                        "description": "Latest sailing date to include. Uses Virgin's dateTo query filter."
                    },
                    "ships": {
                        "title": "Ships",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Limit results to selected Virgin Voyages ships.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "BR",
                                "RS",
                                "SC",
                                "VL"
                            ],
                            "enumTitles": [
                                "Brilliant Lady",
                                "Resilient Lady",
                                "Scarlet Lady",
                                "Valiant Lady"
                            ]
                        }
                    },
                    "homePorts": {
                        "title": "Departs from",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Limit results to selected departure home ports.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "ATH",
                                "BCN",
                                "BOY",
                                "CIV",
                                "LAX",
                                "MIA",
                                "PME",
                                "SEA",
                                "SJU",
                                "VAN"
                            ],
                            "enumTitles": [
                                "Athens (Piraeus)",
                                "Barcelona",
                                "New York City, New York",
                                "Rome (Civitavecchia)",
                                "Los Angeles, California",
                                "Miami, Florida",
                                "Portsmouth, United Kingdom",
                                "Seattle, Washington",
                                "San Juan, Puerto Rico",
                                "Vancouver, British Columbia"
                            ]
                        }
                    },
                    "durations": {
                        "title": "Durations",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Limit results by voyage length in nights.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "1-3",
                                "4",
                                "5",
                                "6",
                                "7",
                                "8",
                                "9-14",
                                "15+"
                            ],
                            "enumTitles": [
                                "1-3 nights",
                                "4 nights",
                                "5 nights",
                                "6 nights",
                                "7 nights",
                                "8 nights",
                                "9-14 nights",
                                "15+ nights"
                            ]
                        }
                    },
                    "maxItems": {
                        "title": "# of results to return",
                        "minimum": 1,
                        "maximum": 250,
                        "type": "integer",
                        "description": "Stops after this many sailing-date rows.",
                        "default": 25
                    },
                    "includeDetails": {
                        "title": "Fetch detail pages",
                        "type": "boolean",
                        "description": "Fetch public fullCruiseDetails pages for richer day-by-day ports of call.",
                        "default": true
                    },
                    "maxDetailPages": {
                        "title": "Maximum detail pages",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Caps public fullCruiseDetails requests by package code. Use 0 for no limit.",
                        "default": 25
                    },
                    "currency": {
                        "title": "Currency label",
                        "type": "string",
                        "description": "Currency label to attach to parsed public prices.",
                        "default": "USD"
                    },
                    "requestDelayMillis": {
                        "title": "Request delay",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Delay between Virgin Voyages requests.",
                        "default": 750
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
