Data Model¶
The data model was designed to keep to the original data’s structure as closely as possible. There were mostly minor changes as a result of following the PEP8 guidelines such as turning variable names from using camelCase to under_scores.
Each football-data.org resource is mapped into an object. Each value in a JSON resource is mapped to an attribute of the object. You can access these values using the syntax Object.attribute. For example:
>>> import pyfootball
>>> f = pyfootball.Football(api_key='your_api_key')
>>> my_team = f.get_team(5)
>>> my_team.name
FC Bayern München
Competition¶
| Attribute | Type | Description |
|---|---|---|
| id | integer | The ID of the competition. |
| name | string | The name of the competition. |
| code | string | The League Code of the competition. |
| year | integer | The year in which the competition started. For example, the year for a 16/17 competition would be 2016. |
| current_matchday | integer | The competition’s current matchday. |
| number_of_matchdays | integer | The number of matchdays in this competition. |
| number_of_teams | integer | The number of teams competing in this competition. |
| number_of_games | integer | The number of games in this competition. |
| last_updated | datetime | The date and time at which this resource was last updated. |
LeagueTable¶
| Attribute | Type | Description |
|---|---|---|
| competition_id | integer | The competition ID for this league table. |
| competition_name | string | The competition name for this league table. |
| current_matchday | id | The current matchday. |
| standings | list | A list of Standing objects. The list is one-indexed so as to correspond with the position in the table (i.e. standings[1] is the top of the table) |
Standing¶
Each Standing object represents a “row” in the league table.
| Attribute | Type | Description |
|---|---|---|
| team_id | integer | The team ID. |
| team_name | string | The team name. |
| crest_url | string | A link to an image of the team’s crest. |
| position | integer | The current team’s position. |
| games_played | integer | The number of games played by this team. |
| points | integer | The number of points that this team has. |
| goals | integer | The number of goals scored by this team. |
| goals_against | integer | The number of goals conceded by this team. |
| goal_difference | integer | (goals - goals_against) |
| wins | integer | The number of wins this team has. |
| draws | integer | The number of draws this team has. |
| losses | integer | The number of losses this team has. |
| home | dict | Contains goals, goals_against, wins, draws, and losses keys with integer values that represent home stats. |
| away | dict | Contains goals, goals_against, wins, draws, and losses keys with integer values that represent away stats. |
Fixture¶
| Attribute | Type | Description |
|---|---|---|
| date | datetime | The fixture date and time. |
| status | string | The status of this fixture. |
| matchday | integer | The matchday on which this fixture is set. |
| home_team | string | The name of the home team. |
| home_team_id | integer | The ID of the home team. |
| away_team | string | The name of the away team. |
| away_team_id | integer | The ID of the away team. |
| competition_id | integer | The ID of the competition for this fixture. |
| result | dict | The result for this fixture. None if the match is not complete. Otherwise, contains home_team_goals and away_team_goals keys with integer values. Some Fixtures have a half_time key set for the score at half time. |
| odds | dict | The betting odds for this fixture. None if not available. Otherwise, contains home_win, draw and away_win keys with float values. |
Team¶
| Attribute | Type | Description |
|---|---|---|
| id | integer | The team ID. |
| name | string | The team name. |
| code | string | The team code (e.g. Borussia Dortmund’s code is BVB). |
| short_name | string | The team’s short name. |
| market_value | string | The collective market value of the team’s squad. |
| crest_url | string | A link to an image of the team’s crest. |
Player¶
| Attribute | Type | Description |
|---|---|---|
| name | string | The player’s name. |
| position | string | The player’s position on the field. |
| jersey_number | integer | The player’s kit number. |
| date_of_birth | date | The player’s date of birth. |
| nationality | string | The player’s nationality. |
| contract_until | date | The date of the player’s contract expiry with their team. |
| market_value | string | The player’s market value. |