> **Building with AI coding agents?** Install the authstack plugin with one command. This equips your agent with accurate Scalekit implementation patterns.
>
> **Recommended** (the `-y` flags skip prompts, so the command runs without an interactive terminal):
> ```bash
> npx -y @scalekit-inc/cli setup -y
> ```
>
> Global:
> ```bash
> npm install -g @scalekit-inc/cli
> scalekit setup -y
> ```
>
> Supports Claude Code, Cursor, GitHub Copilot, Codex + skills for other Agent Skills-compatible agents in `~/.agents/skills`.
> Skills: integrate-agentkit, implement-saaskit, add-mcp-oauth, implement-sso, implement-scim.
> [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Connect AI agents to API-Sports

The API-Sports connector lets your AI agent act in each user's API-Sports account. Each user connects their own API-Sports API key once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 38 tools.

**Authentication:** API Key
**Categories:** Analytics, Media
**Tools:** 38: 38 read, 0 write, 0 destructive
**Users sign in with:** API key
**Built by:** Scalekit connector
**Try it:** [Playground in the Scalekit dashboard](https://app.scalekit.com/ws/signup?sk_intent=playground&provider=APISPORTS)

## Setup

1. ### Install the SDK

   **Node.js**

   ```bash
   npm install @scalekit-sdk/node dotenv
   ```

   **Python**

   ```bash
   pip install scalekit-sdk-python python-dotenv
   ```

2. ### Set your credentials

   Add your Scalekit credentials to your `.env` file. Find values in **[app.scalekit.com](https://app.scalekit.com)** > **Developers** > **API Credentials**.

   ```sh title=".env"
   SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
   SCALEKIT_CLIENT_ID=<your-client-id>
   SCALEKIT_CLIENT_SECRET=<your-client-secret>
   ```

3. ### Create the API-Sports connection

   In **AgentKit > Connections**, create an API-Sports connection. The name you give it is the `connection_name` your code passes. See [Configure connections](/agentkit/connections/).

4. ### Authorize a user and make your first call

   **Node.js** (`quickstart.mts`)

   ```typescript
   import { ScalekitClient } from '@scalekit-sdk/node'
   import 'dotenv/config'
   import { createInterface } from 'node:readline/promises'

   const scalekit = new ScalekitClient(
     process.env.SCALEKIT_ENVIRONMENT_URL,
     process.env.SCALEKIT_CLIENT_ID,
     process.env.SCALEKIT_CLIENT_SECRET,
   )
   const actions = scalekit.actions

   const connector = 'apisports'
   const identifier = 'user_123'

   // Generate an authorization link for the user
   const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
   console.log('Authorize API-Sports:', link)
   const rl = createInterface({ input: process.stdin, output: process.stdout })
   await rl.question('Press Enter after authorizing...')
   rl.close()

   // Make your first call
   const result = await actions.executeTool({
     connector,
     identifier,
     toolName: 'apisports_basketball_get_status',
     toolInput: {},
   })
   console.log(result)
   ```

   ```bash
   npx tsx quickstart.mts
   ```

   **Python** (`quickstart.py`)

   ```python
   import os
   from scalekit import ScalekitClient
   from dotenv import load_dotenv
   load_dotenv()

   scalekit_client = ScalekitClient(
       env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),
       client_id=os.getenv("SCALEKIT_CLIENT_ID"),
       client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),
   )
   actions = scalekit_client.actions

   connection_name = "apisports"
   identifier = "user_123"

   # Generate an authorization link for the user
   link_response = actions.get_authorization_link(
       connection_name=connection_name,
       identifier=identifier,
   )
   print("Authorize API-Sports:", link_response.link)
   input("Press Enter after authorizing...")

   # Make your first call
   result = actions.execute_tool(
       tool_input={},
       tool_name="apisports_basketball_get_status",
       connection_name=connection_name,
       identifier=identifier,
   )
   print(result)
   ```

   ```bash
   python quickstart.py
   ```

   Each user opens the link once and enters their API-Sports credentials there. See [Authorize a user](/agentkit/tools/authorize/) for the full flow and statuses.

## Tools

Pass the exact name to `execute_tool`, with an input like each tool's example. To ask for a tool that's missing, use the [request form](https://scalekitsupport.portal.usepylon.com/forms/request-a-connector-tool).

**Node.js**

```typescript
const result = await actions.executeTool({
  toolName: 'apisports_basketball_get_standings',
  toolInput: {
    league: 12,
    season: '2024',
  },
  connector: 'apisports',
  identifier: 'user_123',
})
```

**Python**

```python
result = actions.execute_tool(
    tool_name="apisports_basketball_get_standings",
    tool_input={
        "league": 12,
        "season": "2024",
    },
    connection_name="apisports",
    identifier="user_123",
)
```

`result.data` is the app's response as JSON, and `result.execution_id` (`executionId` in Node.js) is the ID of the call.

### `apisports_basketball_get_standings`

Basketball: Get Standings · Read-only

Get the basketball standings of a league season, optionally for one team, stage or group.
Returns rows with position, stage, group, team, games played, won and lost (with percentages), points for and against, form and description. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it for the league table. Use apisports_basketball_list_games for individual results.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `league` (`integer`, required): League or cup ID, from apisports_basketball_list_leagues. League IDs stay the same across seasons. Example: 12 (NBA).
- `season` (`string`, required): Season. Leagues that span two years use 'YYYY-YYYY' (NBA: '2023-2024'); single-year leagues use 'YYYY' (e.g. '2024'). Use a value listed in the league's seasons from apisports_basketball_list_leagues.
- `group` (`string`, optional): Group name as it appears in standings results. Example: 'Western Conference'.
- `stage` (`string`, optional): Stage name as it appears in standings results. Example: 'Regular Season'.
- `team` (`integer`, optional): Team ID, from apisports_basketball_list_teams. Example: 145.

Example input: `{"league":12,"season":"2024"}`

### `apisports_basketball_get_status`

Basketball: Get Account Status · Read-only

Get the API-Basketball subscription status of the connected API-Sports key.
Returns the account name and email, the current plan, its end date and active flag, and today's request count against the daily limit.
Use it to check the remaining daily basketball quota. Each sport has its own quota; use apisports_football_get_status or apisports_hockey_get_status for the others. This call does not count against the quota.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `apisports_basketball_list_games`

Basketball: List Games · Read-only

List basketball games (scheduled, live or finished) by game ID, date, league and season, or team. At least one filter is required.
Returns each game's ID, date, time and timestamp, timezone, stage, week, status (codes: NS, Q1, Q2, Q3, Q4, OT, BT, HT, FT, AOT, POST, CANC), league, country, home and away teams and scores (per quarter, overtime and total). Games update every 15 seconds. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it for basketball schedules, results and live scores. Use apisports_basketball_get_standings for the league table.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `date` (`string`, optional): Date in YYYY-MM-DD format. Returns games on that day.
- `id` (`integer`, optional): Game ID. Example: 1912.
- `league` (`integer`, optional): League or cup ID, from apisports_basketball_list_leagues. League IDs stay the same across seasons. Example: 12 (NBA). Use with season.
- `season` (`string`, optional): Season. Leagues that span two years use 'YYYY-YYYY' (NBA: '2023-2024'); single-year leagues use 'YYYY' (e.g. '2024'). Use a value listed in the league's seasons from apisports_basketball_list_leagues. Use with league or team.
- `team` (`integer`, optional): Team ID, from apisports_basketball_list_teams. Example: 145.
- `timezone` (`string`, optional): IANA time zone for the dates and times in the response, e.g. 'America/New_York'. Unknown values fall back to UTC.

Example input: `{}`

### `apisports_basketball_list_leagues`

Basketball: List Leagues · Read-only

List basketball leagues and cups, filtered by ID, name, country, type, season or text search.
Returns each league's ID, name, type, logo, country and its seasons with start and end dates and data coverage. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it to find a league ID and its valid season values before calling apisports_basketball_list_games, apisports_basketball_list_teams or apisports_basketball_get_standings.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `country` (`string`, optional): Country name. Example: 'USA'.
- `country_id` (`integer`, optional): Country ID as returned in league results (the country object's id). Example: 5.
- `id` (`integer`, optional): League ID. Example: 12 (NBA).
- `name` (`string`, optional): Exact league name. Example: 'NBA'.
- `search` (`string`, optional): Free-text search on the league or country name, at least 3 characters. Example: 'nba'.
- `season` (`string`, optional): Season. Leagues that span two years use 'YYYY-YYYY' (NBA: '2023-2024'); single-year leagues use 'YYYY' (e.g. '2024'). Use a value listed in the league's seasons from apisports_basketball_list_leagues.
- `type` (`string`, optional): Competition type: 'league' or 'cup'. One of: `league`, `cup`.

Example input: `{}`

### `apisports_basketball_list_teams`

Basketball: List Teams · Read-only

List basketball teams by ID, name, league and season, or text search. At least one filter is required.
Returns each team's ID, name, logo, national-team flag and country. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it to find a team ID for apisports_basketball_list_games or apisports_basketball_get_standings.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `id` (`integer`, optional): Team ID. Example: 145.
- `league` (`integer`, optional): League or cup ID, from apisports_basketball_list_leagues. League IDs stay the same across seasons. Example: 12 (NBA). Use with season.
- `name` (`string`, optional): Exact team name. Example: 'Los Angeles Lakers'.
- `search` (`string`, optional): Free-text search on the team name, at least 3 characters. Example: 'lakers'.
- `season` (`string`, optional): Season. Leagues that span two years use 'YYYY-YYYY' (NBA: '2023-2024'); single-year leagues use 'YYYY' (e.g. '2024'). Use a value listed in the league's seasons from apisports_basketball_list_leagues. Use with league.

Example input: `{}`

### `apisports_football_get_fixture_events`

Football: Get Fixture Events · Read-only

Get the event timeline of one fixture: goals, cards, substitutions and VAR decisions, optionally for one team, one player or one event type.
Returns events with the minute (and extra minutes), team, player, assisting player, type (Goal, Card, subst, Var) and detail (e.g. 'Normal Goal', 'Penalty', 'Yellow Card', 'Substitution 1', 'Goal cancelled') plus any comment. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it for who scored or was booked and when. Use apisports_football_get_fixture_statistics for team totals.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `fixture` (`integer`, required): Fixture (match) ID, from apisports_football_list_fixtures. Example: 215662.
- `player` (`integer`, optional): Player ID, from apisports_football_list_players or apisports_football_get_squad. Example: 276.
- `team` (`integer`, optional): Team ID, from apisports_football_list_teams. Example: 33 (Manchester United).
- `type` (`string`, optional): Event type: 'Goal', 'Card', 'subst' or 'Var'.

Example input: `{"fixture":215662}`

### `apisports_football_get_fixture_lineups`

Football: Get Fixture Lineups · Read-only

Get the lineups of one fixture, for both teams or one team.
Returns, per team, the formation, coach, starting XI and substitutes, with each player's ID, name, shirt number, position (G, D, M, F) and grid position on the pitch. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it for who started and the formation. Lineups usually appear 20 to 40 minutes before kickoff. Use apisports_football_get_fixture_player_stats for how each player performed.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `fixture` (`integer`, required): Fixture (match) ID, from apisports_football_list_fixtures. Example: 215662.
- `player` (`integer`, optional): Player ID, from apisports_football_list_players or apisports_football_get_squad. Example: 276.
- `team` (`integer`, optional): Team ID, from apisports_football_list_teams. Example: 33 (Manchester United).
- `type` (`string`, optional): Lineup section to return. Example: 'startXI'.

Example input: `{"fixture":215662}`

### `apisports_football_get_fixture_player_stats`

Football: Get Fixture Player Statistics · Read-only

Get every player's statistics for one fixture, for both teams or one team.
Returns, per team, each player's minutes, shirt number, position, rating, captain and substitute flags, offsides, shots, goals and assists, saves, passes, tackles, duels, dribbles, fouls, cards and penalties. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it for individual performances in a match. Use apisports_football_list_players for a player's season totals.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `fixture` (`integer`, required): Fixture (match) ID, from apisports_football_list_fixtures. Example: 215662.
- `team` (`integer`, optional): Team ID, from apisports_football_list_teams. Example: 33 (Manchester United).

Example input: `{"fixture":215662}`

### `apisports_football_get_fixture_statistics`

Football: Get Fixture Statistics · Read-only

Get team statistics for one fixture, for both teams or one team.
Returns, per team, a list of type/value pairs: shots on and off goal, total and blocked shots, shots inside and outside the box, fouls, corners, offsides, ball possession, yellow and red cards, goalkeeper saves, total and accurate passes, pass percentage and expected goals. With half set to true it adds first- and second-half figures (2024 season onward). Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it for match-level team numbers. Use apisports_football_get_fixture_player_stats for per-player numbers and apisports_football_get_fixture_events for the timeline.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `fixture` (`integer`, required): Fixture (match) ID, from apisports_football_list_fixtures. Example: 215662.
- `half` (`string`, optional): 'true' adds half-time statistics (data from the 2024 season onward). One of: `true`, `false`.
- `team` (`integer`, optional): Team ID, from apisports_football_list_teams. Example: 33 (Manchester United). Returns only this team's statistics.
- `type` (`string`, optional): Return only one statistic type, named as in the response. Example: 'Total Shots'.

Example input: `{"fixture":215662}`

### `apisports_football_get_head_to_head`

Football: Get Head to Head · Read-only

List past and upcoming fixtures between two teams, optionally filtered by date range, league, season, last or next N, status or venue.
Returns fixtures in the same shape as apisports_football_list_fixtures: teams, kickoff, venue, status, goals and score breakdown. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it for the record between two teams. Use apisports_football_list_fixtures for one team's schedule and apisports_football_get_predictions for a pre-match forecast.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `h2h` (`string`, required): The two team IDs joined with '-'. Example: '33-34' (Manchester United vs Newcastle).
- `date` (`string`, optional): Date in YYYY-MM-DD format.
- `from` (`string`, optional): Start of a date range, YYYY-MM-DD. Use with 'to'.
- `last` (`integer`, optional): Only the last N meetings. Example: 10.
- `league` (`integer`, optional): League or cup ID, from apisports_football_list_leagues. League IDs stay the same across seasons. Example: 39 (Premier League).
- `next` (`integer`, optional): Only the next N scheduled meetings. Example: 2.
- `season` (`integer`, optional): Season as a 4-digit start year (YYYY). A season that spans two years, such as 2024-2025, is 2024. Example: 2024.
- `status` (`string`, optional): One or more status codes joined with '-', e.g. 'FT-AET-PEN'. Codes: TBD (time to be defined), NS (not started), 1H, HT, 2H, ET (extra time), BT (break), P (penalties), SUSP, INT (interrupted), FT, AET, PEN (finished after penalties), PST (postponed), CANC, ABD, AWD, WO, LIVE.
- `timezone` (`string`, optional): IANA time zone for the dates and times in the response, e.g. 'Europe/London'. Must be one of the values from apisports_football_list_timezones; unknown values fall back to UTC.
- `to` (`string`, optional): End of a date range, YYYY-MM-DD. Use with 'from'.
- `venue` (`integer`, optional): Venue ID. Example: 556.

Example input: `{"h2h":"33-34"}`

### `apisports_football_get_predictions`

Football: Get Predictions · Read-only

Get API-Football's prediction for one fixture.
Returns the predicted winner with a comment, win/draw percentages, advice (e.g. 'Double chance : Manchester United or draw'), predicted goals and under/over, a team comparison (form, attack, defence, Poisson distribution, head-to-head, goals) as percentages, both teams' recent form and season numbers, and recent head-to-head fixtures. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it for a pre-match forecast. Use apisports_football_list_odds for bookmaker odds and apisports_football_get_head_to_head for the full head-to-head record.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `fixture` (`integer`, required): Fixture (match) ID, from apisports_football_list_fixtures. Example: 215662.

Example input: `{"fixture":215662}`

### `apisports_football_get_squad`

Football: Get Squad · Read-only

Get a team's current squad, or the squads a player currently belongs to. Give team or player.
Returns the team and its players with ID, name, age, shirt number, position (Goalkeeper, Defender, Midfielder, Attacker) and photo. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it for who is in a team now. Use apisports_football_list_players for season statistics.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `player` (`integer`, optional): Player ID, from apisports_football_list_players or apisports_football_get_squad. Example: 276. Returns the squads this player is in.
- `team` (`integer`, optional): Team ID, from apisports_football_list_teams. Example: 33 (Manchester United).

Example input: `{}`

### `apisports_football_get_standings`

Football: Get Standings · Read-only

Get the league table for a season, for a whole league or for one team.
Returns the league and, for each group or stage, rows with rank, team, points, goal difference, group, form, status, promotion/relegation description and played/won/drawn/lost/goals for all, home and away games. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it for the current table or a past season's final table. Use apisports_football_get_team_statistics for one team's detailed season numbers.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `season` (`integer`, required): Season as a 4-digit start year (YYYY). A season that spans two years, such as 2024-2025, is 2024. Example: 2024.
- `league` (`integer`, optional): League or cup ID, from apisports_football_list_leagues. League IDs stay the same across seasons. Example: 39 (Premier League). Give league, team or both.
- `team` (`integer`, optional): Team ID, from apisports_football_list_teams. Example: 33 (Manchester United). Returns this team's rows in every league it plays in that season, or in the given league.

Example input: `{"season":2024}`

### `apisports_football_get_status`

Football: Get Account Status · Read-only

Get the API-Football (v3) subscription status of the connected API-Sports key.
Returns the account name and email, the current plan, its end date and active flag, and today's request count against the daily limit.
Use it to check the remaining daily quota before a large batch of football calls. Each sport has its own quota; use apisports_basketball_get_status or apisports_hockey_get_status for those. This call does not count against the quota.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `apisports_football_get_team_statistics`

Football: Get Team Statistics · Read-only

Get one team's statistics for a league season, optionally up to a given date.
Returns the team's form string (e.g. 'WDLWW'), played/won/drawn/lost at home, away and in total, goals for and against with averages and per-15-minute breakdowns, biggest wins, losses and streaks, clean sheets, failed-to-score counts, penalties, formations used and cards by minute. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it for a team's season-level numbers. Use apisports_football_get_standings for the league table and apisports_football_get_fixture_statistics for a single match.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `league` (`integer`, required): League or cup ID, from apisports_football_list_leagues. League IDs stay the same across seasons. Example: 39 (Premier League).
- `season` (`integer`, required): Season as a 4-digit start year (YYYY). A season that spans two years, such as 2024-2025, is 2024. Example: 2024.
- `team` (`integer`, required): Team ID, from apisports_football_list_teams. Example: 33 (Manchester United).
- `date` (`string`, optional): Date in YYYY-MM-DD format. Only fixtures up to and including this date are counted.

Example input: `{"league":39,"season":2024,"team":33}`

### `apisports_football_list_bet_types`

Football: List Bet Types · Read-only

List the pre-match bet types, optionally by ID or name search.
Returns each bet type's ID and name, e.g. 1 'Match Winner', 5 'Goals Over/Under'. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it to get a bet ID for the bet filter of apisports_football_list_odds.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `id` (`integer`, optional): Bet type ID. Example: 1.
- `search` (`string`, optional): Bet type name search, at least 3 characters. Example: 'winner'.

Example input: `{}`

### `apisports_football_list_bookmakers`

Football: List Bookmakers · Read-only

List the bookmakers that pre-match odds come from, optionally by ID or name search.
Returns each bookmaker's ID and name. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it to get a bookmaker ID for the bookmaker filter of apisports_football_list_odds.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `id` (`integer`, optional): Bookmaker ID. Example: 8.
- `search` (`string`, optional): Free-text search on the bookmaker name, at least 3 characters. Example: 'bet365'.

Example input: `{}`

### `apisports_football_list_coaches`

Football: List Coaches · Read-only

List football coaches by coach ID, current team or name search. At least one filter is required.
Returns each coach's ID, name, age, birth date and place, nationality, height, weight, photo, current team and career history (team with start and end dates). Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it to find a team's coach or a coach ID for apisports_football_list_trophies and apisports_football_list_sidelined.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `id` (`integer`, optional): Coach ID. Example: 2.
- `search` (`string`, optional): Free-text search on the coach name, at least 3 characters. Example: 'guardiola'.
- `team` (`integer`, optional): Team ID, from apisports_football_list_teams. Example: 33 (Manchester United). Returns the team's coaches.

Example input: `{}`

### `apisports_football_list_countries`

Football: List Countries · Read-only

List the countries that have football leagues, optionally filtered by name or code.
Returns each country's name, code and flag URL. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use the name or code as the country filter in apisports_football_list_leagues, apisports_football_list_teams and apisports_football_list_venues.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `code` (`string`, optional): Country code as returned by this endpoint, 2 to 6 characters. Example: 'FR'.
- `name` (`string`, optional): Exact country name. Example: 'England'.
- `search` (`string`, optional): Free-text search on the country name, at least 3 characters. Example: 'engl'.

Example input: `{}`

### `apisports_football_list_fixtures`

Football: List Fixtures · Read-only

List football fixtures (matches) that are scheduled, live or finished, filtered by ID, live status, date or date range, league and season, team, round, status or venue.
Returns each fixture's ID, referee, kickoff date and timestamp, venue, status (code, label, minutes elapsed), league and round, home and away teams with winner flags, current goals, and the score at half time, full time, extra time and penalties. Requests for a single id or ids also include events, lineups, team statistics and player statistics. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it for schedules, results and live scores (live='all'). Use apisports_football_get_head_to_head for past meetings of two teams, and the fixture statistics, events, lineups and player-stats tools for one match's details.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `date` (`string`, optional): Date in YYYY-MM-DD format. Returns fixtures on that day.
- `from` (`string`, optional): Start of a date range, YYYY-MM-DD. Use with 'to' and with league, team or season.
- `id` (`integer`, optional): Fixture ID. Returns that fixture with its events, lineups and statistics. Example: 215662.
- `ids` (`string`, optional): Up to 20 fixture IDs joined with '-'. Returns each fixture with its events, lineups and statistics. Example: '215662-215663'.
- `last` (`integer`, optional): The team's or league's last N finished fixtures (up to 99). Example: 5.
- `league` (`integer`, optional): League or cup ID, from apisports_football_list_leagues. League IDs stay the same across seasons. Example: 39 (Premier League). Use with season.
- `live` (`string`, optional): 'all' returns every fixture in play now; league IDs joined with '-' (e.g. '39-61') limit it to those leagues.
- `next` (`integer`, optional): The team's or league's next N upcoming fixtures (up to 99). Example: 5.
- `round` (`string`, optional): Exact round name from apisports_football_list_rounds. Example: 'Regular Season - 1'.
- `season` (`integer`, optional): Season as a 4-digit start year (YYYY). A season that spans two years, such as 2024-2025, is 2024. Example: 2024. Use with league or team.
- `status` (`string`, optional): One or more status codes joined with '-', e.g. 'NS' or 'FT-AET-PEN'. Codes: TBD (time to be defined), NS (not started), 1H, HT, 2H, ET (extra time), BT (break), P (penalties), SUSP, INT (interrupted), FT, AET, PEN (finished after penalties), PST (postponed), CANC, ABD, AWD, WO, LIVE.
- `team` (`integer`, optional): Team ID, from apisports_football_list_teams. Example: 33 (Manchester United).
- `timezone` (`string`, optional): IANA time zone for the dates and times in the response, e.g. 'Europe/London'. Must be one of the values from apisports_football_list_timezones; unknown values fall back to UTC.
- `to` (`string`, optional): End of a date range, YYYY-MM-DD. Use with 'from'.
- `venue` (`integer`, optional): Venue ID, from apisports_football_list_venues. Example: 556.

Example input: `{}`

### `apisports_football_list_injuries`

Football: List Injuries · Read-only

List players who are injured or suspended, by league and season, fixture, team, player or date.
Returns each absence with the player (ID, name, photo, type such as 'Missing Fixture' or 'Questionable', reason such as 'Knee Injury'), team, fixture and league. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it to check who is out before a match. Use apisports_football_list_sidelined for a player's or coach's full injury history.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `date` (`string`, optional): Date in YYYY-MM-DD format.
- `fixture` (`integer`, optional): Fixture (match) ID, from apisports_football_list_fixtures. Example: 215662.
- `league` (`integer`, optional): League or cup ID, from apisports_football_list_leagues. League IDs stay the same across seasons. Example: 39 (Premier League). Use with season.
- `player` (`integer`, optional): Player ID, from apisports_football_list_players or apisports_football_get_squad. Example: 276.
- `season` (`integer`, optional): Season as a 4-digit start year (YYYY). A season that spans two years, such as 2024-2025, is 2024. Example: 2024. Required with league, team or player.
- `team` (`integer`, optional): Team ID, from apisports_football_list_teams. Example: 33 (Manchester United).
- `timezone` (`string`, optional): IANA time zone for the dates and times in the response, e.g. 'Europe/London'. Must be one of the values from apisports_football_list_timezones; unknown values fall back to UTC.

Example input: `{}`

### `apisports_football_list_leagues`

Football: List Leagues · Read-only

List football leagues and cups, filtered by ID, name, country, season, team, type or text search.
Returns each league's ID, name, type, logo, country and its seasons, with each season's start and end dates, current flag and data coverage (fixture events, lineups, statistics, players, standings, injuries, predictions, odds). Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it to find a league ID and check which data a season covers before calling fixture, standings or player tools. Use apisports_football_list_seasons for the list of all season years.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `code` (`string`, optional): Country code, from apisports_football_list_countries. Example: 'FR'.
- `country` (`string`, optional): Country name, from apisports_football_list_countries. Example: 'England'.
- `current` (`string`, optional): 'true' returns only leagues with a season in progress, each with only its current season; 'false' returns the rest. One of: `true`, `false`.
- `id` (`integer`, optional): League ID. Example: 39 (Premier League).
- `last` (`integer`, optional): Return the last N leagues or cups added to the API (up to 99). Example: 10.
- `name` (`string`, optional): Exact league name. Example: 'Premier League'.
- `search` (`string`, optional): Free-text search on the league or country name, at least 3 characters. Example: 'premier'.
- `season` (`integer`, optional): Season as a 4-digit start year (YYYY). A season that spans two years, such as 2024-2025, is 2024. Example: 2024.
- `team` (`integer`, optional): Team ID, from apisports_football_list_teams. Example: 33 (Manchester United). Returns the leagues this team plays in.
- `type` (`string`, optional): Competition type: 'league' or 'cup'. One of: `league`, `cup`.

Example input: `{}`

### `apisports_football_list_odds`

Football: List Pre-Match Odds · Read-only

List pre-match betting odds by fixture, league and season, or date, optionally for one bookmaker or bet type. Results are paged, 10 per page.
Returns, per fixture, the league, fixture and update time, and each bookmaker's bets (e.g. 'Match Winner') with values and odds (e.g. Home 1.85). Odds are kept from 1 to 14 days before kickoff with a 7-day history. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it for bookmaker prices. Get bookmaker IDs from apisports_football_list_bookmakers and bet IDs from apisports_football_list_bet_types. Use apisports_football_get_predictions for API-Football's own forecast.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `bet` (`integer`, optional): Bet type ID, from apisports_football_list_bet_types. Example: 1 (Match Winner).
- `bookmaker` (`integer`, optional): Bookmaker ID, from apisports_football_list_bookmakers. Example: 8.
- `date` (`string`, optional): Date in YYYY-MM-DD format.
- `fixture` (`integer`, optional): Fixture (match) ID, from apisports_football_list_fixtures. Example: 215662.
- `league` (`integer`, optional): League or cup ID, from apisports_football_list_leagues. League IDs stay the same across seasons. Example: 39 (Premier League). Use with season.
- `page` (`integer`, optional): Page of results to return, starting at 1. Check `paging.total` in the response for the page count.
- `season` (`integer`, optional): Season as a 4-digit start year (YYYY). A season that spans two years, such as 2024-2025, is 2024. Example: 2024. Use with league.
- `timezone` (`string`, optional): IANA time zone for the dates and times in the response, e.g. 'Europe/London'. Must be one of the values from apisports_football_list_timezones; unknown values fall back to UTC.

Example input: `{}`

### `apisports_football_list_players`

Football: List Players · Read-only

List players with their statistics for a season, by player ID, team, league or name search. Results are paged, 20 per page.
Returns each player's profile (ID, name, age, birth, nationality, height, weight, injured flag, photo) and, per team and league, appearances, minutes, position, rating, substitutions, shots, goals, assists, passes, tackles, duels, dribbles, fouls, cards and penalties. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it for season totals of a player or a team's players. Use apisports_football_get_squad for a team's current squad and apisports_football_list_top_scorers for a league's leading scorers.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `id` (`integer`, optional): Player ID. Example: 276. Use with season.
- `league` (`integer`, optional): League or cup ID, from apisports_football_list_leagues. League IDs stay the same across seasons. Example: 39 (Premier League). Use with season.
- `page` (`integer`, optional): Page of results to return, starting at 1. Check `paging.total` in the response for the page count.
- `search` (`string`, optional): Player name search, at least 4 characters. Requires league or team. Example: 'neymar'.
- `season` (`integer`, optional): Season as a 4-digit start year (YYYY). A season that spans two years, such as 2024-2025, is 2024. Example: 2024. Required with id, team or league.
- `team` (`integer`, optional): Team ID, from apisports_football_list_teams. Example: 33 (Manchester United). Use with season.

Example input: `{}`

### `apisports_football_list_rounds`

Football: List Rounds · Read-only

List the rounds of a league season, such as 'Regular Season - 1' or 'Quarter-finals'.
Returns an array of round names, or, with dates set to true, objects with each round name and its dates. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it to get an exact round name for the round filter of apisports_football_list_fixtures, or set current to true to find the round in progress.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `league` (`integer`, required): League or cup ID, from apisports_football_list_leagues. League IDs stay the same across seasons. Example: 39 (Premier League).
- `season` (`integer`, required): Season as a 4-digit start year (YYYY). A season that spans two years, such as 2024-2025, is 2024. Example: 2024.
- `current` (`string`, optional): 'true' returns only the current round. One of: `true`, `false`.
- `dates` (`string`, optional): 'true' adds the dates of each round to the response. One of: `true`, `false`.
- `timezone` (`string`, optional): IANA time zone for the dates and times in the response, e.g. 'Europe/London'. Must be one of the values from apisports_football_list_timezones; unknown values fall back to UTC.

Example input: `{"league":39,"season":2024}`

### `apisports_football_list_seasons`

Football: List Seasons · Read-only

List every season year available in API-Football.
Returns an array of 4-digit years, e.g. [2010, 2011, ..., 2025]. A season spanning two years is keyed by its start year.
Use it to see which season values exist. Use apisports_football_list_leagues to see which seasons a given league covers.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `apisports_football_list_sidelined`

Football: List Sidelined · Read-only

List the injury and suspension history of a player or a coach. Give player or coach.
Returns each period with type (e.g. 'Knee Injury', 'Suspended'), start date and end date. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it for a full absence history. Use apisports_football_list_injuries for absences tied to specific fixtures.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `coach` (`integer`, optional): Coach ID, from apisports_football_list_coaches. Example: 2.
- `player` (`integer`, optional): Player ID, from apisports_football_list_players or apisports_football_get_squad. Example: 276.

Example input: `{}`

### `apisports_football_list_teams`

Football: List Teams · Read-only

List football teams by ID, name, league and season, country, code, venue or text search. At least one filter is required.
Returns each team's ID, name, 3-letter code, country, founding year, national-team flag and logo, plus its home venue (ID, name, address, city, capacity, surface, image). Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it to find a team ID. Use apisports_football_get_team_statistics for a team's season numbers and apisports_football_get_squad for its players.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `code` (`string`, optional): 3-letter team code. Example: 'MUN'.
- `country` (`string`, optional): Country name, from apisports_football_list_countries. Example: 'England'.
- `id` (`integer`, optional): Team ID. Example: 33 (Manchester United).
- `league` (`integer`, optional): League or cup ID, from apisports_football_list_leagues. League IDs stay the same across seasons. Example: 39 (Premier League). Use with season.
- `name` (`string`, optional): Exact team name. Example: 'Manchester United'.
- `search` (`string`, optional): Free-text search on the team name or country, at least 3 characters. Example: 'manchester'.
- `season` (`integer`, optional): Season as a 4-digit start year (YYYY). A season that spans two years, such as 2024-2025, is 2024. Example: 2024. Use with league.
- `venue` (`integer`, optional): Venue ID, from apisports_football_list_venues. Example: 556 (Old Trafford).

Example input: `{}`

### `apisports_football_list_timezones`

Football: List Timezones · Read-only

List the IANA time zones that football endpoints accept in their timezone parameter.
Returns an array of time zone names such as 'Europe/London'.
Use it to pick a valid timezone for apisports_football_list_fixtures, apisports_football_get_head_to_head, apisports_football_list_rounds, apisports_football_list_injuries or apisports_football_list_odds.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `apisports_football_list_top_scorers`

Football: List Top Scorers · Read-only

List the 20 top scorers of a league season.
Returns players ranked by goals, in the same shape as apisports_football_list_players: profile plus season statistics. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it for a league's scoring chart. Use apisports_football_list_players for any other player's statistics.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `league` (`integer`, required): League or cup ID, from apisports_football_list_leagues. League IDs stay the same across seasons. Example: 39 (Premier League).
- `season` (`integer`, required): Season as a 4-digit start year (YYYY). A season that spans two years, such as 2024-2025, is 2024. Example: 2024.

Example input: `{"league":39,"season":2024}`

### `apisports_football_list_transfers`

Football: List Transfers · Read-only

List transfers for a player or a team. Give player or team.
Returns, per player, transfers with date, type (e.g. 'Loan', 'Free' or a fee such as '€ 222M') and the teams in and out. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it for a player's transfer history or a club's incoming and outgoing moves.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `player` (`integer`, optional): Player ID, from apisports_football_list_players or apisports_football_get_squad. Example: 276.
- `team` (`integer`, optional): Team ID, from apisports_football_list_teams. Example: 33 (Manchester United).

Example input: `{}`

### `apisports_football_list_trophies`

Football: List Trophies · Read-only

List trophies won by a player or a coach. Give player or coach.
Returns each trophy with league, country, season and place (e.g. 'Winner', '2nd Place'). Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it for a player's or coach's honours.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `coach` (`integer`, optional): Coach ID, from apisports_football_list_coaches. Example: 2.
- `player` (`integer`, optional): Player ID, from apisports_football_list_players or apisports_football_get_squad. Example: 276.

Example input: `{}`

### `apisports_football_list_venues`

Football: List Venues · Read-only

List football stadiums by ID, name, city, country or text search. At least one filter is required.
Returns each venue's ID, name, address, city, country, capacity, surface and image URL. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it to look up a stadium or find a venue ID for the venue filter of apisports_football_list_fixtures or apisports_football_list_teams.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `city` (`string`, optional): City name. Example: 'Manchester'.
- `country` (`string`, optional): Country name. Example: 'England'.
- `id` (`integer`, optional): Venue ID. Example: 556 (Old Trafford).
- `name` (`string`, optional): Exact venue name. Example: 'Old Trafford'.
- `search` (`string`, optional): Free-text search on the venue name, city or country, at least 3 characters. Example: 'trafford'.

Example input: `{}`

### `apisports_hockey_get_standings`

Hockey: Get Standings · Read-only

Get the hockey standings of a league season, optionally for one team, stage or group.
Returns rows with position, stage, group, team, games played, won and lost (with percentages), points for and against, form and description. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it for the league table. Use apisports_hockey_list_games for individual results.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `league` (`integer`, required): League or cup ID, from apisports_hockey_list_leagues. League IDs stay the same across seasons. Example: 57 (NHL).
- `season` (`integer`, required): Season as a 4-digit start year (YYYY). A season that spans two years, such as 2024-2025, is 2024. Example: 2024.
- `group` (`string`, optional): Group name as it appears in standings results. Example: 'Atlantic Division'.
- `stage` (`string`, optional): Stage name as it appears in standings results. Example: 'NHL - Regular Season'.
- `team` (`integer`, optional): Team ID, from apisports_hockey_list_teams. Example: 670.

Example input: `{"league":57,"season":2024}`

### `apisports_hockey_get_status`

Hockey: Get Account Status · Read-only

Get the API-Hockey subscription status of the connected API-Sports key.
Returns the account name and email, the current plan, its end date and active flag, and today's request count against the daily limit.
Use it to check the remaining daily hockey quota. Each sport has its own quota; use apisports_football_get_status or apisports_basketball_get_status for the others. This call does not count against the quota.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `apisports_hockey_list_games`

Hockey: List Games · Read-only

List hockey games (scheduled, live or finished) by game ID, date, league and season, or team. At least one filter is required.
Returns each game's ID, date, time and timestamp, timezone, stage, week, status (codes: NS, P1, P2, P3, OT, PT, BT, AW, POST, CANC, INTR, ABD, AOT, AP, FT), league, country, home and away teams and scores (per period, overtime and total). Games update every 15 seconds. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it for hockey schedules, results and live scores. Use apisports_hockey_get_standings for the league table.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `date` (`string`, optional): Date in YYYY-MM-DD format. Returns games on that day.
- `id` (`integer`, optional): Game ID. Example: 1912.
- `league` (`integer`, optional): League or cup ID, from apisports_hockey_list_leagues. League IDs stay the same across seasons. Example: 57 (NHL). Use with season.
- `season` (`integer`, optional): Season as a 4-digit start year (YYYY). A season that spans two years, such as 2024-2025, is 2024. Example: 2024. Use with league or team.
- `team` (`integer`, optional): Team ID, from apisports_hockey_list_teams. Example: 670.
- `timezone` (`string`, optional): IANA time zone for the dates and times in the response, e.g. 'America/New_York'. Unknown values fall back to UTC.

Example input: `{}`

### `apisports_hockey_list_leagues`

Hockey: List Leagues · Read-only

List hockey leagues and cups, filtered by ID, name, country, type, season or text search.
Returns each league's ID, name, type, logo, country and its seasons with start and end dates and data coverage. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it to find a league ID and its valid season values before calling apisports_hockey_list_games, apisports_hockey_list_teams or apisports_hockey_get_standings.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `country` (`string`, optional): Country name. Example: 'USA'.
- `country_id` (`integer`, optional): Country ID as returned in league results (the country object's id). Example: 5.
- `id` (`integer`, optional): League ID. Example: 57 (NHL).
- `name` (`string`, optional): Exact league name. Example: 'NHL'.
- `search` (`string`, optional): Free-text search on the league or country name, at least 3 characters. Example: 'nhl'.
- `season` (`integer`, optional): Season as a 4-digit start year (YYYY). A season that spans two years, such as 2024-2025, is 2024. Example: 2024.
- `type` (`string`, optional): Competition type: 'league' or 'cup'. One of: `league`, `cup`.

Example input: `{}`

### `apisports_hockey_list_teams`

Hockey: List Teams · Read-only

List hockey teams by ID, name, league and season, or text search. At least one filter is required.
Returns each team's ID, name, logo, national-team flag and country. Bad or missing parameters come back as HTTP 200 with an empty `response` and the reason in `errors`.
Use it to find a team ID for apisports_hockey_list_games or apisports_hockey_get_standings.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `id` (`integer`, optional): Team ID. Example: 670.
- `league` (`integer`, optional): League or cup ID, from apisports_hockey_list_leagues. League IDs stay the same across seasons. Example: 57 (NHL). Use with season.
- `name` (`string`, optional): Exact team name. Example: 'Boston Bruins'.
- `search` (`string`, optional): Free-text search on the team name, at least 3 characters. Example: 'bruins'.
- `season` (`integer`, optional): Season as a 4-digit start year (YYYY). A season that spans two years, such as 2024-2025, is 2024. Example: 2024. Use with league.

Example input: `{}`

## Related

Other Analytics connectors ([all 121](/agentkit/connectors/?category=analytics)):

- [Microsoft 365](/agentkit/connectors/microsoft365/): Scalekit connector, OAuth, 317 tools
- [HubSpot](/agentkit/connectors/hubspot/): Scalekit connector, OAuth, 457 tools
- [Snowflake](/agentkit/connectors/snowflake/): Scalekit connector, OAuth, 42 tools


---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
