Discover/spotrac.com API
live

spotrac.com APIspotrac.com

Access NFL player contract data, salary cap figures, team rosters, and bonus breakdowns for all 32 teams via the Spotrac API on Parse.

Endpoints
4
Updated
3mo ago
Try it

No input parameters required.

api.parse.bot/scraper/1063a484-f52f-4db5-a50f-b26705848e2f/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Use it in your codegrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/1063a484-f52f-4db5-a50f-b26705848e2f/list_nfl_teams' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 4 totalclick to expand

List all 32 NFL teams with their slugs. Use team slugs as input for get_team_roster.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "teams": "array of objects with name, slug, and url for each NFL team"
  },
  "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.com API

The Spotrac API exposes NFL salary and contract data across 4 endpoints, covering all 32 teams and individual player deals with fields for cap hit, base salary, bonuses, and dead cap figures. The get_player_contract endpoint returns structured contract tables with headers and rows, while list_nfl_teams and get_team_roster give you the slugs and player IDs needed to navigate the full dataset programmatically.

Endpoints and What They Return

The API has four endpoints that chain together naturally. list_nfl_teams returns an array of all 32 NFL team objects — each with a name, slug, and url — and those slugs feed directly into get_team_roster. The roster endpoint accepts a team_slug (required) and an optional year integer, returning each player's name, player_id, player_slug, and profile URL. Those IDs and slugs then unlock get_player_contract.

Contract Data Structure

get_player_contract is the most data-dense endpoint. It accepts a numeric player_id (required) and an optional player_slug. The response includes the player's name, team, and position — though both team and position may be empty when they cannot be parsed from the source page — along with a tables array. Each table object carries a title, a headers array, and a rows array of arrays, covering structures like annual cap hits, base salary breakdowns, signing bonuses, roster bonuses, and dead cap figures across contract years.

Searching for Players

search_players accepts a free-text query (e.g. 'Patrick Mahomes') and returns matching player objects with name, player_id, position, and url. Note that results can include trending or popular players from the search page alongside genuine name matches, so downstream logic should verify hits before treating them as authoritative. This endpoint is the right entry point when you have a player name but no ID or team context.

Common use cases
  • Build a salary cap tracker that aggregates cap hit fields across all 32 rosters for a given year
  • Compare base salary, signing bonus, and dead cap figures across players at the same position using contract table rows
  • Automate alerts when a player's contract data changes by polling get_player_contract on a schedule
  • Populate a fantasy football tool with current roster composition and contract status per team
  • Identify players with high dead cap figures by parsing the dead cap table returned in get_player_contract
  • Cross-reference search_players results with get_team_roster to resolve player IDs from name-only inputs
  • Analyze year-over-year contract escalations by requesting get_team_roster for multiple years and joining on player_id
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000250 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Spotrac have an official developer API?+
Spotrac does not publish a public developer API. There is no documented REST or GraphQL interface available to third-party developers on their site.
What contract fields does get_player_contract actually return?+
The endpoint returns a tables array where each element has a title, a headers array, and a rows array of arrays. Depending on the player's contract page, tables can cover annual cap hits, base salaries, signing bonuses, roster bonuses, option bonuses, and dead cap figures. The team and position fields at the top level may be empty strings when the page layout does not expose them in a parseable form.
Does the API cover NFL practice squad contracts or historical contracts beyond the current deal?+
The API surfaces whatever contract tables appear on a player's Spotrac page for their active or most recent contract. Practice squad contract details and full historical multi-contract archives are not currently a guaranteed part of the tables returned. You can fork this API on Parse and revise it to target specific historical contract sections if your use case requires them.
Can I get data for leagues other than the NFL — NBA, MLB, or NHL?+
The API currently covers NFL teams, rosters, and contracts only. Spotrac does publish salary data for other major leagues, but those are not included in this API. You can fork it on Parse and revise it to add endpoints pointing to NBA, MLB, or NHL pages.
How reliable are search_players results for finding a specific player's ID?+
The results can include trending or popular players from the search page in addition to genuine matches for your query string. For lookup tasks where precision matters, it is safer to call list_nfl_teams, then get_team_roster for the player's known team, and match on name there — the roster endpoint returns deterministic player_id and player_slug values tied to a specific team and year.
Page content last updated . Spec covers 4 endpoints from spotrac.com.
Related APIs in SportsSee all →
ncaa.com API
Access live college sports scores, game schedules, detailed boxscores, play-by-play breakdowns, and team statistics across NCAA sports. Search for specific contests and retrieve comprehensive game information for any NCAA sport, division, or team.
bet365.bet.br API
Access live betting odds, featured sports events, and real-time scores directly from bet365 Brazil's platform across multiple sports including Formula 1 and in-play markets. Get current match results, browse available betting categories, and view homepage promotions all through structured data endpoints.
nfl.com API
Access real-time NFL data including game schedules, scores, player statistics, team rosters, standings, injury reports, fantasy rankings, and the latest news — all from nfl.com.
maxpreps.com API
Access high school sports data from MaxPreps. Search for schools, retrieve team rosters and schedules, look up athlete profiles, and browse national or state rankings across all sports.
axs.com API
Search for events, performers, and venues across AXS.com to find tickets, pricing, and availability information in your area or by category. Browse featured events, explore venues by city, and access detailed event information all in one place.
pdga.com API
Access player profiles, ratings history, tournament events, live scoring, world rankings, and the course directory from the Professional Disc Golf Association.
bwfbadminton.com API
Track badminton tournaments worldwide by browsing the BWF calendar, viewing tournament draw brackets, and retrieving detailed match results with player stats and scores. Stay updated on competitions and analyze matchups with comprehensive tournament data from the Badminton World Federation.
formula1.com API
Get comprehensive Formula 1 data including race results, qualifying sessions, practice sessions, pit stops, and driver/team standings from 1950 to present. Track live race schedules, fastest laps, starting grids, and historical world champions to stay updated on all F1 season information.