Field Explanation
Technical fields used in the JSON.
General Instructions
home
/ away
The identifier home
is equal to "team 1" and away
is equal to "team 2".
Date and time
All date and time values are in UTC formated as ISO 8601.
Numeric fields
Data from numeric fields like corners or cards that can be 0 or greater than 0 are set to -1
if we have currently no value for them.
Field names ending in numbers
Field names ending in 1
or 2
like corners_ht_1
are valid for team 1 and 2 respectively.
Game period identifiers
If the value of a field is only valid for a part of the event (such as first half or ordinary playtime), the identifier contains a short form of this timerange.
For example: ht
= halftime; ord
= ordinary playtime; fe
= final; 1s
= first set and so on.
goalval
field
The This field gives detailed information for each goal. It is a string with the following format:
playtime_stage_runningNumber_goalscorer_scoringTeam_additionalInfo#...#
This string is a concatenated array with goal details joined by _
, and separate goals joined by #
. To convert the string back into an array, you can use the following example function:
const goals: [
playtime: string,
stage: '1h' | '2h',
runningNumber: string,
goalScorer: string,
scoringTeam: string,
additionalInfo: string,
][] = data.goalval.split('#').map(goal => goal.split('_'))
The elements in this array are as follows:
playtime
The minute the goal was scored.
stage
The period of the game (first half, second half, etc.) when the goal was scored.
runningNumber
The number of the goal (first, second, etc.) It is posible that two goals are scored in the same minute, and even for a different team, so this index helps display/calculate the goals in the correct order.
goalScorer
The name of the goal scorer; x
if we have no name.
scoringTeam
The team the goal counts for.
additionalInfo
Info if the goal is the result of a special situation like penalty; x
if we have no information.
example
Example for "25_1h_1_x_2_x#84_2h_2_x_1_x"
We split the string on #
and obtain an array like this:
["25_1h_1_x_2_x", "84_2h_2_x_1_x"]
We then split each element on _
like so:
[
[
"25", // 25th minute
"1h", // first half
"1", // first goal of the game
"x", // we don't know the goal scorer
"2", // team 2 scored
"x" // we have no additional information
],
[
"84", // 84th minute
"2h", // second half
"2", // second goal of the game
"x", // we don't know the goal scorer
"1", // team 1 scored
"x" // we have no additional information
]
]
The result of this match is 1:1
cornerval
field
The This field is handled exactly like goalval
but does not contain additionalInfo
about the match situation, so the array of the second split has only 5 elements.