Overview
The Match Possession Distribution API returns a live spatial breakdown of each team’s possession across three pitch zones: the defensive third (DEF), middle third (MID), and attacking third (FWD).
For both the home and away teams, the response provides:
Total: the total number of possession observations included in the distribution.Abs: the absolute number of observations recorded in a specific pitch zone.Percent: that zone’s share of the team’s own total, returned as a ratio between0and1.
DEF.Percent value of 0.59 means that 59% of the home team’s counted possession occurred in its defensive third.
The values represent the latest data available when the request is made and may change as live match events are processed.
Typical Use Cases
- Build live possession-distribution graphics.
- Compare where each team is controlling the ball.
- Show defensive-, middle-, and attacking-third possession shares.
- Feed broadcast graphics and match-center visualizations.
- Identify whether a team is circulating deeply or sustaining possession higher up the pitch.
- Create post-match spatial possession comparisons.
Parameters
The API module. This value is fixed and must always be
api.The endpoint name. This value is fixed and must always be
MatchPossessionDistribution.The API version. Use
V2.The unique KoraStats match identifier. In this example,
78199 identifies South Africa vs Senegal.The response language code. Use
en for English.The response format. Use
json.Your KoraStats API key. Keep this value secure and do not expose it in public or client-side applications.
Endpoint
GEThttps://premium.korastats.pro/api.php
Code Examples
Response Example
Response Fields
Response Envelope
| Field | Type | Description |
|---|---|---|
result | boolean | Indicates whether the request completed successfully. |
title | string | Short response status title. |
message | string | Human-readable result message. |
object | object | Match, team, and possession-distribution data. |
Possession Distribution Object
| Field | Type | Description |
|---|---|---|
object._type | string | Object discriminator. The value is POSSESSION_DISTRIBUTION. |
object.match | object | Match summary. |
object.home | object | Home-team summary. |
object.away | object | Away-team summary. |
object.possession | object | Possession distribution for the home and away teams. |
object.possession.home | object | Home team’s zone distribution. |
object.possession.away | object | Away team’s zone distribution. |
Match Object
| Field | Type | Description |
|---|---|---|
object.match.id | integer | Unique match identifier. |
object.match.name | string | Match display name. |
Team Objects
Thehome and away objects use the same schema.
| Field | Type | Description | |
|---|---|---|---|
| `object.[home | away]._type` | string | Object discriminator. The value is TEAM. |
| `object.[home | away].id` | integer | Unique team identifier. |
| `object.[home | away].name` | string | Team name. |
Team Possession Fields
The same structure appears underobject.possession.home and object.possession.away. In the paths below, [side] represents home or away, and [zone] represents DEF, MID, or FWD.
| Field | Type | Description |
|---|---|---|
object.possession.[side].Total | integer | Total possession observations used for the team’s zone distribution. Equal to the sum of the three zone Abs values. |
object.possession.[side].[zone] | object | Possession values for one pitch zone. |
object.possession.[side].[zone].Abs | integer | Absolute number of possession observations recorded in the zone. |
object.possession.[side].[zone].Percent | number | Zone’s share of the team’s Total, returned as a ratio from 0 to 1. |
Zone Definitions
| Zone | Pitch Area | Description |
|---|---|---|
DEF | Defensive third | Possession recorded in the team’s defensive third. |
MID | Middle third | Possession recorded in the middle third of the pitch. |
FWD | Attacking third | Possession recorded in the team’s attacking or final third. |
The three zone percentages belong to one team and should total approximately
1.0, subject to rounding. They do not compare the home team’s overall possession against the away team’s overall possession.For display, multiply
Percent by 100. For example, 0.59 becomes 59%, 0.25 becomes 25%, and 0.16 becomes 16%.Error Response
Ifmatch_id is missing, the API returns a bad-request response using the standard KoraStats error envelope.