# Flashscore Betting Odds Extractor (`extractify-labs/flashscore-matches-odds`) Actor

Extract live and opening betting odds from Flashscore for football and basketball. Get odds by bookmaker, bet type, and match for odds comparison, arbitrage detection, and prediction models.

- **URL**: https://apify.com/extractify-labs/flashscore-matches-odds.md
- **Developed by:** [Extractify Labs](https://apify.com/extractify-labs) (community)
- **Categories:** News, Other
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

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

## Flashscore Betting Odds Extractor

Extract live and opening betting odds from Flashscore for football and basketball matches. Get bookmaker-level odds across multiple bet types — 1X2, over/under, Asian handicap, draw no bet, double chance, and European handicap — in a structured JSON format ready for odds comparison, arbitrage detection, and prediction model pipelines. No proxy required.

### Features

- **Multi-bookmaker odds** — Returns all bookmakers available for each match via the Flashscore odds feed
- **8 bet types** — HOME_DRAW_AWAY (1X2), HOME_AWAY (two-way), OVER_UNDER, ASIAN_HANDICAP, DRAW_NO_BET, DOUBLE_CHANCE, EUROPEAN_HANDICAP, BOTH_TEAMS_TO_SCORE
- **Opening odds + live odds** — Both current and opening lines returned per selection, enabling line movement tracking
- **Football and basketball** — Works for any football or basketball match on Flashscore
- **Flexible input** — Accept Flashscore match page URLs or raw match IDs (same IDs output by [Flashscore Extractor](https://apify.com/extractify-labs/flashscore-extractor))
- **Bet type filter** — Limit output to specific bet types to reduce data volume and cost
- **Structured JSON output** — Nested bookmakers → markets → odds hierarchy, suitable for direct database ingestion
- **No proxy required** — Communicates directly with Flashscore's odds API; no residential proxy costs
- **$1 per 1,000 results** — Pay-per-result billing; one result = one match item

### Use Cases

**Odds Comparison Platforms**
Aggregate live and opening odds from multiple bookmakers in a single actor run. The nested bookmakers → markets → odds structure maps cleanly to comparison UI components. Feed results into a database and surface best-price tables in real time.

**Arbitrage Detection**
Identify mispriced markets by comparing odds across bookmakers for the same selection. Opening odds establish the market's initial line; current odds reveal where the market has moved. Example: if Bookmaker A prices Home at 2.10 and Bookmaker B at 2.40, the spread may support a surebet.

**Prediction Model Training**
Use opening odds as the market's consensus probability at match start. Compare your model's implied probability to the market's implied probability to detect edge. Feed `opening_odds` into your baseline and `odds` as the closing line.

**Line Movement Analysis**
Track how bookmakers adjust lines from open to match time. By comparing `opening_odds` with `odds` per selection and bookmaker, you can infer sharp money activity and market direction.

**Real-Time Odds Monitoring**
Schedule actor runs at regular intervals to capture a time series of odds snapshots. Trigger alerts when the difference between current and opening odds exceeds a threshold.

**Sports Media and Content Feeds**
Power odds tickers, matchup preview articles, and editorial content with live bookmaker lines directly from Flashscore.

### Input Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `startUrls` | array | Conditional | — | Flashscore match page URLs. Required if `matchIds` is not provided. Example: `https://www.flashscore.com/match/football/arsenal-west-ham/8Cxbx9Wh/` |
| `matchIds` | array | Conditional | — | Flashscore match IDs (e.g. `["8Cxbx9Wh", "8r8XHz43"]`). These are the same IDs in the `match_id` field of [Flashscore Extractor](https://apify.com/extractify-labs/flashscore-extractor) output. Either `startUrls` or `matchIds` must be provided. |
| `betTypes` | array | No | all types | Filter results to specific bet types. Accepted values: `HOME_DRAW_AWAY`, `HOME_AWAY`, `OVER_UNDER`, `ASIAN_HANDICAP`, `DRAW_NO_BET`, `DOUBLE_CHANCE`, `EUROPEAN_HANDICAP`, `BOTH_TEAMS_TO_SCORE`. Omit to return all available bet types. |
| `maxItems` | integer | No | unlimited | Maximum number of match items to return. Each match is one item. |

> **Note on bookmaker availability:** Bookmakers published for each match depend on the geographic location of the Apify server running the actor. Flashscore validates requests against the actual client IP — this cannot be overridden. When run on Apify's infrastructure, the actor returns bookmakers available in the European/UK region.

#### Example Input

Using match URLs:

```json
{
  "startUrls": [
    { "url": "https://www.flashscore.com/match/football/arsenal-west-ham/8Cxbx9Wh/" }
  ],
  "betTypes": ["HOME_DRAW_AWAY", "OVER_UNDER"],
  "maxItems": 100
}
````

Using match IDs (from Flashscore Extractor output):

```json
{
  "matchIds": ["8Cxbx9Wh", "8r8XHz43"],
  "betTypes": ["HOME_DRAW_AWAY"]
}
```

### Output Format

One item per match. Each item contains top-level match metadata and a `bookmakers` array with nested markets and odds.

#### Top-Level Fields

| Field | Type | Example | Notes |
|-------|------|---------|-------|
| `match_id` | string | `"8Cxbx9Wh"` | Flashscore match ID; cross-reference with Flashscore Extractor |
| `match_url` | string | `"https://www.flashscore.com/match/football/arsenal-west-ham/8Cxbx9Wh/"` | Full URL for `startUrls` input; redirect URL (`/match/?mid=…`) for `matchIds` input |
| `sport` | string | `"football"` | `"football"` or `"basketball"`. Absent when `matchIds` input is used. |
| `scraped_at` | string | `"2026-05-11T15:24:38+00:00"` | ISO 8601 UTC timestamp of extraction |
| `bookmakers` | array | — | Array of bookmaker objects (see below) |

#### Bookmaker Object

| Field | Type | Example | Notes |
|-------|------|---------|-------|
| `bookmaker_id` | integer | `16` | Flashscore internal bookmaker ID |
| `bookmaker_name` | string | `"bet365"` | Bookmaker display name |
| `markets` | array | — | Array of market objects (see below) |

#### Market Object

| Field | Type | Example | Notes |
|-------|------|---------|-------|
| `bet_type` | string | `"HOME_DRAW_AWAY"` | Bet type category (see Input Parameters for full list) |
| `bet_scope` | string | `"FULL_TIME"` | Match period the market covers: `FULL_TIME` = 90 minutes; `FULL_TIME_OVER_TIME` = includes extra time |
| `has_live_betting` | boolean | `false` | Whether in-play odds are available for this market. Always `false` in v1 — see Limitations. |
| `odds` | array | — | Array of odds objects (see below) |

#### Odds Object

| Field | Type | Example | Notes |
|-------|------|---------|-------|
| `selection` | string | `"HOME"`, `"DRAW"`, `"AWAY"`, `"OVER"`, `"UNDER"` | Outcome label |
| `odds` | float | `2.1` | Current decimal odds |
| `opening_odds` | float or null | `2.25` | Opening line at market open; null if not available |
| `handicap` | float or null | `2.5` | Handicap value for OVER\_UNDER and ASIAN\_HANDICAP bets; null for all other bet types |
| `is_active` | boolean | `true` | Whether odds are currently live |

#### Example Output

```json
{
  "match_id": "8Cxbx9Wh",
  "match_url": "https://www.flashscore.com/match/football/arsenal-west-ham/8Cxbx9Wh/",
  "sport": "football",
  "scraped_at": "2026-05-11T15:24:38.247353+00:00",
  "bookmakers": [
    {
      "bookmaker_id": 16,
      "bookmaker_name": "bet365",
      "markets": [
        {
          "bet_type": "HOME_DRAW_AWAY",
          "bet_scope": "FULL_TIME",
          "has_live_betting": false,
          "odds": [
            {
              "selection": "HOME",
              "odds": 6.0,
              "opening_odds": 5.5,
              "handicap": null,
              "is_active": true
            },
            {
              "selection": "DRAW",
              "odds": 4.2,
              "opening_odds": 4.33,
              "handicap": null,
              "is_active": true
            },
            {
              "selection": "AWAY",
              "odds": 1.55,
              "opening_odds": 1.62,
              "handicap": null,
              "is_active": true
            }
          ]
        },
        {
          "bet_type": "OVER_UNDER",
          "bet_scope": "FULL_TIME",
          "has_live_betting": false,
          "odds": [
            {
              "selection": "OVER",
              "odds": 1.87,
              "opening_odds": 1.9,
              "handicap": 2.5,
              "is_active": true
            },
            {
              "selection": "UNDER",
              "odds": 1.87,
              "opening_odds": 1.85,
              "handicap": 2.5,
              "is_active": true
            }
          ]
        }
      ]
    }
  ]
}
```

### Chaining with Flashscore Extractor

This actor chains directly with [Flashscore Extractor](https://apify.com/extractify-labs/flashscore-extractor). The `match_id` field in Flashscore Extractor output is the same ID used by the `matchIds` input here. A typical pipeline:

1. Run **Flashscore Extractor** with your sport, day offset, and league filter to get a list of match items
2. Extract the `match_id` values from the output
3. Pass them as `matchIds` to **Flashscore Betting Odds Extractor** to get betting odds per match

No additional URL construction is needed. Team names and match metadata from Flashscore Extractor can be joined to this actor's output using `match_id`.

### Limitations

- **No team names in output** — Home team and away team names are not available from the odds API without an additional request per match. To get team names, use [Flashscore Extractor](https://apify.com/extractify-labs/flashscore-extractor) and join on `match_id`. This is a known v1 limitation.
- **No match date or league name** — Match date/time and competition name are not included in v1 output. Join with Flashscore Extractor output using `match_id` to enrich your dataset.
- **`sport` absent for `matchIds` input** — When you provide match IDs rather than URLs, the `sport` field is not present in the output (there is no URL to parse the sport from). Use `startUrls` input if you need the sport field, or join with Flashscore Extractor on `match_id`.
- **`has_live_betting` always `false`** — The current API response does not include in-play betting availability. This field is present in the output schema for forward compatibility and will be populated in a future version.
- **Bookmaker availability is geo-fixed** — The bookmakers returned are those available from Apify's server location (European/UK region). This cannot be changed via input parameters.
- **Football and basketball only** — Other sports available on Flashscore (tennis, hockey, etc.) may work but are not tested or supported in v1.
- **Point-in-time snapshot** — Each run captures odds at the moment of execution. The actor does not stream or poll odds changes. For continuous monitoring, schedule repeated runs.
- **No historical odds** — Odds from completed matches are not retained after the match ends. Archive your results if you need historical data.

### FAQ

**Q: Why are some bookmakers not showing in my results?**

A: Bookmaker availability on Flashscore is determined by the geographic location of the server making the request. The Flashscore odds API validates requests against the actual client IP address, and there is no way to override this. When you run this actor on Apify's infrastructure, you will receive bookmakers available in the European/UK region.

**Q: What is the difference between `odds` and `opening_odds`?**

A: `opening_odds` is the line published when the betting market first opened (typically days before the match). `odds` is the current line at the time the actor ran. The difference between them reveals line movement: if `opening_odds = 2.5` and `odds = 2.1`, the bookmaker has moved the line significantly, which often signals sharp money on the other side. For arbitrage detection, compare `odds` across bookmakers. For line movement analysis, compare `opening_odds` to `odds` for each selection.

**Q: Does this actor require a proxy?**

A: No. This actor communicates directly with Flashscore's odds API without a proxy. No residential proxy costs apply.

**Q: Why is `sport` missing from some items?**

A: When you provide match IDs via the `matchIds` parameter rather than full match URLs, there is no URL to parse the sport name from, so the `sport` field is absent. To get the sport field in output, either use `startUrls` with full Flashscore match page URLs, or join with [Flashscore Extractor](https://apify.com/extractify-labs/flashscore-extractor) output on `match_id`.

**Q: How do I get team names in the output?**

A: Team names are not available from the odds API endpoint in v1. Run [Flashscore Extractor](https://apify.com/extractify-labs/flashscore-extractor) to get match metadata (which includes `home_team_name` and `away_team_name`) and join the two datasets on `match_id`.

**Q: What bet types are supported?**

A: Eight bet types are supported: `HOME_DRAW_AWAY` (1X2), `HOME_AWAY` (two-way, common for basketball), `OVER_UNDER`, `ASIAN_HANDICAP`, `DRAW_NO_BET`, `DOUBLE_CHANCE`, `EUROPEAN_HANDICAP`, and `BOTH_TEAMS_TO_SCORE`. The actual types available for a given match depend on what Flashscore bookmakers publish. Use the `betTypes` input parameter to filter to specific types.

**Q: One of my match IDs returned an empty `bookmakers` array. Why?**

A: If a match ID is invalid or the match has no odds data on Flashscore (for example, the match has not opened for betting, or it is from a league that bookmakers do not cover), the actor returns an item with `bookmakers: []` and continues processing remaining matches. No error is raised and the actor does not stop.

### Related Actors

- **[Flashscore Extractor](https://apify.com/extractify-labs/flashscore-extractor)** — Extract match listings, scores, fixtures, and standings from Flashscore. Use this to discover match IDs and metadata, then feed them into this actor for odds data.
- **[Flashscore Results](https://apify.com/extractify-labs/flashscore-results)** — Historical match results and scores. Pair with odds data to build post-match analysis datasets and backtesting pipelines.
- **[Flashscore Team Fixtures](https://apify.com/extractify-labs/flashscore-team-fixtures)** — Upcoming and past fixtures for a specific team. Use to identify which matches to pull odds for.
- **[Flashscore Countries & Leagues](https://apify.com/extractify-labs/flashscore-countries-leagues)** — Discover all countries, leagues, and sports available on Flashscore.

# Actor input Schema

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

Flashscore match URLs to extract odds for. Either startUrls or matchIds must be provided. Each URL must contain '/match/' in the path (e.g., https://www.flashscore.com/match/football/leeds-tUxUbLR2/tottenham-UDg08Ohm/?mid=nclkvV1t).

## `matchIds` (type: `array`):

Flashscore match IDs to extract odds for (alternative to startUrls). These are the same match\_id values output by the flashscore-extractor actor. Either startUrls or matchIds must be provided.

## `betTypes` (type: `array`):

Filter which bet types to include. Valid values: HOME\_DRAW\_AWAY (football 1X2), HOME\_AWAY (two-way, e.g. basketball), OVER\_UNDER (totals), ASIAN\_HANDICAP (spread), DRAW\_NO\_BET, DOUBLE\_CHANCE, EUROPEAN\_HANDICAP, BOTH\_TEAMS\_TO\_SCORE. Leave empty to include all bet types.

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

Maximum number of match items to extract. Leave empty for no limit.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.flashscore.com/match/football/arsenal-west-ham/8Cxbx9Wh/"
    }
  ],
  "matchIds": [],
  "betTypes": []
}
```

# 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.flashscore.com/match/football/arsenal-west-ham/8Cxbx9Wh/"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("extractify-labs/flashscore-matches-odds").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.flashscore.com/match/football/arsenal-west-ham/8Cxbx9Wh/" }] }

# Run the Actor and wait for it to finish
run = client.actor("extractify-labs/flashscore-matches-odds").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.flashscore.com/match/football/arsenal-west-ham/8Cxbx9Wh/"
    }
  ]
}' |
apify call extractify-labs/flashscore-matches-odds --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=extractify-labs/flashscore-matches-odds",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Flashscore Betting Odds Extractor",
        "description": "Extract live and opening betting odds from Flashscore for football and basketball. Get odds by bookmaker, bet type, and match for odds comparison, arbitrage detection, and prediction models.",
        "version": "1.0",
        "x-build-id": "H8YdJQdniCkc3GxxM"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/extractify-labs~flashscore-matches-odds/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-extractify-labs-flashscore-matches-odds",
                "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/extractify-labs~flashscore-matches-odds/runs": {
            "post": {
                "operationId": "runs-sync-extractify-labs-flashscore-matches-odds",
                "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/extractify-labs~flashscore-matches-odds/run-sync": {
            "post": {
                "operationId": "run-sync-extractify-labs-flashscore-matches-odds",
                "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": "Match URLs",
                        "type": "array",
                        "description": "Flashscore match URLs to extract odds for. Either startUrls or matchIds must be provided. Each URL must contain '/match/' in the path (e.g., https://www.flashscore.com/match/football/leeds-tUxUbLR2/tottenham-UDg08Ohm/?mid=nclkvV1t).",
                        "default": [],
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "matchIds": {
                        "title": "Match IDs",
                        "type": "array",
                        "description": "Flashscore match IDs to extract odds for (alternative to startUrls). These are the same match_id values output by the flashscore-extractor actor. Either startUrls or matchIds must be provided.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "betTypes": {
                        "title": "Bet Types",
                        "type": "array",
                        "description": "Filter which bet types to include. Valid values: HOME_DRAW_AWAY (football 1X2), HOME_AWAY (two-way, e.g. basketball), OVER_UNDER (totals), ASIAN_HANDICAP (spread), DRAW_NO_BET, DOUBLE_CHANCE, EUROPEAN_HANDICAP, BOTH_TEAMS_TO_SCORE. Leave empty to include all bet types.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Maximum Items",
                        "type": "integer",
                        "description": "Maximum number of match items to extract. Leave empty for no limit."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
