Handball.ai APIs

Plug directly into the most complete handball dataset in the world. Games, players, lineups, event-based positioning, xG, xS and live scoring — all through a single, consistent API.

Games indexed
0 M+
Player records
0 M+
Tracked events
0 M+
API uptime
1 %

What you can build with

Every layer of handball intelligence, exposed as clean, well-documented endpoints.

Games & Schedules

Create and query scheduled, live and ended games filtered by team, season or competition.

Teams, Players & Staff

Full CRUD over the team roster: manage players, technical staff and seasons participation.

Real-time Stats

Pull live game statistics and trigger webhooks for in-match events as they happen.

Post-Game Analytics

Aggregated post-match stats per player and team, plus AI-generated lineups and rotations.

Authentication

Secure access via API key. Optional Use-External-Ids header to map your own identifiers

System & Health

Lightweight ping endpoint to verify connectivity, latency and service availability.

How you connect

Three simple steps to get your full match analysis delivered within 24 hours.

REST API

OpenAPI 3.0 endpoints over HTTPS with JSON payloads. Single base URL at external.api.handball.ai.

Webhooks

Trigger and receive real-time game events via /game/{gameId}/webhook_trigger for live stats and updates.

External ID Mapping

Use the Use-External-Ids header to query and write data with your own team, player and game identifiers.

A glimpse of the endpoints

Predictable, versioned REST endpoints. Authenticate once with an API key and start pulling data within minutes.

/game/schedule

Schedule a game between two teams.

/game/search/ended

Search ended games by team IDs.

/game/search/scheduled

Search scheduled games by team IDs.

/game/{gameId}/details

Full details for a single game.

/game/{gameId}/stats

Real-time stats for a live game.

/game/{gameId}/webhook_trigger

Trigger webhooks for in-match events.

/team/{teamId}/players

List all players on a team.

/team/{teamId}/player

Add a new player to a team.

/team/{teamId}/stats

Aggregated post-game team stats.

/team/{teamId}/best-lineup/{offense_defense}

AI-computed best lineup.

/player/{playerId}/stats

Aggregated stats for a single player.

/seasons

List available seasons.
curl https://external.api.handball.ai/game/12345/stats \
  • -H “Authorization: YOUR_API_TOKEN” \
  • -H “Use-External-Ids: false” \
  • -H “Accept: application/json”

Secured with API keys, scoped tokens and per-environment rate limits.

const res = await fetch(
“https://external.api.handball.ai/game/12345/stats”,
{
headers: {
Authorization: API_TOKEN,
“Use-External-Ids”: “false”,
},
}
);
const stats = await res.json();

Secured with API keys, scoped tokens and per-environment rate limits.

import requests

r = requests.get(
“https://external.api.handball.ai/game/12345/stats”,
headers={
“Authorization”: API_TOKEN,
“Use-External-Ids”: “false”,
},
)
stats = r.json()

Secured with API keys, scoped tokens and per-environment rate limits.

Interactive API tester

Pick an endpoint, tweak the parameters and run a sample request against our sandbox to see exactly what your integration will receive.

>_

Request

GET
GET /game/12345/stats

Sandbox mode — responses are simulated from real schemas. No live data is fetched.

</>

Response

// Click "Send request" to see the response.

Build the next generation of handball products

Whether you’re a federation, broadcaster, club or developer — get in touch to receive credentials, documentation and a sandbox environment.