Skip to content

Bepro Data API (2.0.0)

Welcome to the Bepro Data API documentation. This API provides comprehensive access to Bepro's whole database based on your own service permission scope, including events, stats, positional data, or meta data etc.


Overview

This section covers the essential information you need to get started with the Bepro Data API.

Authentication

All API requests require authentication using a Bearer token.

Include the token in the Authorization header:

Authorization: Bearer YOUR_API_TOKEN

To obtain an API token, please contact the Bepro team.


Rate Limits

  • Rate Limit: 1000 requests per minute per API token
  • Burst Limit: 100 requests per second

When you exceed the rate limit, you'll receive a 429 Too Many Requests response.


Event Definition

For detailed information about event types and their properties, please refer to our Event Definition Documentation:


Coordinates

All coordinate values in the API use a normalized coordinate system:

  • X-axis: 0.0 (left) to 1.0 (right)
  • Y-axis: 0.0 (bottom) to 1.0 (top)
  • Origin: Bottom-left corner (0, 0)

Version History

v2.0.0 (Current)

  • Initial release of the new Data API v2

Servers
https://ds.bepro.ai/data-api/

Meta

Operations

Data

Operations

Get Events

Request

Query
match_idMatch Id (integer) or Match Id (null)(Match Id)
Any of:
integer(Match Id)
team_idTeam Id (integer) or Team Id (null)(Team Id)
Any of:
integer(Team Id)
season_idSeason Id (integer) or Season Id (null)(Season Id)
Any of:
integer(Season Id)
offsetinteger(Offset)
Default 0
limitinteger(Limit)
Default 1000
langstring(Lang)
Default "en"
player_idPlayer Id (integer) or Player Id (null)(Player Id)
Any of:
integer(Player Id)
event_typesEvent Types (string) or Event Types (null)(Event Types)
Any of:
string(Event Types)

Responses

Successful Response

Bodyapplication/json
countinteger(Count)required
nextNext (string) or Next (null)(Next)
Any of:
string(Next)
prevPrev (string) or Prev (null)(Prev)
Any of:
string(Prev)
dataArray of objects(Data)required
data[].​idstring(Id)required
data[].​match_idinteger(Match Id)required
data[].​match_start_timestring(Match Start Time)required
data[].​season_idSeason Id (integer) or Season Id (null)(Season Id)
Any of:
integer(Season Id)
data[].​sport_typestring(Sport Type)required
data[].​period_typestring(Period Type)required
data[].​period_orderinteger(Period Order)required
data[].​period_start_timeinteger(Period Start Time)required
data[].​period_durationinteger(Period Duration)required
data[].​event_timeinteger(Event Time)required
data[].​team_idinteger(Team Id)required
data[].​team_namestring(Team Name)required
data[].​player_idPlayer Id (integer) or Player Id (null)(Player Id)
Any of:
integer(Player Id)
data[].​player_shirt_numberPlayer Shirt Number (string) or Player Shirt Number (null)(Player Shirt Number)
Any of:
string(Player Shirt Number)
data[].​player_namePlayer Name (string) or Player Name (null)(Player Name)
Any of:
string(Player Name)
data[].​eventsArray of objects(Events)required
data[].​events[].​event_typestring(Event Type)required

Event type identifier

data[].​events[].​propertyobject(Property)required

Properties related to the event

data[].​events[].​property.​property name*anyadditional property
data[].​xnumber(X)required
data[].​ynumber(Y)required
data[].​to_xTo X (number) or To X (null)(To X)
Any of:
number(To X)
data[].​to_yTo Y (number) or To Y (null)(To Y)
Any of:
number(To Y)
data[].​goal_position_xGoal Position X (number) or Goal Position X (null)(Goal Position X)
Any of:
number(Goal Position X)
data[].​goal_position_yGoal Position Y (number) or Goal Position Y (null)(Goal Position Y)
Any of:
number(Goal Position Y)
data[].​attack_directionstring(Attack Direction)required
data[].​is_team_eventboolean(Is Team Event)
Default false
data[].​is_duration_eventboolean(Is Duration Event)
Default false
data[].​to_player_idTo Player Id (integer) or To Player Id (null)(To Player Id)
Any of:
integer(To Player Id)
data[].​to_player_nameTo Player Name (string) or To Player Name (null)(To Player Name)
Any of:
string(To Player Name)
data[].​to_player_shirt_numberTo Player Shirt Number (string) or To Player Shirt Number (null)(To Player Shirt Number)
Any of:
string(To Player Shirt Number)
Response
application/json
{ "count": 0, "next": "string", "prev": "string", "data": [ {} ] }

