Sport Line API Field Reference
This reference contains request parameters and JSON fields confirmed by actual Sport Line API responses.
For relationships between fields and differences between match objects returned by different methods, see Match Data Model.
If the Description cell is empty, the purpose of that field has not yet been confirmed. Do not interpret such values independently. A description will be added after the API developer or owner provides clarification.
Request Parameters
| Parameter | Location | Type | Values or format | Description |
|---|---|---|---|---|
Package | HTTP header | string | Client API key | Authentication key |
type | URL | string | live, line | Sports line type |
lang | URL | string | For example, ru, en | Response language available in the client’s subscription |
sportId | URL | number | Sport ID | Retrieved from menu or sports |
countryId | URL | number | Country ID | Retrieved from menu or countries |
tournamentId | URL | number | Tournament ID; 0 means all tournaments for the sport | Retrieved from menu or tournaments |
gameId | URL | number | Match ID | Retrieved from events |
text | URL | string | Team name or part of it | Search text for the search method; it must be URL-encoded |
format | URL | string | sub for events; group for event | sub groups matches by tournament; group arranges a specific match’s odds into markets and columns and sorts them by value |
count | URL | number | Pass 50 | Originally controlled the number of records returned, but the limit has been removed. The API returns all available matches in the selected scope |
cybersport | query parameter | boolean | true, false | Switches to esports data in methods that support this parameter |
full | query parameter | boolean | true, false; default is false | In topmatches and toplist, switches from a short summary to an extended match object. It does not return the full odds list |
Standard Successful Response
Rules for processing successful responses, empty result sets, service messages, and errors are documented in Sport Line API Response Format.
| Field | Type | Methods | Values or format | Description |
|---|---|---|---|---|
status | number | all documented methods | 1 in successful responses | Request status |
page | string | all documented methods | For example, /v1/menu, /v1/events, /v1/event, /v1/toplist, /v1/search; topmatches currently returns /v1/topmathes | Name of the method that generated the response |
body | array or object | all documented methods | Depends on the method | Main response data |
API Error
| Field | Type | Methods | Values or format | Description |
|---|---|---|---|---|
error_code | number | all methods | For example, 90, 100 | Error category code |
error_message | string | all methods | Error text | Cause of the error |
Sport
This object is returned by sports and at the top level of menu.
| Field | Type | Values or format | Description |
|---|---|---|---|
id | number | Sport ID | Used as sportId in the URL |
name | string | Name in the requested language | Sport name |
counter | number | Integer starting from 0 | Number of available matches for this sport |
sub | array | Only in menu | Countries for the selected sport |
Standard icon:
https://cdn.sportapi.net/sports/v1/color/{id}.webp
Country
This object is returned by countries and inside a sport object in menu.
| Field | Type | Values or format | Description |
|---|---|---|---|
id | number | Country ID | Used as countryId in the URL |
name | string | Name in the requested language | Country name |
sport_id | number | Sport ID | Sport to which the country selection belongs |
counter | number | Integer starting from 0 | Number of available matches for the selected sport in this country |
sub | array | Only in menu | Tournaments for the selected country |
Standard icon:
https://cdn.sportapi.net/flags/v1/color/{id}.webp
Tournament in Navigation Methods
This object is returned by tournaments and inside a country object in menu.
| Field | Type | Values or format | Description |
|---|---|---|---|
id | number | Tournament ID | Used as tournamentId in the URL |
name | string | Name or an empty string | Tournament name |
counter | number | Integer starting from 0 | Number of available tournament matches |
sport_id | number | Sport ID | Tournament’s sport |
countryId | number | Country ID | Tournament’s country |
Standard icon:
https://cdn.sportapi.net/tournaments/v1/color/{id}.webp
Tournament in an events Response
| Field | Type | Values or format | Description |
|---|---|---|---|
tournament_id | number | Tournament ID | Tournament identifier |
tournament_name | string | Name in the requested language | Tournament name |
events_list | array | Match array | Tournament matches |
Match: Identifiers and Placement
The short match fields in this section are also used by the search response. Search
returns a flat match array without odds.
| Field | Type | Values or format | Description |
|---|---|---|---|
sgame_id | string | String ID | Reserved test field for match, team, and player statistics. It is not currently used by the API |
stat_id | string | String ID | Reserved test field for detailed statistics. It is not currently used by the API |
game_id | number | Numeric ID | Match ID used to request event |
game_mid | number or null | Numeric ID or null | Main match ID. A submatch has its own game_id, while game_mid points to the main match |
game_num | number | Integer | Legacy unused field. It is planned for removal from the API |
game_start | number | Unix timestamp in seconds | Match start time |
sport_id | number | Sport ID | Match sport |
sport_name | string | Name in the requested language | Sport name |
country_id | number | Country ID | Match country |
country_name | string | Name in the requested language | Country name |
tournament_id | number | Tournament ID | Match tournament |
tournament_name | string | Name in the requested language | Tournament name |
game_dop_name | string | For example, Corners, Yellow Cards, 1st Half | Submatch type name |
game_desk | string | For example, Half, Set, Quarter | Type of playing period |
Important: a new game_id is generated for the Live version of a match. Prematch and
Live matches cannot be linked using this field.
Do not treat sgame_id, stat_id, game_num, stat_list_extra, or game_plan as
required parts of a client integration. They are legacy, test, or reserved fields.
game_num is planned for removal from the API.
Match: Teams or Participants
| Field | Type | Values or format | Description |
|---|---|---|---|
opp_1_name | string | Name | First team or participant |
opp_2_name | string | Name | Second team or participant |
opp_1_id | number | Numeric ID | First team or participant ID |
opp_2_id | number | Numeric ID | Second team or participant ID |
opp_1_ids | array of number | ID array | Participants on the first side when it consists of multiple players or teams, such as a tennis doubles pair or a group match |
opp_2_ids | array of number | ID array | Participants on the second side when it consists of multiple players or teams, such as a tennis doubles pair or a group match |
opp_1_icon | string | File name, for example hash.png | First team or participant icon |
opp_2_icon | string | File name, for example hash.png | Second team or participant icon |
To retrieve a standard icon, remove the extension from opp_1_icon or opp_2_icon and
insert the remaining name into the URL:
https://cdn.sportapi.net/opp/v1/color/{iconName}.webp
Match: Short Betting List
| Field | Type | Values or format | Description |
|---|---|---|---|
game_oc_counter | number | Integer starting from 0 | Total number of available betting selections or outcomes for the match |
game_oc_list | array | Market array | Short list of main markets and best odds in events, topmatches?full=true, and toplist?full=true |
The set of markets and selections depends on the sport. Retrieve the complete selection
list through event using game_id.
Betting Market in game_oc_list
| Field | Type | Values or format | Description |
|---|---|---|---|
group_id | number | Market ID | Betting market identifier |
group_name | string | Name in the requested language | Betting market name |
columns | number | Integer | Recommended number of display columns. It does not have to equal the number of nested arrays in oc_list |
oc_list | array | In events, topmatches?full=true, and toplist?full=true: a selection array; in event: an array of arrays | In event, each nested array represents one selection column in the group format |
In the group format, the API has already arranged the data into columns and sorted it
by value. Preserve the API order instead of regrouping or re-sorting selections on the
client side.
Selection in oc_list
Practical rules for using these fields and real examples of different bet types are documented in Odds and Betting Market Data Model.
| Field | Type | Values or format | Description |
|---|---|---|---|
oc_group_name | string | Name in the requested language | Betting market name |
oc_name | string | Name in the requested language | Selection name |
oc_rate | number | Decimal number | Odds |
oc_size | string or number | For example, 0, "2.5", "-0.25" | Handicap, total, or another parameter value |
oc_pointer | string | Composite string ID | Primary unique code of the bet or selection. It is passed to the separate bet placement and settlement system when that service is connected. For player-specific selections, also account for op_id |
oc_block | boolean | true, false | true means the selection is blocked; false means it is available |
op_id | number or null | ID or null | Player or participant ID for a player-specific selection, when applicable |
Match: Score, Period, and Additional Data
| Field | Type | Values or format | Description |
|---|---|---|---|
timer | number | Whole seconds; usually 0 in Prematch | Match timer. Divide the value by 60 to obtain minutes |
score_full | string | For example, "1:0" | Overall score |
score_period | string | Score or an empty string | Current-period score |
score_extra | string | For example, "0:15" or an empty string | Tennis game score. It is primarily used in tennis and may occur in similar formats, including esports tennis |
period_name | string | Name or an empty string | Current match period |
extra_time | string | For example, "+10" or an empty string | Number of added minutes |
finale | boolean or null | true, false, null | Indicates that the match has ended. This field is not available for every match |
pitch | string | ID or an empty string | ID of the participant serving in applicable sports |
stat_list | array | Statistics array | Match statistics |
stat_list_extra | array | Array | Reserved test field for additional match details. It is not currently used |
sub_games | array | Submatch array | Returns [] in events, topmatches?full=true, and toplist?full=true. In a specific event, it contains links to submatches but not their odds |
event_plan | array | Object array | Returns [] in events, topmatches?full=true, and toplist?full=true. The full list of home-side and away-side teams in a group match is available only in a specific event |
game_plan | any JSON value or null | null in actual examples | Reserved test field for match details such as a tournament stage or court type. It is not currently used |
Statistics Entry in stat_list
Processing rules, real examples, and confirmed statistic IDs are documented in Live Match Statistics Data Model.
| Field | Type | Values or format | Description |
|---|---|---|---|
id | number | Statistic ID | Statistic identifier |
name | string | Name in the requested language | Statistic name |
opp1 | string | Number or another value represented as a string | Value for the first team or participant |
opp2 | string | Number or another value represented as a string | Value for the second team or participant |
Submatch in sub_games
The complete process for retrieving and opening additional matches is documented in Additional Matches and Submatches.
| Field | Type | Values or format | Description |
|---|---|---|---|
game_id | number or null | ID or null | Sub-event ID |
game_num | number or null | Number or null | Legacy unused field. It is planned for removal from the API |
game_name | string or null | Name or null | Sub-event name |
sub_games contains links to separate submatch types: periods, corners, cards, fouls,
player statistics, and other available options.
In an events list, the field is returned as an empty array:
"sub_games": []
The events method does not use sub_games; it returns only [] here. The list is
available when requesting a specific match through event. Each item contains
game_id, game_num, and game_name. To retrieve a submatch’s odds, make a separate
event request using its game_id.
Object in event_plan
The events method does not use event_plan and returns only [] here. A populated
field is available in a specific event response for a group match. The main match may
be named “Home — Away,” while the array contains the complete list of actual teams on
both sides. Each object describes a pair of teams and the time of their meeting.
| Field | Type | Values or format | Description |
|---|---|---|---|
opp_1_name | string | Name | Team on the home side |
opp_2_name | string | Name | Team on the away side |
opp_1_id | number or null | ID or null | Home-side team ID |
opp_2_id | number or null | ID or null | Away-side team ID |
opp_1_country_id | number or null | ID or null | Country ID of the home-side team |
opp_2_country_id | number or null | ID or null | Country ID of the away-side team |
opp_1_icon | string | File name | Home-side team icon |
opp_2_icon | string | File name | Away-side team icon |
opp_1_date | number or null | Unix timestamp or null | Date and time associated with the home-side team |
opp_2_date | number or null | Unix timestamp or null | Date and time associated with the away-side team |
game_start | number or null | Unix timestamp or null | Start time of this pair’s meeting |
Video and Live 3D Tracker
Detailed rules:
| Field | Type | Values or format | Description |
|---|---|---|---|
vi | string or null | ID or null | Live match video stream ID |
zp | number or null | ID or null | Live 3D Tracker ID, passed to the tracker as gameid |
va | number or null | Only 1 or null | 1 means video is available; null means no video is available. The value 0 is not used |
If zp is null, Live 3D Tracker is not available for the match.