Turn American Football Player Statistics into Interactive Web Platforms

Learn how to monetize your Web Applications with Highlightly's American Football API player stats integration.

Player box score

American football data has become a core building block for modern sport products. From creating fan experiences, scouting platforms to performance analytic tools, having access to player profiles and detailed season statistics makes a huge difference.

In this article, we will walk through how to integrate NFL, NCAAF insights into your web application using Highlightly's American Football API. You will learn what data is available, how the main endpoints are structured and how to use real player statistics to create meaningful features.

Player Data Matters in American Football apps

American football is a data heavy sport. Every snap generates measurable outcomes, from passing efficiency and rushing attempts to defensive stops and scoring contributions. By exposing this data through clean APIs, developers can:

  • Build player profile pages
  • Create season and career comparison tools
  • Power analytics dashboards for teams or media
  • Deliver greater fan engagement experiences

Highlightly's American Football endpoints are specifically designed to support these use cases.

API Structure Overview

The API mirrors the general structure used in other sports, with routes adapted for NFL style data:

  • /american-football/players: Retrieve a list of players
  • /american-football/players/{playerId}: Get a detailed player profile
  • /american-football/players/{playerId}/statistics: Fetch player per season statistic breakdowns

This consistency makes it easy to extend existing applications or reuse architectural patterns across sports.

Player Profile Data

A player profile endpoint provides all the contextual information needed to introduce an athlete in your application.

Each player profile typically contains:

  • Personal details: full name, birthdate, birthplace
  • Physical attributes: height, weight, jersey number
  • Position information: main role and abbreviation (e.g., QB)
  • Team context: current team, league, branding assets
  • Debut details: players official debut year
  • Activity status: active or retired

There are a few ways in which we can utilize the data. It can be used to create rich player bio pages on sports websites, giving fans a complete view of an athlete's career and performance. Teams and analysts use it in roster management tools to track depth charts and player impact. It also supports draft history visualizations, fantasy football player cards, and data driven betting platforms that rely on accurate, up-to-date statistics.

Because the profile data is cleanly structured, it can be rendered directly into UI components without heavy transformation. Below is a sample API response showcasing Tom Brady's player profile:

          [
    {
        "id": 36017,
        "logo": null,
        "fullName": "Tom Brady",
        "profile": {
            "team": {
                "id": 92734,
                "logo": "https://highlightly.net/american-football/images/teams/92734.png",
                "name": "Buccaneers",
                "league": "NFL",
                "displayName": "Tampa Bay Buccaneers",
                "abbreviation": "TB"
            },
            "draft": {
                "pick": 199,
                "year": 2000,
                "round": 6
            },
            "height": "6' 4\"",
            "jersey": "12",
            "weight": "225 lbs",
            "fullName": "Tom Brady",
            "isActive": false,
            "position": {
                "main": "Quarterback",
                "abbreviation": "QB"
            },
            "birthDate": "Aug 3, 1977",
            "birthPlace": "San Mateo, CA, USA"
        }
    }
]
          
        
Per Season Player Statistics

Player statistics vary significantly by position and role. To handle this complexity, the API groups statistics by season, team, and category.

Each player includes a perSeason array, where every entry represents:

  • Season year (e.g. 2021, 2022)
  • League (NFL, NCAA)
  • Teams played for
  • Season scope (entire season or partial)
  • A categorized list of statistics

This design makes it easy to display trends over time or filter by season.

Each player has relevant stats which are grouped into logical categories, allowing flexible presentation depending on your application's focus:

  • General: Games played, total fumbles and fumbles lost, two-point returns, fumble return touchdowns, etc.
  • Passing: Passing attempts and completions, passing yards and touchdowns, interceptions and interception rate, quarterback rating, yards per pass and per game, plus sacks taken and yards lost.
  • Rushing: Rush attempts, rushing yards and touchdowns, yards per rush, longest run, and rushing first downs.
  • Receiving: Receptions and targets, receiving yards, yards after catch, receiving touchdowns, big plays, and first downs.
  • Defense: Solo and assisted tackles, sacks and quarterback pressures, interceptions and return yards, passes defended, and tackles for loss.
  • Scoring: Total touchdowns (passing, rushing, receiving), points scored, points per game, and two-point conversions.