Get Schemas

Request

Query
sport_typestring(Sport Type)required
langstring(Lang)
Default "en"

Responses

Successful Response

Bodyapplication/json
sport_typestring(Sport Type)required
countinteger(Count)required
dataArray of objects(Data)required
data[].​event_typestring(Event Type)required
data[].​event_namestring(Event Name)required
data[].​sport_typestring(Sport Type)required
data[].​propertiesArray of objects(Properties)required
data[].​properties[].​property_keystring(Property Key)required
data[].​properties[].​property_key_namestring(Property Key Name)required
data[].​properties[].​requiredboolean(Required)required
data[].​properties[].​typestring(Type)required
data[].​properties[].​orderinteger(Order)required
data[].​properties[].​defaultDefault (string) or Default (integer) or Default (number) or Default (boolean) or Default (null)(Default)
Any of:
string(Default)
data[].​properties[].​min_valueMin Value (integer) or Min Value (null)(Min Value)
Any of:
integer(Min Value)
data[].​properties[].​max_valueMax Value (integer) or Max Value (null)(Max Value)
Any of:
integer(Max Value)
data[].​properties[].​optionsArray of Options (objects) or Options (null)(Options)
Any of:
data[].​properties[].​to_countboolean(To Count)required
data[].​has_goal_positionboolean(Has Goal Position)required
data[].​is_team_eventboolean(Is Team Event)required
data[].​player_in_or_outstring(Player In Or Out)required
data[].​orderinteger(Order)required
data[].​to_countboolean(To Count)required
data[].​is_duration_eventboolean(Is Duration Event)required
Response
application/json
{ "sport_type": "string", "count": 0, "data": [ {} ] }

Get Sequences

Request

Query
match_idMatch Id (integer) or Match Id (null)(Match Id)
Any of:
integer(Match Id)
team_idTeam Id (integer) or Team Id (null)(Team Id)
Any of:
integer(Team Id)
season_idSeason Id (integer) or Season Id (null)(Season Id)
Any of:
integer(Season Id)
offsetinteger(Offset)
Default 0
limitinteger(Limit)
Default 1000
langstring(Lang)
Default "en"

Responses

Successful Response

Bodyapplication/json
countinteger(Count)required
dataArray of objects(Data)required
data[].​match_idinteger(Match Id)required
data[].​team_idTeam Id (integer) or Team Id (null)(Team Id)
Any of:
integer(Team Id)
data[].​team_nameTeam Name (string) or Team Name (null)(Team Name)
Any of:
string(Team Name)
data[].​period_orderinteger(Period Order)required
data[].​start_timeinteger(Start Time)required
data[].​end_timeinteger(End Time)required
data[].​event_idsArray of Event Ids (strings) or Event Ids (null)(Event Ids)
Any of:
data[].​xnumber(X)required
data[].​ynumber(Y)required
data[].​to_xnumber(To X)required
data[].​to_ynumber(To Y)required
data[].​attack_directionAttack Direction (string) or Attack Direction (null)(Attack Direction)
Any of:
string(Attack Direction)
data[].​ball_statusstring(Ball Status)required
data[].​total_distancenumber(Total Distance)required
data[].​num_of_passesinteger(Num Of Passes)required
data[].​progress_directionProgress Direction (string) or Progress Direction (null)(Progress Direction)
Any of:
string(Progress Direction)
data[].​progress_distanceProgress Distance (number) or Progress Distance (null)(Progress Distance)
Any of:
number(Progress Distance)
prevPrev (string) or Prev (null)(Prev)
Any of:
string(Prev)
nextNext (string) or Next (null)(Next)
Any of:
string(Next)
Response
application/json
{ "count": 0, "data": [ {} ], "prev": "string", "next": "string" }

Get Player Stats

Request

