SportStatsAPI · Schema

dto.PlayerResponse

Sports DataWidgetsWordPressInsightsArtificial IntelligenceMCP

Properties

Name Type Description
age integer
attribution string
bio object Bio (soccer, only on /players/{id}): the normalised profile (full and short name, birth date and age, position, number, club, market value); profile above stays the feed's sections as sent.
birthdate string From the soccer player profile.
details object Details: the feed's other attributes, as sent (season stats, height, weight, college, injured...); keys differ per sport.
filled_from_wikidata array
height string
id integer
market_value_eur integer
name string
nationality string
number string
photo_url string PhotoURL: the player's photo on this API (image licence not included).
position string
preferred_foot string
profile object Profile: as sent, only on /players/{id}. Soccer: career statistics, transfers, trophies, sidelined. Tennis: birthplace, residence, plays, career_high, earnings, recent results and tournaments. Cricket
rank integer
rank_movement string up, down or same since the last list
rank_points integer
rating object Rating (tennis, only on /players/{id}): the player's Elo-style rating from our results (docs/ratings.md).
season object Season (soccer, only on /players/{id}): the current season in every competition we hold statistics for, summed and per competition.
sport string
summary string The website page's summary (English paragraphs from our data only; not with ?lang; none for a player under 18) and when the site build wrote it, while that build is under 2 hours old (middleware.SiteS
summary_as_of string
summary_lang string en
team_id integer
tour string Tennis singles ranking (atp or wta), when the player is in it.
transfers array Transfers (soccer, only on /players/{id}): the profile's transfers normalised, latest first.
updated_at string
weight string
wikidata object
wikidata_id string Wikidata: the player's Wikidata values (cricket, tennis; only on /players/{id}); birthdate, height and nationality above are filled from it only where the feed has none (listed in filled_from_wikidata
View JSON Schema on GitHub

JSON Schema