To see how this data looks in practice, here's an example API response for Tom Brady across the 2021 and 2022 seasons:

          {
  "id": 36017,
  "logo": null,
  "fullName": "Tom Brady",
  "perSeason": [
    {
      "stats": [
        {
          "name": "Total Fumbles",
          "value": 4,
          "category": "General"
        },
        {
          "name": "Total Fumbles Lost",
          "value": 3,
          "category": "General"
        },
        {
          "name": "Total Games Played",
          "value": 17,
          "category": "General"
        },
        {
          "name": "Average Net Passing Yards Per Game",
          "value": 304.24,
          "category": "Passing"
        },
        {
          "name": "Average Net Yards Per Game",
          "value": 309,
          "category": "Passing"
        },
        {
          "name": "Average Net Yards Per Pass",
          "value": 6.98,
          "category": "Passing"
        },
        {
          "name": "Average Passing Yards Per Game",
          "value": 312.71,
          "category": "Passing"
        },
        {
          "name": "Average Yardage Per Completion",
          "value": 10.96,
          "category": "Passing"
        },
        {
          "name": "Average Yards Gained",
          "value": 5172.11,
          "category": "Passing"
        },
        {
          "name": "Average Yards Per Game",
          "value": 317.47,
          "category": "Passing"
        },
        {
          "name": "Average Yards Per Pass",
          "value": 7.39,
          "category": "Passing"
        },
        {
          "name": "Interception Rate",
          "value": 1.67,
          "category": "Passing"
        },
        {
          "name": "Longest Completed Pass Yards",
          "value": 62,
          "category": "Passing"
        },
        {
          "name": "Pass Completion Rate",
          "value": 67.46,
          "category": "Passing"
        },
        {
          "name": "Pass Touchdown Rate",
          "value": 5.98,
          "category": "Passing"
        },
        {
          "name": "Passing Big Plays",
          "value": 75,
          "category": "Passing"
        },
        {
          "name": "Passing First Downs",
          "value": 269,
          "category": "Passing"
        },
        {
          "name": "Passing Fumbles Lost",
          "value": 2,
          "category": "Passing"
        },
        {
          "name": "Quarterback Rating",
          "value": 102.08,
          "category": "Passing"
        },
        {
          "name": "Total Fumbles",
          "value": 3,
          "category": "Passing"
        },
        {
          "name": "Total Interceptions",
          "value": 12,
          "category": "Passing"
        },
        {
          "name": "Total Net Passing Yardage",
          "value": 5172,
          "category": "Passing"
        },
        {
          "name": "Total Net Yards",
          "value": 5253,
          "category": "Passing"
        },
        {
          "name": "Total Offensive Plays",
          "value": 769,
          "category": "Passing"
        },
        {
          "name": "Total Pass Attempts",
          "value": 719,
          "category": "Passing"
        },
        {
          "name": "Total Passing Touchdowns",
          "value": 43,
          "category": "Passing"
        },
        {
          "name": "Total Passing Yardage",
          "value": 5316,
          "category": "Passing"
        },
        {
          "name": "Total Passing Yardage",
          "value": 5397,
          "category": "Passing"
        },
        {
          "name": "Total Passing Yards After Catch",
          "value": 2554,
          "category": "Passing"
        },
        {
          "name": "Total Passing Yards At Catch",
          "value": 2762,
          "category": "Passing"
        },
        {
          "name": "Total Points Per Game",
          "value": 0.71,
          "category": "Passing"
        },
        {
          "name": "Total Sacks",
          "value": 22,
          "category": "Passing"
        },
        {
          "name": "Total Scrimmage Yards",
          "value": 81,
          "category": "Passing"
        },
        {
          "name": "Total Successful Passes",
          "value": 485,
          "category": "Passing"
        },
        {
          "name": "Total Team Games Played",
          "value": 17,
          "category": "Passing"
        },
        {
          "name": "Total Two Point Pass Attempts",
          "value": 1,
          "category": "Passing"
        },
        {
          "name": "Total Yards From Scrimmage Per Game",
          "value": 4.76,
          "category": "Passing"
        },
        {
          "name": "Total Yards Lost to Sacks",
          "value": 144,
          "category": "Passing"
        },
        {
          "name": "Average Points Per Game",
          "value": 0.71,
          "category": "Receiving"
        },
        {
          "name": "Average Yards From Scrimmage Per Game",
          "value": 4.76,
          "category": "Receiving"
        },
        {
          "name": "Average Yards Per Game",
          "value": 317.47,
          "category": "Receiving"
        },
        {
          "name": "Avgerage Yards Gained",
          "value": 5172.11,
          "category": "Receiving"
        },
        {
          "name": "Total Net Yards",
          "value": 5253,
          "category": "Receiving"
        },
        {
          "name": "Total Net Yards Per Game",
          "value": 309,
          "category": "Receiving"
        },
        {
          "name": "Total Offensive Plays",
          "value": 769,
          "category": "Receiving"
        },
        {
          "name": "Total Receiving Yards",
          "value": 5397,
          "category": "Receiving"
        },
        {
          "name": "Total Scrimmage Yards",
          "value": 81,
          "category": "Receiving"
        },
        {
          "name": "Total Team Games Played",
          "value": 17,
          "category": "Receiving"
        },
        {
          "name": "Total Touchdowns",
          "value": 45,
          "category": "Receiving"
        },
        {
          "name": "Average Points Per Game",
          "value": 0.71,
          "category": "Rushing"
        },
        {
          "name": "Average Rushing Yards Per Game",
          "value": 4.76,
          "category": "Rushing"
        },
        {
          "name": "Average Yardage From Scrimmage Per Game",
          "value": 4.76,
          "category": "Rushing"
        },
        {
          "name": "Average Yards Gained",
          "value": 5172.11,
          "category": "Rushing"
        },
        {
          "name": "Average Yards Per Game",
          "value": 317.47,
          "category": "Rushing"
        },
        {
          "name": "Average Yards Per Rush Attempt",
          "value": 2.89,
          "category": "Rushing"
        },
        {
          "name": "Longest Run Distance",
          "value": 13,
          "category": "Rushing"
        },
        {
          "name": "Rating",
          "value": 106,
          "category": "Rushing"
        },
        {
          "name": "Total First Downs",
          "value": 14,
          "category": "Rushing"
        },
        {
          "name": "Total Lost Fumbles",
          "value": 1,
          "category": "Rushing"
        },
        {
          "name": "Total Net Yards",
          "value": 5253,
          "category": "Rushing"
        },
        {
          "name": "Total Net Yards Per Game",
          "value": 309,
          "category": "Rushing"
        },
        {
          "name": "Total Offensive Plays",
          "value": 769,
          "category": "Rushing"
        },
        {
          "name": "Total Rush Attempts",
          "value": 28,
          "category": "Rushing"
        },
        {
          "name": "Total Rush Fumbles",
          "value": 1,
          "category": "Rushing"
        },
        {
          "name": "Total Rushing Touchdowns",
          "value": 45,
          "category": "Rushing"
        },
        {
          "name": "Total Rushing Yardage",
          "value": 5397,
          "category": "Rushing"
        },
        {
          "name": "Total Scrimmage Yards",
          "value": 81,
          "category": "Rushing"
        },
        {
          "name": "Total Team Games Played",
          "value": 17,
          "category": "Rushing"
        },
        {
          "name": "Total Passing Touchdowns",
          "value": 43,
          "category": "Scoring"
        },
        {
          "name": "Total Points Per Game",
          "value": 0.71,
          "category": "Scoring"
        },
        {
          "name": "Total Points Scored",
          "value": 12,
          "category": "Scoring"
        },
        {
          "name": "Total Rushing Touchdowns",
          "value": 2,
          "category": "Scoring"
        },
        {
          "name": "Total Touchdowns",
          "value": 2,
          "category": "Scoring"
        }
      ],
      "teams": [
        {
          "id": 92734,
          "logo": "https://highlightly.net/american-football/images/teams/92734.png",
          "name": "Buccaneers",
          "league": "NFL",
          "displayName": "Tampa Bay Buccaneers",
          "abbreviation": "TB"
        }
      ],
      "league": "NFL",
      "season": 2021,
      "seasonBreakdown": "Entire"
    },
    {
      "stats": [
        {
          "name": "Total Individual Tackles",
          "value": 1,
          "category": "Defense"
        },
        {
          "name": "Total Tackles",
          "value": 1,
          "category": "Defense"
        },
        {
          "name": "Total Team Games Played",
          "value": 17,
          "category": "Defense"
        },
        {
          "name": "Total Fumbles",
          "value": 5,
          "category": "General"
        },
        {
          "name": "Total Fumbles Lost",
          "value": 4,
          "category": "General"
        },
        {
          "name": "Total Games Played",
          "value": 17,
          "category": "General"
        },
        {
          "name": "Average Net Passing Yards Per Game",
          "value": 266.71,
          "category": "Passing"
        },
        {
          "name": "Average Net Yards Per Game",
          "value": 266.65,
          "category": "Passing"
        },
        {
          "name": "Average Net Yards Per Pass",
          "value": 6.01,
          "category": "Passing"
        },
        {
          "name": "Average Passing Yards Per Game",
          "value": 276.12,
          "category": "Passing"
        },
        {
          "name": "Average Yardage Per Completion",
          "value": 9.58,
          "category": "Passing"
        },
        {
          "name": "Average Yards Gained",
          "value": 4534,
          "category": "Passing"
        },
        {
          "name": "Average Yards Per Game",
          "value": 276.06,
          "category": "Passing"
        },
        {
          "name": "Average Yards Per Pass",
          "value": 6.4,
          "category": "Passing"
        },
        {
          "name": "Interception Rate",
          "value": 1.23,
          "category": "Passing"
        },
        {
          "name": "Longest Completed Pass Yards",
          "value": 63,
          "category": "Passing"
        },
        {
          "name": "Pass Completion Rate",
          "value": 66.85,
          "category": "Passing"
        },
        {
          "name": "Pass Touchdown Rate",
          "value": 3.41,
          "category": "Passing"
        },
        {
          "name": "Passing Big Plays",
          "value": 49,
          "category": "Passing"
        },
        {
          "name": "Passing First Downs",
          "value": 237,
          "category": "Passing"
        },
        {
          "name": "Passing Fumbles Lost",
          "value": 2,
          "category": "Passing"
        },
        {
          "name": "Quarterback Rating",
          "value": 90.73,
          "category": "Passing"
        },
        {
          "name": "Total Fumbles",
          "value": 3,
          "category": "Passing"
        },
        {
          "name": "Total Interceptions",
          "value": 9,
          "category": "Passing"
        },
        {
          "name": "Total Net Passing Yardage",
          "value": 4534,
          "category": "Passing"
        },
        {
          "name": "Total Net Yards",
          "value": 4533,
          "category": "Passing"
        },
        {
          "name": "Total Offensive Plays",
          "value": 784,
          "category": "Passing"
        },
        {
          "name": "Total Pass Attempts",
          "value": 733,
          "category": "Passing"
        },
        {
          "name": "Total Passing Touchdowns",
          "value": 25,
          "category": "Passing"
        },
        {
          "name": "Total Passing Yardage",
          "value": 4694,
          "category": "Passing"
        },
        {
          "name": "Total Passing Yardage",
          "value": 4693,
          "category": "Passing"
        },
        {
          "name": "Total Passing Yards After Catch",
          "value": 2285,
          "category": "Passing"
        },
        {
          "name": "Total Passing Yards At Catch",
          "value": 2409,
          "category": "Passing"
        },
        {
          "name": "Total Points Per Game",
          "value": 0.35,
          "category": "Passing"
        },
        {
          "name": "Total Sacks",
          "value": 22,
          "category": "Passing"
        },
        {
          "name": "Total Scrimmage Yards",
          "value": -1,
          "category": "Passing"
        },
        {
          "name": "Total Successful Passes",
          "value": 490,
          "category": "Passing"
        },
        {
          "name": "Total Team Games Played",
          "value": 17,
          "category": "Passing"
        },
        {
          "name": "Total Two Point Pass Attempts",
          "value": 6,
          "category": "Passing"
        },
        {
          "name": "Total Two Point Passes",
          "value": 2,
          "category": "Passing"
        },
        {
          "name": "Total Yards From Scrimmage Per Game",
          "value": -0.06,
          "category": "Passing"
        },
        {
          "name": "Total Yards Lost to Sacks",
          "value": 160,
          "category": "Passing"
        },
        {
          "name": "Average Points Per Game",
          "value": 0.35,
          "category": "Receiving"
        },
        {
          "name": "Average Yards From Scrimmage Per Game",
          "value": -0.06,
          "category": "Receiving"
        },
        {
          "name": "Average Yards Per Game",
          "value": 276.06,
          "category": "Receiving"
        },
        {
          "name": "Avgerage Yards Gained",
          "value": 4534,
          "category": "Receiving"
        },
        {
          "name": "Total Net Yards",
          "value": 4533,
          "category": "Receiving"
        },
        {
          "name": "Total Net Yards Per Game",
          "value": 266.65,
          "category": "Receiving"
        },
        {
          "name": "Total Offensive Plays",
          "value": 784,
          "category": "Receiving"
        },
        {
          "name": "Total Receiving Attempts",
          "value": 1,
          "category": "Receiving"
        },
        {
          "name": "Total Receiving Yards",
          "value": 4693,
          "category": "Receiving"
        },
        {
          "name": "Total Scrimmage Yards",
          "value": -1,
          "category": "Receiving"
        },
        {
          "name": "Total Team Games Played",
          "value": 17,
          "category": "Receiving"
        },
        {
          "name": "Total Touchdowns",
          "value": 26,
          "category": "Receiving"
        },
        {
          "name": "Average Points Per Game",
          "value": 0.35,
          "category": "Rushing"
        },
        {
          "name": "Average Rushing Yards Per Game",
          "value": -0.06,
          "category": "Rushing"
        },
        {
          "name": "Average Yardage From Scrimmage Per Game",
          "value": -0.06,
          "category": "Rushing"
        },
        {
          "name": "Average Yards Gained",
          "value": 4534,
          "category": "Rushing"
        },
        {
          "name": "Average Yards Per Game",
          "value": 276.06,
          "category": "Rushing"
        },
        {
          "name": "Average Yards Per Rush Attempt",
          "value": -0.03,
          "category": "Rushing"
        },
        {
          "name": "Longest Run Distance",
          "value": 2,
          "category": "Rushing"
        },
        {
          "name": "Rating",
          "value": -26,
          "category": "Rushing"
        },
        {
          "name": "Total First Downs",
          "value": 5,
          "category": "Rushing"
        },
        {
          "name": "Total Lost Fumbles",
          "value": 2,
          "category": "Rushing"
        },
        {
          "name": "Total Net Yards",
          "value": 4533,
          "category": "Rushing"
        },
        {
          "name": "Total Net Yards Per Game",
          "value": 266.65,
          "category": "Rushing"
        },
        {
          "name": "Total Offensive Plays",
          "value": 784,
          "category": "Rushing"
        },
        {
          "name": "Total Rush Attempts",
          "value": 29,
          "category": "Rushing"
        },
        {
          "name": "Total Rush Fumbles",
          "value": 2,
          "category": "Rushing"
        },
        {
          "name": "Total Rushing Touchdowns",
          "value": 26,
          "category": "Rushing"
        },
        {
          "name": "Total Rushing Yardage",
          "value": 4693,
          "category": "Rushing"
        },
        {
          "name": "Total Scrimmage Yards",
          "value": -1,
          "category": "Rushing"
        },
        {
          "name": "Total Team Games Played",
          "value": 17,
          "category": "Rushing"
        },
        {
          "name": "Total Passing Touchdowns",
          "value": 25,
          "category": "Scoring"
        },
        {
          "name": "Total Points Per Game",
          "value": 0.35,
          "category": "Scoring"
        },
        {
          "name": "Total Points Scored",
          "value": 6,
          "category": "Scoring"
        },
        {
          "name": "Total Rushing Touchdowns",
          "value": 1,
          "category": "Scoring"
        },
        {
          "name": "Total Touchdowns",
          "value": 1,
          "category": "Scoring"
        },
        {
          "name": "Two Point Pass Conversion Rate",
          "value": 2,
          "category": "Scoring"
        }
      ],
      "teams": [
        {
          "id": 92734,
          "logo": "https://highlightly.net/american-football/images/teams/92734.png",
          "name": "Buccaneers",
          "league": "NFL",
          "displayName": "Tampa Bay Buccaneers",
          "abbreviation": "TB"
        }
      ],
      "league": "NFL",
      "season": 2022,
      "seasonBreakdown": "Entire"
    }
  ]
}
        

