# Flashscore Basketball Live Matches (`extractify-labs/flashscore-basketball-live-matches`) Actor

Scrape all live basketball matches from Flashscore. Returns scores, quarter breakdowns, per-quarter stats, starting five lineups, referees, and optional live 1x2 odds for every in-progress game — NBA, EuroLeague, ACB, and more. No proxy required.

- **URL**: https://apify.com/extractify-labs/flashscore-basketball-live-matches.md
- **Developed by:** [Extractify Labs](https://apify.com/extractify-labs) (community)
- **Categories:** News, Other
- **Stats:** 2 total users, 1 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 Basketball Live Matches** scrapes every currently live basketball match from Flashscore and returns fully structured data — live scores, quarter-by-quarter breakdowns, team statistics, starting lineups, and optional live 1×2 odds — in a single on-demand run. No proxy required. Designed to run on a 1–5 minute [Apify schedule](https://docs.apify.com/platform/schedules) as a real-time basketball data feed.

### What data does this actor extract?

Each run returns one dataset item per live match. Every item contains 27 structured fields covering match identity, score, quarter model, venue, officials, and optional deep data.

#### Core match fields

| Field | Type | Example |
|-------|------|---------|
| `match_id` | string | `"lhiFkQyH"` |
| `match_url` | string | `"https://www.flashscore.com/match/basketball/..."` |
| `status` | string | `"LIVE"` |
| `match_period` | string or null | `"3rd Quarter"` |
| `quarter_minute` | integer or null | `7` |
| `kickoff_time` | string (ISO 8601 UTC) | `"2026-04-18T19:30:00Z"` |
| `home_team` | string | `"Boston Celtics"` |
| `away_team` | string | `"Miami Heat"` |
| `home_team_id` | string or null | `"vJj5pktK"` |
| `away_team_id` | string or null | `"A1syuT3s"` |
| `home_score` | integer | `78` |
| `away_score` | integer | `74` |
| `quarter_scores` | array of objects | `[{"home": 25, "away": 18}, {"home": 28, "away": 22}, {"home": 25, "away": 34}]` |
| `round` | string or null | `"Regular Season"` |
| `has_live_stream` | boolean | `false` |
| `league` | string | `"USA: NBA"` |
| `league_id` | string | `"EcZwBi3N"` |
| `league_url` | string | `"/basketball/usa/nba/"` |
| `venue` | string or null | `"TD Garden"` |
| `venue_city` | string or null | `"Boston"` |
| `referees` | array of strings | `["Thompson A.", "Davis R.", "Wilson C."]` |
| `scraped_at` | string (ISO 8601 UTC) | `"2026-04-18T21:32:07Z"` |

##### Basketball-specific fields explained

**`quarter_scores`** — An array of per-quarter score objects, one entry per completed or in-progress quarter. Each object has `home` and `away` integer keys. The array grows as each quarter is played: a match in Q3 has three entries; a match that went to overtime has five entries. Use this to build quarter-by-quarter score visualisations.

**`quarter_minute`** — The elapsed time within the current quarter (0–10 minutes for regulation quarters; 0–5 minutes for overtime). This resets to 0 at the start of each new quarter. This differs from football's cumulative `match_minute`.

**`match_period`** — The current period label. Values: `"1st Quarter"`, `"2nd Quarter"`, `"3rd Quarter"`, `"4th Quarter"`, `"Overtime"`, or a break label such as `"Quarter Break"`. Null for matches in an undefined state.

**`referees`** — Basketball games have up to 3 officials. The array contains the name of each referee present in the feed. The array may be empty if the feed does not carry official names for the match.

#### Statistics array

`statistics` is populated when `includeStatistics` is `true` (the default). Each entry is one stat row for one period:

| Field | Type | Example |
|-------|------|---------|
| `period` | string | `"Match"`, `"1st Quarter"`, `"2nd Quarter"` |
| `stat_name` | string | `"Field Goals"`, `"3-Point %"`, `"Rebounds"` |
| `home_value` | string | `"32/68"` |
| `away_value` | string | `"28/71"` |

Basketball statistics include field goals (attempted/made), 3-point percentage, free throw percentage, rebounds (offensive and defensive), assists, blocks, steals, turnovers, and personal fouls — broken down by quarter and match total.

#### Lineups object

`lineups` is populated when `includeLineups` is `true` (the default):

```json
{
  "home": [
    {
      "player_id": "rwVQyUb6",
      "name": "Jayson",
      "surname": "Tatum",
      "shirt_number": 0,
      "position": "Forward",
      "position_badge": "F",
      "nationality": "USA",
      "rating": "8.1",
      "is_starter": true,
      "in_match_event": null
    }
  ],
  "away": [ ... ]
}
````

Each player object includes: `player_id`, `name`, `surname`, `shirt_number`, `position`, `position_badge`, `nationality`, `rating`, `is_starter`, `in_match_event`.

**`is_starter`** — `true` for the starting five players on each team (slot index ≤ 4 in the feed). Bench players have `is_starter: false`. Basketball uses a starting five, not a starting eleven as in football.

#### Odds object

`odds` is populated when `includeOdds` is `true`. **Availability varies significantly by league — NBA matches are the most likely to be covered; regional leagues (EuroLeague, CBA, NBB, ACB) may return `null` even when the option is enabled.**

```json
{
  "bookmaker_id": "8",
  "home": { "current": "1.85", "opening": "1.90", "change": "DOWN", "previous": "1.90" },
  "draw": { "current": "8.50", "opening": "8.00", "change": "UP", "previous": "8.00" },
  "away": { "current": "2.10", "opening": "2.05", "change": "UP", "previous": "2.05" }
}
```

`change` is `"UP"`, `"DOWN"`, or `null` (no movement since opening).

### Sample output

One complete item from a real run (EuroLeague match, live in Q3):

```json
{
  "match_id": "lhiFkQyH",
  "match_url": "https://www.flashscore.com/match/basketball/boston-celtics-vJj5pktK/miami-heat-A1syuT3s/?mid=lhiFkQyH",
  "status": "LIVE",
  "match_period": "3rd Quarter",
  "quarter_minute": 7,
  "kickoff_time": "2026-04-18T19:30:00Z",
  "home_team": "Barcelona",
  "away_team": "Real Madrid",
  "home_team_id": "vJj5pktK",
  "away_team_id": "A1syuT3s",
  "home_score": 78,
  "away_score": 74,
  "quarter_scores": [
    { "home": 25, "away": 18 },
    { "home": 28, "away": 22 },
    { "home": 25, "away": 34 }
  ],
  "round": "Regular Season",
  "has_live_stream": false,
  "league": "SPAIN: ACB",
  "league_id": "EcZwBi3N",
  "league_url": "/basketball/spain/acb/",
  "venue": "Palau Blaugrana",
  "venue_city": "Barcelona",
  "referees": ["Thompson A.", "Davis R.", "Wilson C."],
  "statistics": [
    { "period": "Match", "stat_name": "Field Goals", "home_value": "32/68", "away_value": "28/71" },
    { "period": "Match", "stat_name": "3-Point %", "home_value": "38%", "away_value": "41%" },
    { "period": "Match", "stat_name": "Rebounds", "home_value": "34", "away_value": "29" },
    { "period": "Match", "stat_name": "Assists", "home_value": "18", "away_value": "21" },
    { "period": "1st Quarter", "stat_name": "Field Goals", "home_value": "11/22", "away_value": "8/20" },
    { "period": "2nd Quarter", "stat_name": "Field Goals", "home_value": "12/24", "away_value": "9/25" }
  ],
  "lineups": {
    "home": [
      { "player_id": "rwVQyUb6", "name": "Nikola", "surname": "Mirotic", "shirt_number": 10, "position": "Forward", "position_badge": "F", "nationality": "Spain", "rating": "7.8", "is_starter": true, "in_match_event": null },
      { "player_id": "kQ9mRpXv", "name": "Alex", "surname": "Abrines", "shirt_number": 0, "position": "Guard", "position_badge": "G", "nationality": "Spain", "rating": "7.1", "is_starter": false, "in_match_event": null }
    ],
    "away": [
      { "player_id": "d2UAI37M", "name": "Sergio", "surname": "Llull", "shirt_number": 23, "position": "Guard", "position_badge": "G", "nationality": "Spain", "rating": "8.2", "is_starter": true, "in_match_event": null }
    ]
  },
  "odds": {
    "bookmaker_id": "8",
    "home": { "current": "1.85", "opening": "1.90", "change": "DOWN", "previous": "1.90" },
    "draw": { "current": "8.50", "opening": "8.00", "change": "UP", "previous": "8.00" },
    "away": { "current": "2.10", "opening": "2.05", "change": "UP", "previous": "2.05" }
  },
  "scraped_at": "2026-04-18T21:32:07Z"
}
```

### Quick start

1. Open the actor on the [Apify Store](https://apify.com/extractify-labs/flashscore-basketball-live-matches).
2. Leave all parameters at their defaults to get every live match with statistics and lineups included.
3. (Optional) Set `includeOdds` to `true` to add live 1×2 odds per match.
4. (Optional) Set `maxItems` to a small number (e.g. `2`) for a test run.
5. Click **Start**. The actor completes in seconds and returns one dataset item per live match.
6. Download results as **JSON, CSV, Excel, or XML** from the Dataset tab.

**Sample input (test run with all data):**

```json
{
  "includeStatistics": true,
  "includeLineups": true,
  "includeOdds": true,
  "maxItems": 3
}
```

### Input parameters

All parameters are optional. Leave everything at the defaults to return all currently live matches with statistics and lineups.

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `includeStatistics` | boolean | `true` | Fetch per-quarter team statistics: field goals, 3-point %, free throws, rebounds, assists, blocks, steals, turnovers, and fouls broken down by quarter and match total. Adds one API call per live match. Set to `false` for score-only runs. |
| `includeLineups` | boolean | `true` | Fetch starting five and bench players for both teams: shirt numbers, positions, ratings, and nationalities. Adds one API call per live match. Set to `false` for score-only runs. |
| `includeOdds` | boolean | `false` | Fetch live 1×2 odds with current value, opening value, and movement direction. Adds one API call per live match. **Coverage varies by league — NBA is most likely covered; regional leagues may return `null`.** |
| `maxItems` | integer | unlimited | Maximum number of live matches to return. Leave unset to return all currently live matches. Minimum: 1. Useful for test runs. |
| `proxyConfiguration` | object | `{"useApifyProxy": false}` | Apify proxy configuration. **Not needed for normal use** — Flashscore APIs do not block direct requests. Enable only if your network restricts outbound connections. |

### Scheduling for real-time monitoring

This actor is designed to be run on a recurring schedule to keep your data continuously up to date.

**Recommended cadence:** every 1–5 minutes during live game windows. A full run with all options enabled for a typical slate of live basketball games makes approximately 5 HTTP requests per match and typically completes in under 30 seconds.

To set up a schedule:

1. Open [Apify Scheduler](https://docs.apify.com/platform/schedules) in the Apify Console.
2. Create a new schedule pointing to this actor.
3. Set the interval to every 1–5 minutes using a cron expression (e.g. `*/2 * * * *` for every 2 minutes).
4. Each run replaces the previous dataset — or use the [Apify Dataset API](https://docs.apify.com/api/v2#/reference/datasets) to append results to your own storage.

#### How often should I run this actor?

For live scores and quarter breakdowns, every 1–2 minutes is sufficient. Statistics and lineups update less frequently — every 3–5 minutes is appropriate. If you have `includeOdds: true`, odds can change quickly during games; every 1 minute is recommended for near-real-time odds tracking. Basketball games run 2–2.5 hours, so a typical live monitoring window is shorter than football.

### Use cases

**Live scores dashboard:** Schedule the actor every 2 minutes to power a basketball dashboard showing all in-progress matches worldwide. Each item includes the current score, quarter, elapsed time within the quarter, and the cumulative quarter-by-quarter breakdown — everything needed to render a live scorecard.

**In-play betting and odds tracking:** Enable `includeOdds` and run every 1–2 minutes to feed your in-play betting model with live 1×2 odds alongside field goal percentages, rebounds, and turnovers. The quarter-by-quarter score history provides context for momentum shifts.

**Fantasy sports platforms:** Combine lineups (starting five with shirt numbers, positions, and ratings) with per-quarter statistics to power real-time fantasy scoring during live games. The `is_starter` flag identifies the starting five so your scoring engine can apply the correct multipliers.

**Sports media and live commentary apps:** Monitor `quarter_scores` and `quarter_minute` to surface quarter-end scores and mid-quarter updates in broadcast applications. The `referees` array (up to 3 officials) and venue details round out the context for editorial content.

**Betting analytics research:** Capture match statistics for all available basketball leagues worldwide — not just NBA. Over a full basketball day, the actor covers hundreds of matches across Europe, Americas, and Asia. Use per-quarter stat breakdowns to build in-game momentum models.

**Data archiving and training sets:** Run the actor throughout a game day and collect the output snapshots. Each snapshot records the in-progress state of all live matches at that moment. A series of snapshots across a game constitutes a time-series record suitable for model training.

### Notes and limitations

- **Basketball only.** This actor extracts basketball matches exclusively using Flashscore's basketball feed (`sport_id=3`). For live football matches with events, xG, and possession, use the sibling [Flashscore Live Matches](https://apify.com/extractify-labs/flashscore-live-matches) actor.
- **Live matches only.** The actor returns only currently in-progress matches (`status: "LIVE"`). For historical results, upcoming fixtures, or a wider date window, use the [Flashscore Extractor](https://apify.com/extractify-labs/flashscore-extractor) actor.
- **No play-by-play events.** The basketball feed does not provide basket-by-basket or foul-by-foul event timelines. The `events` field is intentionally absent. Use the `quarter_scores` array for scoring progression.
- **Odds coverage varies by league.** Live 1×2 odds are most reliably available for NBA matches. Regional leagues (EuroLeague, CBA, NBB, ACB) may return `null` even when `includeOdds: true`. This is a Flashscore data availability constraint, not an actor bug.
- **Referees may be absent.** The `referees` field is always an array but may be empty if the feed does not provide official names for the match.
- **Quarter scores grow over time.** The `quarter_scores` array reflects quarters completed or in progress at the time of the run. A match in Q1 returns one entry; a match that finished overtime returns five entries.
- **One item per match, not a single JSON blob.** Each live match is its own dataset record, enabling Apify's native per-record webhooks, dataset filtering, and pagination.
- **Point-in-time snapshot.** Each run captures the current state of all live matches at that moment. The actor does not push updates continuously. Schedule it for polling-based monitoring.

### Frequently asked questions

#### How often should I run this actor to get live basketball scores?

Every 1–2 minutes is a good baseline for live scores and quarter data. If you only need quarter-end snapshots, every 5 minutes is sufficient. For near-real-time odds, run every 1 minute. Basketball games last 2–2.5 hours, so a typical evening monitoring window covers 3–4 game hours.

#### Does this actor cover NBA matches?

Yes. NBA is the most common league returned during North American prime time. The actor covers all basketball leagues indexed by Flashscore — NBA, EuroLeague, Liga ACB, CBA, NBB, and dozens of domestic leagues worldwide. The feed returns all leagues currently live at the time of the run; there is no league filter in the current version.

#### Why are odds empty (`null`) for some matches?

Odds availability depends on the geographic region of the Apify server running the actor, and on whether Flashscore serves bookmaker data for that league. NBA odds are most likely to be present. For regional leagues, `odds` may be `null` even when `includeOdds: true`. This is a Flashscore data constraint. If live odds appear when you browse Flashscore directly from your own network, they will likely be present here too.

#### How is `quarter_minute` different from a match clock?

`quarter_minute` is the elapsed time within the current quarter only (0–10 minutes for regulation quarters, 0–5 for overtime). It resets to 0 at the start of each new quarter. This is different from football's cumulative `match_minute`, which counts from kickoff without resetting. Use `match_period` + `quarter_minute` together to locate the exact point in the game.

#### Does this actor work without a proxy?

Yes. The actor fetches directly from Flashscore's internal feed APIs — no residential or datacenter proxy is required. You pay only for Apify compute, not proxy bandwidth. Enable the `proxyConfiguration` option only if your network restricts outbound connections.

#### How is this different from the multi-sport FlashScore Scraper Live actor?

Multi-sport actors prioritise breadth across many sports but return shallower data per match. This actor is basketball-specific and returns the full depth: quarter-by-quarter scores with individual quarter objects, per-quarter team statistics, the starting five with bench players, and 3-official referees arrays. If you only need basketball and want the complete picture, this actor is the right choice.

#### How is this different from the Flashscore Extractor or Flashscore Live Matches actors?

The [Flashscore Extractor](https://apify.com/extractify-labs/flashscore-extractor) covers historical results and upcoming fixtures but returns only basic listing data (teams, score, status). The [Flashscore Live Matches](https://apify.com/extractify-labs/flashscore-live-matches) actor covers live football only with goal events, xG, and possession stats.

This actor specialises in **live basketball depth**: quarter-by-quarter breakdowns, basketball-specific statistics (field goals, rebounds, assists), starting five lineups, and live odds — for every basketball match in progress worldwide.

### Related actors

- [Flashscore Live Matches](https://apify.com/extractify-labs/flashscore-live-matches) — Live football matches with goal/card/substitution events, xG, possession, starting XI, and live 1×2 odds. Use this for live football; use the basketball actor for live basketball.
- [Flashscore Extractor](https://apify.com/extractify-labs/flashscore-extractor) — Football and basketball match listings, results, and fixtures across a 14-day window. Use this for historical and scheduled data; use the live matches actors for real-time in-progress depth.

# Actor input Schema

## `includeStatistics` (type: `boolean`):

Fetch per-quarter team statistics (field goals, 3-point %, free throws, rebounds, assists, blocks, turnovers, steals, fouls broken down by quarter and match total). Requires one extra API call per live match. Set to false for score-only runs to reduce request volume.

## `includeLineups` (type: `boolean`):

Fetch starting five, bench players, shirt numbers, positions, ratings, and nationalities for both teams. Requires one extra API call per live match. Set to false for score-only runs.

## `includeOdds` (type: `boolean`):

Fetch live 1x2 odds (current value, opening value, and movement direction). Requires one extra API call per live match. Basketball odds coverage varies by league — NBA matches are likely covered; regional leagues (EuroLeague, NBB, CBA, ACB) may return empty odds. This is expected behaviour, not an error.

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

Maximum number of live matches to return. Leave unset to return all currently live matches. Useful for test runs.

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

Apify proxy configuration. Not needed for normal use — Flashscore APIs do not block direct requests. Enable only if running from a restricted network.

## Actor input object example

```json
{
  "includeStatistics": true,
  "includeLineups": true,
  "includeOdds": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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("extractify-labs/flashscore-basketball-live-matches").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("extractify-labs/flashscore-basketball-live-matches").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 extractify-labs/flashscore-basketball-live-matches --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Flashscore Basketball Live Matches",
        "description": "Scrape all live basketball matches from Flashscore. Returns scores, quarter breakdowns, per-quarter stats, starting five lineups, referees, and optional live 1x2 odds for every in-progress game — NBA, EuroLeague, ACB, and more. No proxy required.",
        "version": "1.0",
        "x-build-id": "9Hys9mQb8Auw9NBCy"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/extractify-labs~flashscore-basketball-live-matches/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-extractify-labs-flashscore-basketball-live-matches",
                "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-basketball-live-matches/runs": {
            "post": {
                "operationId": "runs-sync-extractify-labs-flashscore-basketball-live-matches",
                "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-basketball-live-matches/run-sync": {
            "post": {
                "operationId": "run-sync-extractify-labs-flashscore-basketball-live-matches",
                "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": {
                    "includeStatistics": {
                        "title": "Include statistics",
                        "type": "boolean",
                        "description": "Fetch per-quarter team statistics (field goals, 3-point %, free throws, rebounds, assists, blocks, turnovers, steals, fouls broken down by quarter and match total). Requires one extra API call per live match. Set to false for score-only runs to reduce request volume.",
                        "default": true
                    },
                    "includeLineups": {
                        "title": "Include lineups",
                        "type": "boolean",
                        "description": "Fetch starting five, bench players, shirt numbers, positions, ratings, and nationalities for both teams. Requires one extra API call per live match. Set to false for score-only runs.",
                        "default": true
                    },
                    "includeOdds": {
                        "title": "Include live odds",
                        "type": "boolean",
                        "description": "Fetch live 1x2 odds (current value, opening value, and movement direction). Requires one extra API call per live match. Basketball odds coverage varies by league — NBA matches are likely covered; regional leagues (EuroLeague, NBB, CBA, ACB) may return empty odds. This is expected behaviour, not an error.",
                        "default": false
                    },
                    "maxItems": {
                        "title": "Maximum live matches",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of live matches to return. Leave unset to return all currently live matches. Useful for test runs."
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify proxy configuration. Not needed for normal use — Flashscore APIs do not block direct requests. Enable only if running from a restricted network.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
