{
  "canonical_id": "james-thomas",
  "canonical_name": "James Thomas",
  "positions": [
    "FB"
  ],
  "leagues": [
    "USL1"
  ],
  "sport_names": [],
  "ambiguous": false,
  "appearances": [
    {
      "id": 1501870,
      "full_name": "James Thomas",
      "team": "",
      "position": "FB",
      "sport_id": null,
      "league": "USL1",
      "jersey": null,
      "college": null,
      "college_stats": null,
      "height": "5'8\"",
      "weight": "154",
      "college_full": null
    },
    {
      "id": 1504223,
      "full_name": "James Thomas",
      "team": "",
      "position": "FB",
      "sport_id": null,
      "league": "USLC",
      "jersey": null,
      "college": null,
      "college_stats": null,
      "height": null,
      "weight": null,
      "college_full": null
    }
  ],
  "career_totals": {
    "minutes_played": 5180.0,
    "shots": 36.0,
    "shots_on_target": 9.0,
    "goals": 1.0,
    "xg": 3.1429,
    "xg_place": -1.3573,
    "goals_minus_xg": -2.1429,
    "key_passes": 69.0,
    "assists": 4.0,
    "xa": 6.124300000000001,
    "assists_minus_xa": -2.1243,
    "goals_plus_assists": 5.0,
    "xg_plus_xa": 9.267199999999999,
    "points_added": 0.6268,
    "xpoints_added": 2.0493,
    "passes_attempted": 2499.0,
    "pass_completion_pct": 3.0356,
    "xpass_completion_pct": 2.9253,
    "passes_over_expected": 36.723200000000006,
    "passes_over_expected_p100": 11.0346,
    "avg_pass_distance": 77.70979999999999,
    "avg_pass_vertical": 23.9427
  },
  "season_totals": {
    "USLC-2017": {
      "minutes_played": 2159.0,
      "shots": 14.0,
      "shots_on_target": 5.0,
      "goals": 1.0,
      "xg": 1.8177,
      "xg_place": -0.902,
      "goals_minus_xg": -0.8177,
      "key_passes": 24.0,
      "assists": 3.0,
      "xa": 1.7453,
      "assists_minus_xa": 1.2547,
      "goals_plus_assists": 4.0,
      "xg_plus_xa": 3.563,
      "points_added": 0.6268,
      "xpoints_added": 1.3194,
      "passes_attempted": 901.0,
      "pass_completion_pct": 0.7536,
      "xpass_completion_pct": 0.7424,
      "passes_over_expected": 10.0962,
      "passes_over_expected_p100": 1.1206,
      "avg_pass_distance": 17.9579,
      "avg_pass_vertical": 5.297
    },
    "USL1-2023": {
      "minutes_played": 1121.0,
      "shots": 11.0,
      "shots_on_target": 2.0,
      "goals": 0.0,
      "xg": 0.5953,
      "xg_place": -0.0408,
      "goals_minus_xg": -0.5953,
      "key_passes": 22.0,
      "assists": 1.0,
      "xa": 1.6833,
      "assists_minus_xa": -0.6833,
      "goals_plus_assists": 1.0,
      "xg_plus_xa": 2.2786,
      "points_added": 0.0,
      "xpoints_added": 0.4104,
      "passes_attempted": 623.0,
      "pass_completion_pct": 0.7319,
      "xpass_completion_pct": 0.712,
      "passes_over_expected": 12.4061,
      "passes_over_expected_p100": 1.9913,
      "avg_pass_distance": 21.8486,
      "avg_pass_vertical": 5.0571
    },
    "USL1-2024": {
      "minutes_played": 1657.0,
      "shots": 10.0,
      "shots_on_target": 2.0,
      "goals": 0.0,
      "xg": 0.7178,
      "xg_place": -0.4024,
      "goals_minus_xg": -0.7178,
      "key_passes": 22.0,
      "assists": 0.0,
      "xa": 2.3109,
      "assists_minus_xa": -2.3109,
      "goals_plus_assists": 0.0,
      "xg_plus_xa": 3.0287,
      "points_added": 0.0,
      "xpoints_added": 0.2967,
      "passes_attempted": 824.0,
      "pass_completion_pct": 0.7488,
      "xpass_completion_pct": 0.7454,
      "passes_over_expected": 2.7642,
      "passes_over_expected_p100": 0.3355,
      "avg_pass_distance": 18.6209,
      "avg_pass_vertical": 3.9739
    },
    "USL1-2025": {
      "minutes_played": 243.0,
      "shots": 1.0,
      "shots_on_target": 0.0,
      "goals": 0.0,
      "xg": 0.0121,
      "xg_place": -0.0121,
      "goals_minus_xg": -0.0121,
      "key_passes": 1.0,
      "assists": 0.0,
      "xa": 0.3848,
      "assists_minus_xa": -0.3848,
      "goals_plus_assists": 0.0,
      "xg_plus_xa": 0.3969,
      "points_added": 0.0,
      "xpoints_added": 0.0228,
      "passes_attempted": 151.0,
      "pass_completion_pct": 0.8013,
      "xpass_completion_pct": 0.7255,
      "passes_over_expected": 11.4567,
      "passes_over_expected_p100": 7.5872,
      "avg_pass_distance": 19.2824,
      "avg_pass_vertical": 9.6147
    }
  },
  "season_coaches": {},
  "game_log": [
    {
      "game_id": "soccer-uslc-2017-xW5pkVBMg1",
      "game_slug": "soccer-uslc-2017-xw5pkvbmg1",
      "display": "USLC 2017 Season",
      "season": 2017,
      "week": 1,
      "league": "USLC",
      "sport_slug": "uslc-2017",
      "away_team": "",
      "home_team": "",
      "date_str": "",
      "score_home": "",
      "score_away": "",
      "stats": {
        "minutes_played": 2159.0,
        "shots": 14.0,
        "shots_on_target": 5.0,
        "goals": 1.0,
        "xg": 1.8177,
        "xg_place": -0.902,
        "goals_minus_xg": -0.8177,
        "key_passes": 24.0,
        "assists": 3.0,
        "xa": 1.7453,
        "assists_minus_xa": 1.2547,
        "goals_plus_assists": 4.0,
        "xg_plus_xa": 3.563,
        "points_added": 0.6268,
        "xpoints_added": 1.3194,
        "passes_attempted": 901.0,
        "pass_completion_pct": 0.7536,
        "xpass_completion_pct": 0.7424,
        "passes_over_expected": 10.0962,
        "passes_over_expected_p100": 1.1206,
        "avg_pass_distance": 17.9579,
        "avg_pass_vertical": 5.297
      }
    },
    {
      "game_id": "soccer-usl1-2023-2lqRgd2Qr0",
      "game_slug": "soccer-usl1-2023-2lqrgd2qr0",
      "display": "USL1 2023 Season",
      "season": 2023,
      "week": 1,
      "league": "USL1",
      "sport_slug": "usl1-2023",
      "away_team": "",
      "home_team": "",
      "date_str": "",
      "score_home": "",
      "score_away": "",
      "stats": {
        "minutes_played": 1121.0,
        "shots": 11.0,
        "shots_on_target": 2.0,
        "goals": 0.0,
        "xg": 0.5953,
        "xg_place": -0.0408,
        "goals_minus_xg": -0.5953,
        "key_passes": 22.0,
        "assists": 1.0,
        "xa": 1.6833,
        "assists_minus_xa": -0.6833,
        "goals_plus_assists": 1.0,
        "xg_plus_xa": 2.2786,
        "points_added": 0.0,
        "xpoints_added": 0.4104,
        "passes_attempted": 623.0,
        "pass_completion_pct": 0.7319,
        "xpass_completion_pct": 0.712,
        "passes_over_expected": 12.4061,
        "passes_over_expected_p100": 1.9913,
        "avg_pass_distance": 21.8486,
        "avg_pass_vertical": 5.0571
      }
    },
    {
      "game_id": "soccer-usl1-2024-2lqRgd2Qr0",
      "game_slug": "soccer-usl1-2024-2lqrgd2qr0",
      "display": "USL1 2024 Season",
      "season": 2024,
      "week": 1,
      "league": "USL1",
      "sport_slug": "usl1-2024",
      "away_team": "",
      "home_team": "",
      "date_str": "",
      "score_home": "",
      "score_away": "",
      "stats": {
        "minutes_played": 1657.0,
        "shots": 10.0,
        "shots_on_target": 2.0,
        "goals": 0.0,
        "xg": 0.7178,
        "xg_place": -0.4024,
        "goals_minus_xg": -0.7178,
        "key_passes": 22.0,
        "assists": 0.0,
        "xa": 2.3109,
        "assists_minus_xa": -2.3109,
        "goals_plus_assists": 0.0,
        "xg_plus_xa": 3.0287,
        "points_added": 0.0,
        "xpoints_added": 0.2967,
        "passes_attempted": 824.0,
        "pass_completion_pct": 0.7488,
        "xpass_completion_pct": 0.7454,
        "passes_over_expected": 2.7642,
        "passes_over_expected_p100": 0.3355,
        "avg_pass_distance": 18.6209,
        "avg_pass_vertical": 3.9739
      }
    },
    {
      "game_id": "soccer-usl1-2025-2lqRgd2Qr0",
      "game_slug": "soccer-usl1-2025-2lqrgd2qr0",
      "display": "USL1 2025 Season",
      "season": 2025,
      "week": 1,
      "league": "USL1",
      "sport_slug": "usl1-2025",
      "away_team": "",
      "home_team": "",
      "date_str": "",
      "score_home": "",
      "score_away": "",
      "stats": {
        "minutes_played": 243.0,
        "shots": 1.0,
        "shots_on_target": 0.0,
        "goals": 0.0,
        "xg": 0.0121,
        "xg_place": -0.0121,
        "goals_minus_xg": -0.0121,
        "key_passes": 1.0,
        "assists": 0.0,
        "xa": 0.3848,
        "assists_minus_xa": -0.3848,
        "goals_plus_assists": 0.0,
        "xg_plus_xa": 0.3969,
        "points_added": 0.0,
        "xpoints_added": 0.0228,
        "passes_attempted": 151.0,
        "pass_completion_pct": 0.8013,
        "xpass_completion_pct": 0.7255,
        "passes_over_expected": 11.4567,
        "passes_over_expected_p100": 7.5872,
        "avg_pass_distance": 19.2824,
        "avg_pass_vertical": 9.6147
      }
    }
  ],
  "college": {
    "school": "OKST",
    "fdb_url": "/players/james-thomas-thoma0059",
    "seasons": {
      "2011": {
        "def_int": 0.0,
        "def_solo": 14.0
      }
    },
    "career": {
      "def_int": 0.0,
      "def_solo": 14.0
    }
  },
  "nfl": null,
  "articles": []
}