# Professional Cycling Results & Classifications (`trovevault/professional-cycling-results-classifications`) Actor

Returns cycling race winners, stage results, GC, points, mountains, youth, and team classifications. Export data, run via API, schedule and monitor runs, or integrate with other tools.

- **URL**: https://apify.com/trovevault/professional-cycling-results-classifications.md
- **Developed by:** [Trove Vault](https://apify.com/trovevault) (community)
- **Categories:** News, Other, Social media
- **Stats:** 3 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.85 / 1,000 cyclists

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## Professional Cycling Results & Classifications

Professional Cycling Results & Classifications returns structured race results from a race name and year. Choose a race, select the edition year, pick the result scope, and get clean rows for winners, general classification, points classification, mountains classification, youth classification, team classification, and stage results.

This actor is built for users who want cycling data as a finished information product. You do not need to collect result links first. The actor resolves the selected race internally, normalizes the data, and returns a consistent dataset that can feed fantasy cycling tools, editorial databases, dashboards, betting models, or personal cycling archives.

### Why Use This Actor

- Look up a race by name and year instead of managing result-page URLs.
- Get winners across classifications and stages in one run.
- Export rows that are easy to filter by race, year, result type, classification, stage, rank, rider, and team.
- Use a compact winners-only mode for fast answers or a fuller mode for analytics.
- Append rows to an existing Apify dataset with `datasetId` for pipeline workflows.

### What It Produces

The actor can return:

- race classification winners
- top N general classification rows
- top N points, mountains, youth, and team classification rows when available
- stage winners
- top N stage positions when requested

Output is intentionally clean. Public dataset rows do not include source links, diagnostic warnings, scrape timestamps, or error rows. Operational details are kept in logs and the `RUN_SUMMARY` key-value store record.

### Use Cases

- Fantasy cycling platforms importing race winners and stage results.
- Sports journalists checking winners and top rankings for a race edition.
- Cycling analysts building race history tables.
- Betting and prediction tools comparing rider results by race and stage.
- Fans maintaining personal cycling stats or dashboards.

### How To Use

1. Choose a race from the Race dropdown.
2. Enter the race year, for example `2024`.
3. Choose the result scope.
4. Set the maximum rank per classification.
5. Run the actor and download the dataset as JSON, CSV, Excel, or through the API.

If a race is not in the dropdown, choose `Other race` and fill `Custom Race Name`. Custom races are resolved by name and may be less reliable than curated dropdown races.

### Input Example

```json
{
  "raceName": "Tour de France",
  "year": 2024,
  "resultScope": "winners_only",
  "maxRankPerClassification": 3,
  "includeStagePositions": true
}
````

### Input Reference

| Field | Type | Description |
| --- | --- | --- |
| `raceName` | string | Race selected from the curated dropdown. |
| `customRaceName` | string | Optional race name used only when `raceName` is `Other race`. |
| `year` | integer | Four-digit race edition year. |
| `resultScope` | string | `winners_only`, `classifications`, `stage_results`, or `full_race`. |
| `maxRankPerClassification` | integer | Highest rank returned per classification or stage. |
| `includeStagePositions` | boolean | Return top stage positions when stage results are requested. |
| `datasetId` | string | Optional existing Apify dataset ID to append results to. |
| `runId` | string | Optional workflow ID copied into each output row. |

### Output Example

```json
{
  "raceName": "Tour de France",
  "raceYear": 2024,
  "resultScope": "winners_only",
  "resultType": "classification",
  "classificationType": "general",
  "rank": 1,
  "riderName": "Tadej Pogacar",
  "riderNationality": "Slovenia",
  "teamName": "UAE Team Emirates",
  "time": "83:38:56",
  "winner": true
}
```

### Output Reference

| Field | Description |
| --- | --- |
| `raceName` | Race name selected or resolved for the run. |
| `raceYear` | Race edition year. |
| `resultScope` | Scope selected in the input. |
| `resultType` | `classification` or `stage`. |
| `classificationType` | `general`, `points`, `mountains`, `youth`, `teams`, or `stage`. |
| `stageNumber` | Stage number for stage rows. |
| `stageName` | Stage name or route label when available. |
| `stageDate` | Stage date when available. |
| `rank` | Position in the classification or stage. |
| `riderName` | Rider name for rider-level rows. |
| `riderNationality` | Rider nationality when available. |
| `teamName` | Rider team or team classification name. |
| `time` | Recorded time when available. |
| `timeBehind` | Gap to the winner or leader when available. |
| `points` | Classification points when available. |
| `winner` | `true` when `rank` is 1. |
| `runId` | Optional input run ID copied to output rows. |

### API Example

```bash
curl "https://api.apify.com/v2/acts/TroveVault~professional-cycling-results-classifications/runs?waitForFinish=120" \
  -X POST \
  -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "raceName": "Paris-Roubaix",
    "year": 2024,
    "resultScope": "winners_only",
    "maxRankPerClassification": 1
  }'