sportstatsapi-dto-player-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/sportstatsapi/json-schema/sportstatsapi-dto-player-response-schema.json",
  "title": "dto.PlayerResponse",
  "x-generated": "2026-11-08",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/sportstatsapi-openapi.json#/components/schemas/dto.PlayerResponse",
  "properties": {
    "age": {
      "type": "integer"
    },
    "attribution": {
      "type": "string"
    },
    "bio": {
      "allOf": [
        {
          "$ref": "#/$defs/dto.PlayerBioResponse"
        }
      ],
      "description": "Bio (soccer, only on /players/{id}): the normalised profile (full\nand short name, birth date and age, position, number, club, market\nvalue); profile above stays the feed's sections as sent."
    },
    "birthdate": {
      "description": "From the soccer player profile.",
      "type": "string"
    },
    "details": {
      "description": "Details: the feed's other attributes, as sent (season stats, height,\nweight, college, injured...); keys differ per sport.",
      "type": "object"
    },
    "filled_from_wikidata": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "height": {
      "type": "string"
    },
    "id": {
      "type": "integer"
    },
    "market_value_eur": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "nationality": {
      "type": "string"
    },
    "number": {
      "type": "string"
    },
    "photo_url": {
      "description": "PhotoURL: the player's photo on this API (image licence not included).",
      "type": "string"
    },
    "position": {
      "type": "string"
    },
    "preferred_foot": {
      "type": "string"
    },
    "profile": {
      "description": "Profile: as sent, only on /players/{id}. Soccer: career statistics,\ntransfers, trophies, sidelined. Tennis: birthplace, residence, plays,\ncareer_high, earnings, recent results and tournaments. Cricket:\nbatting_style, bowling_style, role, international caps and debuts,\nphoto (Commons link with licence and credit, adults only), sources,\nattribution and filled (the columns above it filled).",
      "type": "object"
    },
    "rank": {
      "type": "integer"
    },
    "rank_movement": {
      "description": "up, down or same since the last list",
      "type": "string"
    },
    "rank_points": {
      "type": "integer"
    },
    "rating": {
      "allOf": [
        {
          "$ref": "#/$defs/dto.TeamRatingResponse"
        }
      ],
      "description": "Rating (tennis, only on /players/{id}): the player's Elo-style rating\nfrom our results (docs/ratings.md)."
    },
    "season": {
      "allOf": [
        {
          "$ref": "#/$defs/dto.PlayerSeasonResponse"
        }
      ],
      "description": "Season (soccer, only on /players/{id}): the current season in every\ncompetition we hold statistics for, summed and per competition."
    },
    "sport": {
      "type": "string"
    },
    "summary": {
      "description": "The website page's summary (English paragraphs from our data only;\nnot with ?lang; none for a player under 18) and when the site build\nwrote it, while that build is under 2 hours old\n(middleware.SiteSummary); listed here for the API docs.",
      "type": "string"
    },
    "summary_as_of": {
      "type": "string"
    },
    "summary_lang": {
      "description": "en",
      "type": "string"
    },
    "team_id": {
      "type": "integer"
    },
    "tour": {
      "description": "Tennis singles ranking (atp or wta), when the player is in it.",
      "type": "string"
    },
    "transfers": {
      "description": "Transfers (soccer, only on /players/{id}): the profile's transfers\nnormalised, latest first.",
      "items": {
        "$ref": "#/$defs/dto.TransferResponse"
      },
      "type": "array"
    },
    "updated_at": {
      "type": "string"
    },
    "weight": {
      "type": "string"
    },
    "wikidata": {
      "$ref": "#/$defs/dto.WikiPlayerProfile"
    },
    "wikidata_id": {
      "description": "Wikidata: the player's Wikidata values (cricket, tennis; only on\n/players/{id}); birthdate, height and nationality above are filled\nfrom it only where the feed has none (listed in filled_from_wikidata).\nWikidataID: the player's Wikidata item (soccer squads and\n/players/{id}, when matched).",
      "type": "string"
    }
  },
  "type": "object",
  "$defs": {
    "dto.NamedRef": {
      "properties": {
        "id": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "wikidata_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "dto.PlayerBioResponse": {
      "properties": {
        "age": {
          "description": "Age: from the birth date on today's date, else as the squad feed has it.",
          "type": "integer"
        },
        "birth_date": {
          "description": "YYYY-MM-DD",
          "type": "string"
        },
        "club": {
          "$ref": "#/$defs/dto.NamedRef"
        },
        "full_name": {
          "description": "first and last name from the profile",
          "type": "string"
        },
        "id": {
          "type": "integer"
        },
        "known_as": {
          "description": "the name the feeds use",
          "type": "string"
        },
        "market_value_eur": {
          "type": "integer"
        },
        "nationality": {
          "type": "string"
        },
        "number": {
          "type": "integer"
        },
        "photo_url": {
          "type": "string"
        },
        "position": {
          "description": "Position: goalkeeper, defender, midfielder or forward.",
          "type": "string"
        },
        "short_name": {
          "description": "ShortName: the profile's common name (\"E. Haaland\").",
          "type": "string"
        }
      },
      "type": "object"
    },
    "dto.PlayerSeasonResponse": {
      "properties": {
        "leagues": {
          "items": {
            "$ref": "#/$defs/dto.PlayerSeasonStatsResponse"
          },
          "type": "array"
        },
        "season": {
          "type": "string"
        },
        "total": {
          "$ref": "#/$defs/dto.PlayerSeasonStatsResponse"
        }
      },
      "type": "object"
    },
    "dto.PlayerSeasonStatsResponse": {
      "properties": {
        "apps": {
          "type": "integer"
        },
        "assists": {
          "type": "integer"
        },
        "clean_sheets": {
          "type": "integer"
        },
        "goals": {
          "type": "integer"
        },
        "goals_conceded": {
          "type": "integer"
        },
        "last_match_date": {
          "description": "the league season's latest finished match",
          "type": "string"
        },
        "league_id": {
          "type": "integer"
        },
        "league_name": {
          "type": "string"
        },
        "matches_with_stats": {
          "type": "integer"
        },
        "minutes": {
          "type": "integer"
        },
        "own_goals": {
          "type": "integer"
        },
        "partial": {
          "description": "Partial: the season began before our live window, so the row counts\nonly its matches from then on (team_matches_played says how many).",
          "type": "boolean"
        },
        "penalty_goals": {
          "type": "integer"
        },
        "player_id": {
          "type": "integer"
        },
        "player_name": {
          "type": "string"
        },
        "rating_avg": {
          "type": "number"
        },
        "red": {
          "type": "integer"
        },
        "saves": {
          "type": "integer"
        },
        "season": {
          "type": "string"
        },
        "second_yellow": {
          "type": "integer"
        },
        "shots": {
          "type": "integer"
        },
        "shots_on_target": {
          "type": "integer"
        },
        "starts": {
          "type": "integer"
        },
        "sub_apps": {
          "type": "integer"
        },
        "team_id": {
          "type": "integer"
        },
        "team_matches_played": {
          "type": "integer"
        },
        "team_name": {
          "type": "string"
        },
        "updated_at": {
          "type": "string"
        },
        "xa": {
          "type": "number"
        },
        "xg": {
          "type": "number"
        },
        "yellow": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "dto.RatingHistoryResponse": {
      "properties": {
        "change": {
          "type": "number"
        },
        "date": {
          "type": "string"
        },
        "match_id": {
          "type": "integer"
        },
        "opponent_id": {
          "type": "integer"
        },
        "rating": {
          "type": "number"
        }
      },
      "type": "object"
    },
    "dto.TeamRatingResponse": {
      "properties": {
        "history": {
          "description": "/teams/{id}: the last 10 rated matches, latest first",
          "items": {
            "$ref": "#/$defs/dto.RatingHistoryResponse"
          },
          "type": "array"
        },
        "last_match_date": {
          "type": "string"
        },
        "league_id": {
          "type": "integer"
        },
        "league_name": {
          "type": "string"
        },
        "matches_rated": {
          "type": "integer"
        },
        "of": {
          "type": "integer"
        },
        "peak": {
          "type": "number"
        },
        "provisional": {
          "type": "boolean"
        },
        "rank": {
          "type": "integer"
        },
        "rated_from": {
          "type": "string"
        },
        "rating": {
          "type": "number"
        },
        "team_id": {
          "type": "integer"
        },
        "team_name": {
          "type": "string"
        },
        "updated_at": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "dto.TransferResponse": {
      "properties": {
        "date": {
          "description": "YYYY-MM-DD",
          "type": "string"
        },
        "fee_eur": {
          "description": "only when the feed gives a number",
          "type": "integer"
        },
        "fee_text": {
          "description": "as sent, e.g. \"EUR 30.0m\"",
          "type": "string"
        },
        "from_team_id": {
          "type": "integer"
        },
        "from_team_name": {
          "type": "string"
        },
        "planned": {
          "description": "dated after today (UTC): an agreed move to come, e.g. a loan end",
          "type": "boolean"
        },
        "player_id": {
          "type": "integer"
        },
        "player_name": {
          "type": "string"
        },
        "season": {
          "description": "2026/2027: from 1 June",
          "type": "string"
        },
        "source": {
          "type": "string"
        },
        "to_team_id": {
          "type": "integer"
        },
        "to_team_name": {
          "type": "string"
        },
        "type": {
          "description": "Type: transfer, loan, loan_return, free, promoted, swap or unknown;\ntype_label as the feed writes it.",
          "type": "string"
        },
        "type_label": {
          "type": "string"
        },
        "updated_at": {
          "type": "string"
        },
        "window": {
          "description": "summer, winter, other",
          "type": "string"
        }
      },
      "type": "object"
    },
    "dto.WikiPlayerProfile": {
      "properties": {
        "birth_date": {
          "type": "string"
        },
        "bowling_style": {
          "description": "cricket",
          "type": "string"
        },
        "country": {
          "description": "country for sport, else citizenship",
          "type": "string"
        },
        "hand": {
          "description": "right, left, ambidextrous: cricket batting hand, tennis playing hand",
          "type": "string"
        },
        "height_cm": {
          "type": "integer"
        },
        "role": {
          "description": "cricket: batter, bowler, all-rounder...",
          "type": "string"
        },
        "source": {
          "type": "string"
        },
        "updated_at": {
          "type": "string"
        },
        "wikidata_id": {
          "type": "string"
        }
      },
      "type": "object"
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/sportstatsapi-dto-player-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.