Building Real World Features

A simple yet typical integration workflow looks like this:

  1. Search or list players using the player's endpoint
  2. Select a player ID from the results
  3. Fetch the player profile for biographical and team data
  4. Retrieve per-season statistics
  5. Group or filter stats by category, season, or team
  6. Render visual components such as tables, charts, or comparison views

There are still many other ways to use this data in your applications. Beyond player-focused endpoints, you can build rich match pages with dedicated sections for team lineups. When a user selects a player, they can explore detailed season-level statistics alongside the player’s full profile, creating a smooth and informative browsing experience.

If you are still feeling unsure on how to use the data, lets take a look at a few practical examples:

  • Applications for fans: interactive player profiles, career and season comparison tools, stat leaderboards by position
  • Analytics & scouting tools: performance trend analysis, efficiency metrics across seasons, player usage or workload tracking
  • Media & content platforms: dynamic stat tables embedded in articles, player performance summaries for game previews, historical season breakdowns
  • Fantasy & gaming apps: player evaluation dashboards, season-over-season consistency tracking, position-specific stat views

Final Thoughts

Integrating American football player insights into web applications doesn't need to be complicated. With structured endpoints, detailed player profiles, and deeply categorized statistics, Highlightly's American Football API gives developers everything they need to build and monetize web platforms.

To get started, head over to the official API documentation to explore the available endpoints, data models, and integration examples.