|

How to Build an NFL Stats Website with WordPress (No Manual Data Entry)

The NFL plays 272 regular season games. Next to baseball’s 2,430 that sounds like a number you could keep up with by hand.

Then you open one box score.

Passing, rushing, receiving, defense, kicking, returns – six separate tables for a single game. Sports API Hub stores 50 stat columns per player per game to hold all of it, in 7 categories, plus 22 team columns for the third-down and red-zone splits. Now do that for the 13 or 14 games on a normal Sunday – and on the final weekend, all 16 kick off at 1:00pm Eastern at once – and have it online before your readers go to bed.

That’s the real problem with NFL data. It isn’t volume. It’s depth on a seven-day clock, 18 weeks running.

I put American Football off for a while. Basketball and baseball came first, and the honest reason was that I wasn’t sure the data was there – plenty of leagues on that API return an empty response the moment you ask for player stats. Then a customer told me he’d wait however long it took, so I went and checked properly. For the NFL it’s all there, down to the last tackle.

American Football shipped in Sports API Hub v1.2.3, and it’s on the same footing as basketball and baseball – its own database tables, its own box score layout, its own team, player and season pages. This guide shows you how to set it up.

Setup is the only part that needs you, and it takes about five minutes. After that the plugin runs itself – results, standings, rosters, brackets and highlights all arrive on a schedule, live scores update during games, and player and team stats recalculate as the numbers land. You write the posts. It keeps the data current.

Finished NFL game page: Broncos 20, Chiefs 13, with the quarter-by-quarter line score, top performers, and the passing box score below.

What You Need

Three things:

  1. A WordPress site – any theme, any host running PHP 7.4+
  2. Sports API Hub plugin – handles import, storage and display
  3. An AllSportsAPI2 subscription on RapidAPI – the source of the data

None of it needs code or custom development.

The Plugin: Sports API Hub

Sports API Hub imports and displays sports data from professional APIs. It covers 8 sports, and American Football is one of the three that are fully built out.

For the NFL, you get:

  • Automated import of a full season – fixtures, teams, rosters, results, standings, brackets
  • Six box score tables per game – passing, rushing, receiving, defense, kicking, returns
  • Quarter-by-quarter line scores in the game header
  • Play-by-play with scoring badges for TD, FG, XP and 2PC
  • Game flow chart tracking the score through the game
  • Team stats comparison – total yards, first downs by type, third-down and red-zone conversions, time of possession, penalties, turnovers
  • Live scores with the quarter shown during play
  • Team pages with roster by position, standings, schedule, form, and season stats split into offense, defense and special teams
  • Player pages with position-aware stat rings, game logs, career stats, splits and per-opponent breakdowns
  • NFL passer rating computed from stored totals, per game and season to date
  • Regular Season / Playoffs filtering on player stats – NFL games are stage-tagged, so the toggle works
  • Playoff bracket – Wild Card through Super Bowl, including the #1 seed bye slot
  • Betting odds – moneyline on NFL games (the plugin also handles spread and total where the API supplies them)
  • Video highlights from YouTube for finished games
  • Layout builder with drag-and-drop blocks for every page type
  • Shortcodes for dropping games, standings, rosters and scoreboards anywhere

Everything lands in your own WordPress database, in custom tables with real indexed columns rather than post meta. A full NFL 25/26 import is 285 games, 15,798 player stat rows and 570 team stat rows. You own all of it.

NFL team page: Denver Broncos header with coach and venue, a 15-4 season record with home and away splits, and the AFC West standings table below.

The API: Where the Data Comes From

Sports API Hub ships with four providers: AllSportsAPI2 for all 8 sports, plus single-sport options for basketball, baseball and American football. For an NFL site, two of them apply.

Option 1: AllSportsAPI2 (Recommended) – $19.99/mo

  • All 8 sports on one key – basketball, baseball, cricket, rugby, ice hockey, American football, handball, volleyball
  • Unlimited requests on the Pro plan, 6 per second
  • Live scores during games
  • Full import – fixtures, results, box scores, rosters, standings, brackets, highlights
  • Odds for upcoming games

One key covers everything. If you ever add basketball or hockey to the site, you’re already set.

Option 2: AmericanFootballApi – $9.99/mo

A dedicated American football API from the same vendor, built on the same data structure and the same IDs. Everything the plugin does works on it: box scores, team stats, scoring summaries, standings, playoff brackets, rosters, logos, live scores and per-game odds. Two differences:

  • American football only – no other sports
  • 15,000 requests a day on the Pro plan instead of unlimited

That cap sounds tighter than it is. A full NFL season import runs about 1,200-1,400 calls, so importing an entire season uses under 10% of one day’s allowance, and everything after that is a rounding error against it.