Query
match_idMatch Id (integer) or Match Id (null)(Match Id)
Any of:
integer(Match Id)
team_idTeam Id (integer) or Team Id (null)(Team Id)
Any of:
integer(Team Id)
season_idSeason Id (integer) or Season Id (null)(Season Id)
Any of:
integer(Season Id)
offsetinteger(Offset)
Default 0
limitinteger(Limit)
Default 1000
langstring(Lang)
Default "en"
player_idPlayer Id (integer) or Player Id (null)(Player Id)
Any of:
integer(Player Id)

Responses

Successful Response

Bodyapplication/json
countinteger(Count)required
nextNext (string) or Next (null)(Next)
Any of:
string(Next)
prevPrev (string) or Prev (null)(Prev)
Any of:
string(Prev)
dataArray of objects(Data)required
data[].​match_idinteger(Match Id)required
data[].​match_start_timestring(Match Start Time)required
data[].​season_idSeason Id (integer) or Season Id (null)(Season Id)
Any of:
integer(Season Id)
data[].​sport_typestring(Sport Type)required
data[].​team_idinteger(Team Id)required
data[].​team_namestring(Team Name)required
data[].​is_homeboolean(Is Home)required
data[].​statsobject(Stats)required
data[].​stats.​property name*anyadditional property
data[].​player_idinteger(Player Id)required
data[].​player_namestring(Player Name)required
data[].​shirt_numberstring(Shirt Number)required
data[].​initial_position_namestring(Initial Position Name)required
data[].​is_mainboolean(Is Main)required
Response
application/json
{ "count": 0, "next": "string", "prev": "string", "data": [ {} ] }

Get Team Stats

Request

Query
match_idMatch Id (integer) or Match Id (null)(Match Id)
Any of:
integer(Match Id)
team_idTeam Id (integer) or Team Id (null)(Team Id)
Any of:
integer(Team Id)
season_idSeason Id (integer) or Season Id (null)(Season Id)
Any of:
integer(Season Id)
offsetinteger(Offset)
Default 0
limitinteger(Limit)
Default 1000
langstring(Lang)
Default "en"

Responses

Successful Response

Bodyapplication/json
countinteger(Count)required
nextNext (string) or Next (null)(Next)
Any of:
string(Next)
prevPrev (string) or Prev (null)(Prev)
Any of:
string(Prev)
dataArray of objects(Data)required
data[].​match_idinteger(Match Id)required
data[].​match_start_timestring(Match Start Time)required
data[].​season_idSeason Id (integer) or Season Id (null)(Season Id)
Any of:
integer(Season Id)
data[].​sport_typestring(Sport Type)required
data[].​team_idinteger(Team Id)required
data[].​team_namestring(Team Name)required
data[].​is_homeboolean(Is Home)required
data[].​statsobject(Stats)required
data[].​stats.​property name*anyadditional property
Response
application/json
{ "count": 0, "next": "string", "prev": "string", "data": [ {} ] }

Get Tracking

Request

Constraints:

  • A specific match ID, period order, and time range are required.
  • Time range (end_match_time - start_match_time) must not exceed 60,000ms (1 minute)
  • All time values are in milliseconds
Query
match_idMatch Id (integer) or Match Id (null)(Match Id)
Any of:
integer(Match Id)
period_orderPeriod Order (integer) or Period Order (null)(Period Order)
Any of:
integer(Period Order)
start_match_timeStart Match Time (integer) or Start Match Time (null)(Start Match Time)
Any of:
integer(Start Match Time)
end_match_timeEnd Match Time (integer) or End Match Time (null)(End Match Time)
Any of:
integer(End Match Time)
player_idPlayer Id (integer) or Player Id (null)(Player Id)
Any of:
integer(Player Id)
only_playerboolean(Only Player)
Default false

Responses

Successful Response

Bodyapplication/json
countinteger(Count)required
dataArray of objects(Data)required
data[].​period_orderinteger(Period Order)required
data[].​match_timeinteger(Match Time)required
data[].​frame_indexinteger(Frame Index)required
data[].​ball_stateBall State (string) or Ball State (null)(Ball State)
Any of:
string(Ball State)
data[].​playersArray of objects(Players)required
data[].​players[].​player_idinteger(Player Id)required
data[].​players[].​xnumber(X)required
data[].​players[].​ynumber(Y)required
data[].​ballsArray of objects(Balls)required
data[].​balls[].​xnumber(X)required
data[].​balls[].​ynumber(Y)required
Response
application/json
{ "count": 0, "data": [ {} ] }

Video

Operations

External

Operations