Spotrac APIspotrac.com ↗
Access NFL salary cap data, player contracts, team rosters, and league-wide cap summaries for all 32 teams via the Spotrac API.
What is the Spotrac API?
The Spotrac API exposes NFL salary cap and contract data across 8 endpoints, covering all 32 teams and their players. The get_player_contract endpoint returns year-by-year financial breakdowns including cap hit, base salary, signing bonuses, and dead cap figures. League-wide views are available through get_league_cap_summary and get_league_cash_summary, giving ranked comparisons across every franchise for any supported year.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/1063a484-f52f-4db5-a50f-b26705848e2f/list_nfl_teams' \ -H 'X-API-Key: $PARSE_API_KEY'
List all 32 NFL teams with their slugs. Each team slug is the stable identifier used to fetch rosters and other team-scoped data. Returns the full league regardless of parameters.
No input parameters required.
{
"type": "object",
"fields": {
"teams": "array of team objects with name, slug, and url"
},
"sample": {
"data": {
"teams": [
{
"url": "https://www.spotrac.com/nfl/buffalo-bills",
"name": "Buffalo Bills",
"slug": "buffalo-bills"
},
{
"url": "https://www.spotrac.com/nfl/kansas-city-chiefs",
"name": "Kansas City Chiefs",
"slug": "kansas-city-chiefs"
}
]
},
"status": "success"
}
}About the Spotrac API
Team and Player Coverage
Start with list_nfl_teams to retrieve all 32 NFL team slugs — identifiers like kansas-city-chiefs or buffalo-bills that are required inputs for roster and cap endpoints. Pass a slug to get_team_roster with an optional year parameter to get back an array of players, each carrying a player_id, player_slug, and URL. Those IDs feed directly into get_player_contract and search_players.
Contract and Cap Data
get_player_contract returns a tables array where each entry has a title, headers, and rows, covering cap hit, base salary, various bonus categories, and dead cap across contract years. For a full team view, get_team_contracts returns context (league base cap, rollover, adjustment, injured reserve, dead money as integers), a published object with top51_cap_space and top51_allocations, and a players array where each entry includes position, start_year, length_years, void_years, signing_bonus_total, and a seasons array with per-year financials.
Cap Summary Tables
get_team_cap_table returns two structures for a given team and year: a cap_summary array with label, dollar amount, and rank per row (salary cap, rollover, adjustments, allocations, cap space), and a cash_summary object breaking down active roster, injured reserve, and dead money by bonus category. At the league level, get_league_cash_summary adds record, signed player count, and avg_age alongside active_cash, dead_cash, and total_cash per team.
Search
search_players accepts a name string and returns matched players with their player_id, position, and URL. Results can include trending players in addition to exact query matches, and the search covers all sports on Spotrac, not just NFL — so filtering by position or cross-referencing against known NFL player IDs is advisable when precision matters.
The Spotrac API is a managed, monitored endpoint for spotrac.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when spotrac.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official spotrac.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track year-over-year cap hit changes for a specific player using
get_player_contracttables - Build a league-wide cap space leaderboard ranked by TOP-51 Cap Space via
get_league_cap_summary - Compare team dead money and active cash totals across all 32 franchises with
get_league_cash_summary - Audit a team's cap context — rollover, adjustments, and injured reserve allocations — with
get_team_contracts - Look up a player's signing bonus total and void years before a free-agency decision using
get_team_contracts - Populate a fantasy football contract database by iterating
get_team_rosteracross all teams and years - Identify teams with the most cap space for a given season using
get_team_cap_tablecap space rows
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Spotrac offer an official developer API?+
What does `get_team_contracts` return that `get_team_roster` does not?+
get_team_roster returns player identifiers (name, player_id, player_slug, url) for building lookups. get_team_contracts returns full financial detail for every player on the roster: per-season breakdowns in a seasons array, signing_bonus_total, length_years, void_years, plus the team's cap context object with league_base_cap, rollover, dead_money, and the published top-51 figures — all in one call.Does the API cover non-NFL sports like NBA, MLB, or NHL contracts?+
get_team_roster, get_team_cap_table, get_team_contracts, and the league summary endpoints — are NFL-only. search_players returns results across all sports Spotrac tracks, but contract retrieval via get_player_contract works by player ID regardless of sport. You can fork this API on Parse and revise it to add team and cap endpoints for other leagues.How far back does historical cap data go, and are future contract years included?+
get_team_cap_table and get_league_cap_summary accept any integer year value. Spotrac publishes historical seasons and future projected years for contracts already signed, so responses for past and upcoming seasons are generally available — though data completeness for future years depends on what Spotrac has published at query time.