If American football is the whole site – NFL, college, or both – this saves $10/mo. It carries the same leagues as AllSportsAPI2 does for this sport, college football included. You can switch providers later in settings.

Which API plan should you pick?

For AllSportsAPI2, go with Pro at $19.99/mo. Ultra ($39.99/mo) and Mega ($59.99/mo) only raise the rate limit, and 6 requests per second handles an NFL season comfortably.

For AmericanFootballApi, Pro at $9.99/mo. The free Basic tier is capped at 50 requests a day, which won’t import a season. Ultra ($14.99/mo) raises the cap to 50,000 and Mega ($24.99/mo) removes it, and neither is necessary for one league.

API Config page in wp-admin: API key entered, provider set to AllSportsAPI2 (Multi-sport), and Basketball and American Football ticked in the sports list.

Which leagues actually have data

Be clear on this before you buy, because it decides whether the plugin fits your site.

Full box scores and player stats: the NFL and NCAA college football. College football covers Division FBS, Division FCS and Interdivisional, so a college site is very much on the table.

Scores, schedules and scoring summaries only: CFL, UFL and the European League of Football. Their games import and their pages work – quarter-by-quarter line scores, results, standings, scoring plays – but the provider returns nothing for player lineups or team statistics, so there are no box scores and no player stats for those three.

American Football hub on the demo site: a live CFL game showing Q2 alongside finished CFL and NCAA Division FBS games, each with quarter-by-quarter line scores.

For the NFL itself the coverage is complete – every regular season and playoff game, full player box scores, rosters, standings, brackets and highlights.

One quirk worth knowing: the box score lists players who recorded a stat. Offensive linemen don’t, so they don’t appear. That’s how the data arrives, and it matches what ESPN and NFL.com show.

What It Actually Costs

No hidden fees, no “contact us for pricing.”

With AllSportsAPI2 (all 8 sports)

ItemMonthlyAnnual
Sports API Hub plugin$12/mo (Early Access)$119/yr (Early Access)
AllSportsAPI2 Pro$19.99/mo$239.88/yr
Total$31.99/mo$358.88/yr

With AmericanFootballApi (American football only)

ItemMonthlyAnnual
Sports API Hub plugin$12/mo (Early Access)$119/yr (Early Access)
AmericanFootballApi Pro$9.99/mo$119.88/yr
Total$21.99/mo$238.88/yr

That’s about $1/day for an automated NFL site with live scores, six-table box scores, player stats and standings – or about 72 cents a day if American football is the whole site. The AllSportsAPI2 subscription is the one that covers the other 7 sports if you add them later.

What that buys in API calls

OperationAPI callsNotes
Full NFL season import (285 games)~1,200-1,400Fixtures, 32 teams, 32 rosters, standings, bracket, plus 4 detail calls per finished game – box score, team stats, scoring summary, highlights
Each additional past season~1,200-1,400Same shape, one more season of history
Sunday sync (16 games finishing)~80-120Results, standings, fixtures, highlights
Midweek sync~10-30Little changes between game days
Live scores (60s polling)60/hour, flatOne call per sport per tick, not per game – 16 Sunday games cost the same as one

On AllSportsAPI2’s unlimited Pro plan none of this is close to a limit. On AmericanFootballApi’s 15,000 a day, a full season import still lands under 10% of a single day’s allowance. The numbers matter more if you are watching the 6-per-second rate cap during a full-season import.

These numbers are approximate and may change between plugin versions as features and sync behavior evolve.

Lifetime option

If you’d rather not carry a recurring plugin fee, there’s a $399 lifetime license at Early Access pricing. You still pay RapidAPI monthly for the data, but the plugin is yours. Against the annual plan it pays for itself in a bit over 3 years.

Step-by-Step Setup

1. Install the Plugin

Upload the ZIP in WordPress admin (Plugins > Add New > Upload) and activate it. Four menu groups appear in the sidebar.

2. Connect Your API

Go to API & Import > API Config. Paste your RapidAPI key, pick your provider (AllSportsAPI2 or AmericanFootballApi), and tick American Football in the sports list. Hit Test Connection. If you picked AmericanFootballApi the sport list locks itself to American football, since that’s the only sport it carries.

Green checkmark means you’re connected.

3. Import the Season

Go to API & Import > Import and select Country: USA, League: NFL, Season: 26/27 (or an older one – past seasons import the same way).

Click Start Import. The plugin works through a task queue: season hierarchy, fixtures, teams, finished games with their box scores and play-by-play, rosters, standings, brackets, then highlights. It runs in the background, so you can close the tab.

A full NFL season is 285 games including the playoffs, against baseball’s 2,430, so this is a much shorter job than an MLB import. The time goes into per-game detail – every finished game pulls its own box score, team stats and scoring summary.