```

### Limitations

Coverage is strongest for modern professional road races and major events in the curated dropdown. Some older editions, smaller races, discontinued races, or classifications that did not exist for a specific race may return fewer rows. Team, youth, mountains, or points classifications are returned only when the race edition has them available.

The actor is designed to return a clean information dataset. If a race cannot be resolved or no rows are found, check the run log and `RUN_SUMMARY` for operational details.

### FAQ

#### Do I need result-page URLs?

No. Choose a race and year. The actor handles lookup internally.

#### Can I get only winners?

Yes. Use `winners_only` to return classification winners and stage winners.

#### Can I get top 10 classifications?

Yes. Use `classifications` or `full_race` and set `maxRankPerClassification` to `10`.

#### Can I get stage positions?

Yes. Use `stage_results` or `full_race`. Keep `includeStagePositions` enabled.

#### Why are some classifications missing?

Not every race has every classification. One-day races usually do not have GC, points, mountains, youth, or team classifications.

#### Why is the output missing source links?

The actor returns normalized cycling information, not source-navigation data. This keeps the dataset clean for downstream products.

#### What happens if no rows are found?

The run finishes successfully with an empty dataset and records lookup details in `RUN_SUMMARY`.

### Troubleshooting

- Try a major race from the dropdown first, such as Tour de France or Paris-Roubaix.
- Check the year is correct and uses four digits.
- Reduce `maxRankPerClassification` for quick tests.
- Enable Apify Proxy if the run log shows access or network blocks.
- Use `Other race` only when the race is not available in the dropdown.

### Related Actors

Use this actor alongside sports analytics, news-monitoring, and dataset-enrichment actors when building cycling dashboards or editorial workflows.

### Changelog

- `0.1`: Initial TroveVault release with race dropdown, year-based lookup, classifications, stage results, and clean public output.

### Support

Open an issue in the actor discussion tab with the race name, year, selected scope, and run ID.

# Actor input Schema

## `raceName` (type: `string`):

The professional cycling race to retrieve. The actor resolves this race and year internally, then returns normalized classification and stage rows. Choose Other race when a race is missing from the list and fill Custom Race Name. Recommended: start with major races such as Tour de France, Giro d'Italia, Paris-Roubaix, Tour of Flanders, or La Vuelta Ciclista a Espana.

## `customRaceName` (type: `string`):

Optional race name used only when Race is set to Other race. The actor converts the text into an internal race lookup, then retrieves the selected year. Use the official race name where possible, for example Tour Colombia, Tour of Antalya, or Circuit Franco-Belge. Custom names may be less reliable than races from the dropdown.

## `year` (type: `integer`):

Race edition year to retrieve. The actor combines the race and year to find classifications and stage results for that edition. Use four-digit years such as 2024 or 2025. Older editions can be less complete depending on available public records; recent WorldTour races are usually the best starting point.

## `resultScope` (type: `string`):

Controls how much race information is returned. Winners Only returns classification winners and stage winners; Classifications returns ranking rows for GC, points, mountains, youth, and teams; Stage Results returns stage rankings; Full Race combines classifications and stages. Recommended: Winners Only for fast lookups, Full Race for analytics datasets.

## `maxRankPerClassification` (type: `integer`):

Maximum ranking position to return for each classification or stage. The actor keeps rows from rank 1 up to this value, so 1 returns winners and 10 returns top tens. Higher values produce larger datasets and longer runs. Recommended: 1 for dashboards, 10 to 25 for analysis.

## `includeStagePositions` (type: `boolean`):

When enabled, stage scopes return rider positions for each stage up to Max Rank Per Classification. When disabled, stage scopes return only stage winners. This is useful when you want a compact winners dataset but still need all classification winners.

## `proxyConfiguration` (type: `object`):

Proxy settings for race lookup requests. Enable Apify Proxy if public result pages block datacenter traffic or return access errors. Residential proxy can improve success rate but increases run cost, so start with the default for small tests.

## `datasetId` (type: `string`):

ID of an existing Apify dataset to append results to in addition to the default run dataset. The actor writes every public result row to both datasets when this is provided. Leave blank for normal standalone runs.

## `runId` (type: `string`):

Optional pipeline or workflow identifier copied into each output row. Use it to join this dataset with another system, for example fantasy-import-2024-07 or newsroom-tour-preview. Leave blank when you do not need external run tracking.

## Actor input object example

```json
{
  "raceName": "Tour de France",
  "year": 2024,
  "resultScope": "winners_only",
  "maxRankPerClassification": 10,
  "includeStagePositions": true,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("trovevault/professional-cycling-results-classifications").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("trovevault/professional-cycling-results-classifications").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 '{}' |
apify call trovevault/professional-cycling-results-classifications --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=trovevault/professional-cycling-results-classifications",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Professional Cycling Results & Classifications",
        "description": "Returns cycling race winners, stage results, GC, points, mountains, youth, and team classifications. Export data, run via API, schedule and monitor runs, or integrate with other tools.",
        "version": "0.1",
        "x-build-id": "FXswDiberkgrKyZbx"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/trovevault~professional-cycling-results-classifications/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-trovevault-professional-cycling-results-classifications",
                "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/trovevault~professional-cycling-results-classifications/runs": {
            "post": {
                "operationId": "runs-sync-trovevault-professional-cycling-results-classifications",
                "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/trovevault~professional-cycling-results-classifications/run-sync": {
            "post": {
                "operationId": "run-sync-trovevault-professional-cycling-results-classifications",
                "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",
                "required": [
                    "raceName",
                    "year",
                    "resultScope"
                ],
                "properties": {
                    "raceName": {
                        "title": "Race",
                        "enum": [
                            "Tour de France",
                            "Giro d'Italia",
                            "La Vuelta Ciclista a Espana",
                            "Paris-Roubaix",
                            "Ronde van Vlaanderen",
                            "Milano-Sanremo",
                            "Liege-Bastogne-Liege",
                            "Il Lombardia",
                            "Amstel Gold Race",
                            "La Fleche Wallonne",
                            "Strade Bianche",
                            "Paris-Nice",
                            "Tirreno-Adriatico",
                            "Volta Ciclista a Catalunya",
                            "Itzulia Basque Country",
                            "Tour de Romandie",
                            "Criterium du Dauphine",
                            "Tour de Suisse",
                            "Tour de Pologne",
                            "Renewi Tour",
                            "Santos Tour Down Under",
                            "Cadel Evans Great Ocean Road Race",
                            "UAE Tour",
                            "Omloop Nieuwsblad",
                            "E3 Saxo Classic",
                            "Gent-Wevelgem",
                            "Dwars door Vlaanderen",
                            "Eschborn-Frankfurt",
                            "Copenhagen Sprint",
                            "Clasica San Sebastian",
                            "ADAC Cyclassics",
                            "Bretagne Classic",
                            "Grand Prix Cycliste de Quebec",
                            "Grand Prix Cycliste de Montreal",
                            "Tour of Guangxi",
                            "Tour of the Alps",
                            "Volta ao Algarve",
                            "Vuelta a Andalucia",
                            "O Gran Camino",
                            "Tour de Provence",
                            "Tour de Hongrie",
                            "Tour of Norway",
                            "Tour of Slovenia",
                            "Baloise Belgium Tour",
                            "Route d'Occitanie",
                            "Tour de Wallonie",
                            "Deutschland Tour",
                            "Arctic Race of Norway",
                            "Tour of Britain",
                            "Cro Race",
                            "Saudi Tour",
                            "AlUla Tour",
                            "Vuelta a Burgos",
                            "Vuelta a San Juan",
                            "Tour de Langkawi",
                            "Tour of Oman",
                            "Settimana Internazionale Coppi e Bartali",
                            "Giro di Sicilia",
                            "Giro dell'Emilia",
                            "Milano-Torino",
                            "Gran Piemonte",
                            "Tre Valli Varesine",
                            "Coppa Bernocchi",
                            "Coppa Sabatini",
                            "Brussels Cycling Classic",
                            "Grand Prix de Wallonie",
                            "Paris-Tours",
                            "Kuurne-Bruxelles-Kuurne",
                            "Le Samyn",
                            "Scheldeprijs",
                            "Brabantse Pijl",
                            "Famenne Ardenne Classic",
                            "Druivenkoers Overijse",
                            "Tour de l'Ain",
                            "Tour du Limousin",
                            "Tour Poitou-Charentes",
                            "Classic Var",
                            "Faun-Ardeche Classic",
                            "Drome Classic",
                            "Mercan'Tour Classic Alpes-Maritimes",
                            "Mont Ventoux Denivele Challenge",
                            "Other race"
                        ],
                        "type": "string",
                        "description": "The professional cycling race to retrieve. The actor resolves this race and year internally, then returns normalized classification and stage rows. Choose Other race when a race is missing from the list and fill Custom Race Name. Recommended: start with major races such as Tour de France, Giro d'Italia, Paris-Roubaix, Tour of Flanders, or La Vuelta Ciclista a Espana.",
                        "default": "Tour de France"
                    },
                    "customRaceName": {
                        "title": "Custom Race Name",
                        "type": "string",
                        "description": "Optional race name used only when Race is set to Other race. The actor converts the text into an internal race lookup, then retrieves the selected year. Use the official race name where possible, for example Tour Colombia, Tour of Antalya, or Circuit Franco-Belge. Custom names may be less reliable than races from the dropdown."
                    },
                    "year": {
                        "title": "Year",
                        "minimum": 1900,
                        "maximum": 2030,
                        "type": "integer",
                        "description": "Race edition year to retrieve. The actor combines the race and year to find classifications and stage results for that edition. Use four-digit years such as 2024 or 2025. Older editions can be less complete depending on available public records; recent WorldTour races are usually the best starting point.",
                        "default": 2024
                    },
                    "resultScope": {
                        "title": "Result Scope",
                        "enum": [
                            "winners_only",
                            "classifications",
                            "stage_results",
                            "full_race"
                        ],
                        "type": "string",
                        "description": "Controls how much race information is returned. Winners Only returns classification winners and stage winners; Classifications returns ranking rows for GC, points, mountains, youth, and teams; Stage Results returns stage rankings; Full Race combines classifications and stages. Recommended: Winners Only for fast lookups, Full Race for analytics datasets.",
                        "default": "winners_only"
                    },
                    "maxRankPerClassification": {
                        "title": "Max Rank Per Classification",
                        "minimum": 1,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Maximum ranking position to return for each classification or stage. The actor keeps rows from rank 1 up to this value, so 1 returns winners and 10 returns top tens. Higher values produce larger datasets and longer runs. Recommended: 1 for dashboards, 10 to 25 for analysis.",
                        "default": 10
                    },
                    "includeStagePositions": {
                        "title": "Include Stage Positions",
                        "type": "boolean",
                        "description": "When enabled, stage scopes return rider positions for each stage up to Max Rank Per Classification. When disabled, stage scopes return only stage winners. This is useful when you want a compact winners dataset but still need all classification winners.",
                        "default": true
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings for race lookup requests. Enable Apify Proxy if public result pages block datacenter traffic or return access errors. Residential proxy can improve success rate but increases run cost, so start with the default for small tests.",
                        "default": {
                            "useApifyProxy": false
                        }
                    },
                    "datasetId": {
                        "title": "Dataset ID (optional)",
                        "type": "string",
                        "description": "ID of an existing Apify dataset to append results to in addition to the default run dataset. The actor writes every public result row to both datasets when this is provided. Leave blank for normal standalone runs."
                    },
                    "runId": {
                        "title": "Run ID (optional)",
                        "type": "string",
                        "description": "Optional pipeline or workflow identifier copied into each output row. Use it to join this dataset with another system, for example fantasy-import-2024-07 or newsroom-tour-preview. Leave blank when you do not need external run tracking."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