Import Season dialog for an NFL season, with the tasks to queue grouped into game data, entity updates, season data and enrichment.

4. Check Your Data

Go to Hub Data > Games. Every imported game is listed with its score, status and import level. Click a finished one and you land on the full game page.


What You Get: The NFL Pages

Game Pages

Every game gets its own URL under /american-football/game/. The layout changes with the game’s status – there are three, and the plugin switches between them automatically.

Games display away team first: “Broncos @ Chiefs”, not “Chiefs vs Broncos”. The plugin takes that from the provider’s per-league flag rather than hardcoding it by sport, and the NFL comes through as away-first. The ordering runs through the header, the box scores, every game card, the calendar and the scoreboard.

Finished games show:

  • Header with the final score and a quarter-by-quarter line score
  • Passing box score – C/ATT, YDS, TD, INT, SACK, QBR
  • Rushing – CAR, YDS, AVG, TD, LONG
  • Receiving – REC, TGTS, YDS, AVG, TD, LONG, DROPS
  • Defense – TKLS, SOLO, AST, SACK, TFL, INT, INT YDS, PD, FF
  • Kicking – FG, XP, PTS, BLK
  • Returns – NO, YDS, AVG, TD, LONG, FC
  • Play-by-play scoring summary with TD, FG, XP and 2PC badges
  • Game flow chart
  • Team stats comparison
  • Top performers per team
  • Matchup history
  • Video highlights, venue and attendance

Upcoming games show the matchup header with both records, betting odds, standings context, recent form and a team comparison radar.

Live games update the score in place, refresh the box scores as stats land, and show the current quarter with a live indicator.

NFL game page: passing and rushing box score tables for both teams, with completions, yards, touchdowns and passer rating.
NFL game page: defense box score with TKLS, SOLO, AST, SACK, TFL, INT, INT YDS, PD and FF columns for both teams.
NFL game page: team stats comparison with total yards, first downs, third down efficiency, red zone and time of possession.

Team Pages

Each of the 32 teams gets a page:

  • Header with logo, colors, venue, head coach and season record with home/away splits
  • Full roster sorted by position – QB, RB, WR, TE, OL, OT, C, DL, DE, DT, NT, LB, OLB, CB, SAF, DB, K, P, LS – with jersey number, age, height and nationality on every card
  • Current standings with the team highlighted
  • Schedule navigator and recent results with win/loss indicators
  • Form chart
  • Season stats split into offense, defense and special teams
  • Team leaders and player averages – passing yards, rushing yards, receiving yards, sacks, tackles
  • Video highlights
NFL team page: roster card grid sorted by position, showing position codes, ages, heights and nationality for each player.
NFL team page: season stats block split into offense, defense and special teams, with points per game, yardage, third down and red zone rates.

Player Pages

Every player with game data gets a page, and the page shapes itself to the position:

  • Header with photo, jersey number, position, team, height in feet and inches, and age
  • Stat rings with league rank badges – a QB gets passing yards, TDs and completion percentage; a running back gets rushing numbers; a kicker gets kicking numbers
  • Game log for the season, filterable by All / Regular Season / Playoffs
  • Career stats across seasons
  • Splits – home/away, month by month, wins vs losses
  • Per-opponent stats
  • Kickers also get a field goal distance breakdown, which is an American Football-only block

The Regular Season / Playoffs toggle needs every imported game tagged with its stage. NFL games are, so it works out of the box.

Patrick Mahomes player page: header with team and position, and season highlight stat rings for passing yards, passing TDs, completion percentage and rushing, each with its league rank badge.
NFL player page: game log table with a per-game passing line for every game, plus average and total rows.

Season Pages

The season page pulls it together:

  • Standings – W, L, PCT, PF, PA, point differential, plus home and away records
  • Fixtures and results by round, with quarter-by-quarter scores on each result
  • Season leaders across 15 categories – passing yards, passing TDs, completion %, passer rating, rushing yards, rushing TDs, receptions, receiving yards, receiving TDs, tackles, sacks, interceptions, interception yards, field goal %, kicking points
  • Playoff bracket – Wild Card through Super Bowl, with the #1 seed bye slot
  • Video highlights grid
  • Team directory and scoreboard slider, if you add those blocks to the layout
NFL season page: division standings with wins, losses, win percentage, points for, points against, point difference and home and away records.
NFL season leaders: passing, rushing and receiving yards leaders, plus passing touchdowns, completion percentage, passer rating, tackles, sacks and interceptions.
NFL playoff bracket from the Wild Card round through the Super Bowl, with the number one seed bye slots and the champion badge.

Shortcodes: Put NFL Content Anywhere

Shortcodes drop this content into any post, page or widget:

ShortcodeWhat It Does
[anwphub-games]Game list or grid with filters
[anwphub-standings]Standings table with the US column preset
[anwphub-standings-full]Full standings with all groups
[anwphub-calendar]Day-by-day game browser
[anwphub-scoreboard]Horizontal game slider
[anwphub-bracket]Playoff bracket
[anwphub-leaders]Statistical leaders, offense and defense
[anwphub-roster]Team roster card grid
[anwphub-team-stats]Team stats comparison
[anwphub-highlights]Video highlight grid
[anwphub-injuries]Injury report
[anwphub-game]Single game mini-page – last, next or specific
[anwphub-leagues]League directory with country flags
[anwphub-entity-posts]Your blog posts linked to a team, player or game

Each one has a visual builder in the admin. Pick your options, preview the output, copy the shortcode.

The Layout Builder

Every entity page is assembled from blocks you drag and drop. You control which blocks appear, their order, row layouts, tabbed sections, spacing and colors. American Football ships with six ready-made layouts – upcoming, live and finished game, plus team, player and season.

Game pages switch layouts on status. A Sunday game page moves from the preview layout to the live layout at kickoff without a reload, then to the finished layout with the box scores when the clock hits zero.

Live Scores

During games the plugin polls the API and updates the page in place. Scores change without a reload, the box scores refresh as stats come in, the status tracks the current quarter and handles overtime, and a pulsing indicator marks the game live. Scoring plays flash briefly so you catch them.

The live feed is one API call per sport per tick, not one per game, so a Sunday with 16 games costs the same as a Tuesday with one. Default poll interval is 60 seconds and you can change it in settings.

Polling starts shortly before kickoff and stops after the game ends, so it isn’t burning calls at 3am. Game cards on list pages, calendars and scoreboards update at the same time, which is what makes a Sunday homepage carrying all 16 games actually work.

After the Initial Import

Once the season is in, background sync keeps it current on its own. New results land on a schedule, fixture changes and flexed games get picked up, roster moves sync, standings recalculate, and highlights are checked for new clips. When the regular season ends, the playoff games and the bracket import themselves.

Set it up in September and it runs to the Super Bowl without you opening the admin.

Customization Without Code

Text overrides – more than 200 labels can be changed. “Final” can become “F”. The plugin labels NFL rounds as “Round 1”, so if you want “Week 1” you change it here, once.

Entity translations – team, player and league names can be overridden while the API originals stay intact underneath.

Color palette – a 9-slot color system, Kadence-compatible. Set your accents once and every template follows.

Template overrides – copy any template into your child theme and edit the PHP directly.

CSS design tokens – border radius, border color and background accent are variables you set once for the whole site.

Who Is This For?

NFL bloggers and fan sites – write the recap, the numbers are already on the page. Link posts to games, teams and players.

College football sites – NCAA Division FBS, FCS and Interdivisional all carry full box scores and player stats, so a college site gets the same depth as an NFL one, on either provider.

Fantasy football sites – game logs, splits and per-opponent stats are what managers actually research, and the rank badges answer “is this guy good or does it just feel that way” in one glance.

Multi-sport sites – one plugin, one API key, 8 sports. NFL in the fall alongside NBA in the winter, no second subscription.

Developers building client sites – hand over a site that updates itself, and a client who can’t break the data by editing it.

FAQ

How long does the import take?
Much less than baseball. An NFL season is 285 games including playoffs; MLB is 2,430. The job is dominated by per-game detail calls, and it runs in the background either way.

Does it cover college football?
Yes. NCAA Division FBS, Division FCS and Interdivisional all arrive with full box scores and player stats, the same as the NFL. The leagues that don’t are CFL, UFL and the European League of Football – those give you scores, schedules, standings and scoring summaries, but no box scores and no player stats.

Does it work with my theme?
Yes. Templates carry their own CSS with design tokens, so they adapt rather than fight the theme.

Can I import past seasons?
Yes, as many as you want. They stay in your database.

What happens if the API goes down?
Your data is local. Visitors see everything already imported. Live scores pause until the API is back.

Can I run this alongside Football Leagues or Sports Leagues?
Yes. Separate plugin, separate tables, separate URLs. No conflicts.

Is there a free trial?
No trial, but there’s a 7-day money-back guarantee, and livescoreapi.com runs the real thing on live NFL data.


Get Started

Sports API Hub is in Early Access – 20% off, locked for as long as your subscription stays active:

PlanPrice
Monthly$12/mo
Annual$119/yr
Lifetime$399 (one-time)

All plans include all 8 sports, every feature, and 2 website activations.


Sports API Hub is built by the team behind ANWP Football Leagues and ANWP Sports Leagues – WordPress sports plugins with 1,000+ active installs on WordPress.org.

Similar Posts