NAV
shell javascript python

NCAAB API

Welcome to the BALLDONTLIE NCAAB API, the best College Basketball (NCAAB DI) API on the planet. This API contains data from 2003 to now. An API key is required. You can obtain an API key by creating a free account on our website. Read the authentication section to learn how to use the API key.

Take a look at our other APIs:

Join us on discord.

MCP Server Integration

Connect to our sports data through any MCP-compatible client using our hosted MCP server. The MCP (Model Context Protocol) server allows AI assistants to interact with our API through natural language.

Quick Setup

Add this configuration to your MCP client (e.g., Claude Desktop, or any other MCP-compatible client):

{
  "mcpServers": {
    "balldontlie-api": {
      "url": "https://mcp.balldontlie.io/mcp",
      "transport": "http",
      "headers": {
        "Authorization": "YOUR_BALLDONTLIE_API_KEY"
      }
    }
  }
}

Open Source Implementation

Check out our open-source MCP server implementation on GitHub: https://github.com/balldontlie-api/mcp

Usage Examples

Once configured, you can ask your AI assistant natural language questions like:

The MCP server provides access to all available API endpoints through conversational AI, making it easy to integrate sports data into any AI-powered application.

Account Tiers

There are three different account tiers which provide you access to different types of data. Visit our website to create an account for free.

Paid tiers do not apply across sports. The tier you purchase for NCAAB will not automatically be applied to other sports. You can purchase the ALL-ACCESS ($89.99/mo) tier to get access to every endpoint for every sport.

Read the table below to see the breakdown.

Endpoint Free ALL-STAR GOAT
Conferences Yes Yes Yes
Teams Yes Yes Yes
Players Yes Yes Yes
Standings Yes Yes Yes
Active Players No Yes Yes
Games No Yes Yes
Rankings No Yes Yes
Play-by-Play No Yes Yes
Player Stats No No Yes
Team Stats No No Yes
Player Season Stats No No Yes
Team Season Stats No No Yes
March Madness Bracket No No Yes

The feature breakdown per tier is shown in the table below.

Tier Requests / Min $USD / mo.
GOAT 600 39.99
ALL-STAR 60 9.99
Free 5 0

Authentication

To authorize, use this code:

curl "api_endpoint_here" -H "Authorization: YOUR_API_KEY"
// Using fetch
const response = await fetch("https://api.balldontlie.io/ncaab/v1/teams", {
  headers: {
    Authorization: "YOUR_API_KEY",
  },
});
const data = await response.json();
# Using requests
import requests

response = requests.get(
    'https://api.balldontlie.io/ncaab/v1/teams',
    headers={'Authorization': 'YOUR_API_KEY'}
)
data = response.json()

Make sure to replace YOUR_API_KEY with your API key.

BALLDONTLIE uses API keys to allow access to the API. You can obtain an API key by creating a free account at our website

We expect the API key to be included in all API requests to the server in a header that looks like the following:

Authorization: YOUR_API_KEY

Pagination

This API uses cursor based pagination rather than limit/offset. Endpoints that support pagination will send back responses with a meta key that looks like what is displayed on the right.

{
  "meta": {
    "next_cursor": 90,
    "per_page": 25
  }
}

You can use per_page to specify the maximum number of results. It defaults to 25 and doesn't allow values larger than 100.

You can use next_cursor to get the next page of results. Specify it in the request parameters like this: ?cursor=NEXT_CURSOR.

Errors

The API uses the following error codes:

Error Code Meaning
401 Unauthorized - You either need an API key or your account tier does not have access to the endpoint.
400 Bad Request -- The request is invalid. The request parameters are probably incorrect.
404 Not Found -- The specified resource could not be found.
406 Not Acceptable -- You requested a format that isn't json.
429 Too Many Requests -- You're rate limited.
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.

Conferences

Get All Conferences

curl "https://api.balldontlie.io/ncaab/v1/conferences" \
  -H "Authorization: YOUR_API_KEY"
const response = await fetch(
  "https://api.balldontlie.io/ncaab/v1/conferences",
  {
    headers: { Authorization: "YOUR_API_KEY" },
  }
);
const data = await response.json();
import requests

response = requests.get(
    'https://api.balldontlie.io/ncaab/v1/conferences',
    headers={'Authorization': 'YOUR_API_KEY'}
)
data = response.json()

The above command returns JSON structured like this:

{
  "data": [
    {
      "id": 3,
      "name": "America East Conference",
      "short_name": "America East"
    },
    {
      "id": 4,
      "name": "American Conference",
      "short_name": "American"
    },
    {
      "id": 2,
      "name": "ASUN Conference",
      "short_name": "ASUN"
    },
    {
      "id": 5,
      "name": "Atlantic 10 Conference",
      "short_name": "Atlantic 10"
    },
    {
      "id": 1,
      "name": "Atlantic Coast Conference",
      "short_name": "ACC"
    },
    {
      "id": 6,
      "name": "Big 12 Conference",
      "short_name": "Big 12"
    },
    {
      "id": 7,
      "name": "Big East Conference",
      "short_name": "Big East"
    },
    {
      "id": 8,
      "name": "Big Sky Conference",
      "short_name": "Big Sky"
    },
    {
      "id": 9,
      "name": "Big South Conference",
      "short_name": "Big South"
    },
    {
      "id": 10,
      "name": "Big Ten Conference",
      "short_name": "Big Ten"
    },
    {
      "id": 11,
      "name": "Big West Conference",
      "short_name": "Big West"
    },
    {
      "id": 12,
      "name": "Coastal Athletic Association",
      "short_name": "Coastal"
    },
    {
      "id": 13,
      "name": "Conference USA",
      "short_name": "Conference USA"
    },
    {
      "id": 32,
      "name": "Division I Independents",
      "short_name": "Indep."
    },
    {
      "id": 34,
      "name": "Great West",
      "short_name": "Great West"
    },
    {
      "id": 14,
      "name": "Horizon League",
      "short_name": "Horizon"
    },
    {
      "id": 15,
      "name": "Ivy League",
      "short_name": "Ivy"
    },
    {
      "id": 16,
      "name": "Metro Atlantic Athletic Conference",
      "short_name": "MAAC"
    },
    {
      "id": 18,
      "name": "Mid-American Conference",
      "short_name": "Mid-American"
    },
    {
      "id": 35,
      "name": "Mid Continent Conference",
      "short_name": "Mid-Con"
    },
    {
      "id": 17,
      "name": "Mid-Eastern Athletic Conference",
      "short_name": "MEAC"
    },
    {
      "id": 19,
      "name": "Missouri Valley Conference",
      "short_name": "Missouri Valley"
    },
    {
      "id": 20,
      "name": "Mountain West Conference",
      "short_name": "Mountain West"
    },
    {
      "id": 21,
      "name": "Northeast Conference",
      "short_name": "Northeast"
    },
    {
      "id": 22,
      "name": "Ohio Valley Conference",
      "short_name": "Ohio Valley"
    },
    {
      "id": 33,
      "name": "Pac-12 Conference",
      "short_name": "Pac-12"
    },
    {
      "id": 23,
      "name": "Patriot League",
      "short_name": "Patriot League"
    },
    {
      "id": 24,
      "name": "Southeastern Conference",
      "short_name": "SEC"
    },
    {
      "id": 26,
      "name": "Southern Conference",
      "short_name": "Southern"
    },
    {
      "id": 27,
      "name": "Southland Conference",
      "short_name": "Southland"
    },
    {
      "id": 25,
      "name": "Southwestern Athletic Conference",
      "short_name": "SWAC"
    },
    {
      "id": 28,
      "name": "Summit League",
      "short_name": "Summit League"
    },
    {
      "id": 29,
      "name": "Sun Belt Conference",
      "short_name": "Sun Belt"
    },
    {
      "id": 31,
      "name": "West Coast Conference",
      "short_name": "West Coast"
    },
    {
      "id": 30,
      "name": "Western Athletic Conference",
      "short_name": "WAC"
    }
  ]
}

This endpoint retrieves all NCAAB conferences.

HTTP Request

GET https://api.balldontlie.io/ncaab/v1/conferences

Teams

Get All Teams

curl "https://api.balldontlie.io/ncaab/v1/teams" \
  -H "Authorization: YOUR_API_KEY"
const response = await fetch("https://api.balldontlie.io/ncaab/v1/teams", {
  headers: { Authorization: "YOUR_API_KEY" },
});
const data = await response.json();
import requests

response = requests.get(
    'https://api.balldontlie.io/ncaab/v1/teams',
    headers={'Authorization': 'YOUR_API_KEY'}
)
data = response.json()

The above command returns JSON structured like this:

{
  "data": [
    {
      "id": 1,
      "conference_id": 1,
      "name": "Eagles",
      "full_name": "Boston College Eagles",
      "college": "Boston College",
      "abbreviation": "BC"
    },
    {
      "id": 2,
      "conference_id": 1,
      "name": "Golden Bears",
      "full_name": "California Golden Bears",
      "college": "California",
      "abbreviation": "CAL"
    },
    {
      "id": 3,
      "conference_id": 1,
      "name": "Tigers",
      "full_name": "Clemson Tigers",
      "college": "Clemson",
      "abbreviation": "CLEM"
    },
    {
      "id": 4,
      "conference_id": 1,
      "name": "Blue Devils",
      "full_name": "Duke Blue Devils",
      "college": "Duke",
      "abbreviation": "DUKE"
    },
    ...
  ]
}

This endpoint retrieves all NCAAB teams.

HTTP Request

GET https://api.balldontlie.io/ncaab/v1/teams

Query Parameters

Parameter Required Description
conference_id false Returns teams that belong to this conference

Players

Get All Players

curl "https://api.balldontlie.io/ncaab/v1/players" \
  -H "Authorization: YOUR_API_KEY"
const response = await fetch("https://api.balldontlie.io/ncaab/v1/players", {
  headers: { Authorization: "YOUR_API_KEY" },
});
const data = await response.json();
import requests

response = requests.get(
    'https://api.balldontlie.io/ncaab/v1/players',
    headers={'Authorization': 'YOUR_API_KEY'}
)
data = response.json()

The above command returns JSON structured like this:

{
  "data": [
    {
      "id": 316,
      "first_name": "JJ",
      "last_name": "Redick",
      "position": "Forward",
      "height": null,
      "weight": null,
      "jersey_number": null,
      "team": {
        "id": 4,
        "conference_id": 1,
        "name": "Blue Devils",
        "full_name": "Duke Blue Devils",
        "abbreviation": "DUKE"
      }
    },
    {
      "id": 389,
      "first_name": "Luol",
      "last_name": "Deng",
      "position": "Guard/Forward",
      "height": null,
      "weight": null,
      "jersey_number": null,
      "team": {
        "id": 4,
        "conference_id": 1,
        "name": "Blue Devils",
        "full_name": "Duke Blue Devils",
        "abbreviation": "DUKE"
      }
    },
    {
      "id": 729,
      "first_name": "Daniel",
      "last_name": "Ewing",
      "position": "Guard",
      "height": null,
      "weight": null,
      "jersey_number": null,
      "team": {
        "id": 4,
        "conference_id": 1,
        "name": "Blue Devils",
        "full_name": "Duke Blue Devils",
        "abbreviation": "DUKE",
        "college": "Duke"
      }
    }
  ],
  "meta": {
    "next_cursor": 11800,
    "per_page": 25
  }
}

This endpoint retrieves all NCAAB players.

HTTP Request

GET https://api.balldontlie.io/ncaab/v1/players

Query Parameters

Parameter Required Description
cursor false The cursor, used for pagination
per_page false The number of results per page. Default to 25. Max is 100
search false Returns players whose first or last name matches this value. For example, ?search=flagg will return players that have 'flagg' in their first or last name.
first_name false Returns players whose first name matches this value. For example, ?first_name=cooper will return players that have 'cooper' in their first name.
last_name false Returns players whose last name matches this value. For example, ?last_name=flagg will return players that have 'flagg' in their last name.
team_ids false Returns players that belong to these team ids. This should be an array: ?team_ids[]=1&team_ids[]=2
player_ids false Returns players that match these ids. This should be an array: ?player_ids[]=1&player_ids[]=2

Get a Specific Player

curl "https://api.balldontlie.io/ncaab/v1/players/<ID>" \
  -H "Authorization: YOUR_API_KEY"
const response = await fetch("https://api.balldontlie.io/ncaab/v1/players/1", {
  headers: { Authorization: "YOUR_API_KEY" },
});
const data = await response.json();
import requests

response = requests.get(
    'https://api.balldontlie.io/ncaab/v1/players/1',
    headers={'Authorization': 'YOUR_API_KEY'}
)
data = response.json()

The above command returns JSON structured like this:

{
  "data": {
    "id": 316,
    "first_name": "JJ",
    "last_name": "Redick",
    "position": "Forward",
    "height": null,
    "weight": null,
    "jersey_number": null,
    "team": {
      "id": 4,
      "conference_id": 1,
      "name": "Blue Devils",
      "full_name": "Duke Blue Devils",
      "abbreviation": "DUKE",
      "college": "Duke"
    }
  }
}

This endpoint retrieves a specific NCAAB player.

HTTP Request

GET https://api.balldontlie.io/ncaab/v1/players/<ID>

URL Parameters

Parameter Required Description
ID true The ID of the player to retrieve

Get Active Players

curl "https://api.balldontlie.io/ncaab/v1/players/active" \
  -H "Authorization: YOUR_API_KEY"
const response = await fetch(
  "https://api.balldontlie.io/ncaab/v1/players/active",
  {
    headers: { Authorization: "YOUR_API_KEY" },
  }
);
const data = await response.json();
import requests

response = requests.get(
    'https://api.balldontlie.io/ncaab/v1/players/active',
    headers={'Authorization': 'YOUR_API_KEY'}
)
data = response.json()

The above command returns JSON structured like this:

{
  "data": [
    {
      "id": 47043,
      "first_name": "Cameron",
      "last_name": "Sheffield",
      "position": "G",
      "height": "6' 6\"",
      "weight": "205 lbs",
      "jersey_number": "13",
      "team": {
        "id": 4,
        "conference_id": 1,
        "name": "Blue Devils",
        "full_name": "Duke Blue Devils",
        "college": "Duke",
        "abbreviation": "DUKE"
      }
    },
    {
      "id": 51570,
      "first_name": "Maliq",
      "last_name": "Brown",
      "position": "F",
      "height": "6' 9\"",
      "weight": "225 lbs",
      "jersey_number": "6",
      "team": {
        "id": 4,
        "conference_id": 1,
        "name": "Blue Devils",
        "full_name": "Duke Blue Devils",
        "college": "Duke",
        "abbreviation": "DUKE"
      }
    },
    ...
  ],
  "meta": {
    "per_page": 25
  }
}

This endpoint retrieves all currently active NCAAB players.

HTTP Request

GET https://api.balldontlie.io/ncaab/v1/players/active

Query Parameters

Parameter Required Description
cursor false The cursor, used for pagination
per_page false The number of results per page. Default to 25. Max is 100
search false Returns players whose first or last name matches this value. For example, ?search=flagg will return players that have 'flagg' in their first or last name.
first_name false Returns players whose first name matches this value. For example, ?first_name=cooper will return players that have 'cooper' in their first name.
last_name false Returns players whose last name matches this value. For example, ?last_name=flagg will return players that have 'flagg' in their last name.
team_ids false Returns players that belong to these team ids. This should be an array: ?team_ids[]=1&team_ids[]=2
player_ids false Returns players that match these ids. This should be an array: ?player_ids[]=1&player_ids[]=2

Standings

Get Standings

curl "https://api.balldontlie.io/ncaab/v1/standings?conference_id=1&season=2024" \
  -H "Authorization: YOUR_API_KEY"
const response = await fetch(
  "https://api.balldontlie.io/ncaab/v1/standings?conference_id=1&season=2024",
  {
    headers: { Authorization: "YOUR_API_KEY" },
  }
);
const data = await response.json();
import requests

response = requests.get(
    'https://api.balldontlie.io/ncaab/v1/standings',
    params={'conference_id': 1, 'season': 2024},
    headers={'Authorization': 'YOUR_API_KEY'}
)
data = response.json()

The above command returns JSON structured like this:

{
  "data": [
    {
      "team": {
        "id": 90,
        "conference_id": 7,
        "name": "Red Storm",
        "full_name": "St. John's Red Storm",
        "college": "St. John's",
        "abbreviation": "SJU"
      },
      "conference": {
        "id": 7,
        "name": "Big East Conference",
        "short_name": "Big East"
      },
      "season": 2024,
      "wins": 31,
      "losses": 5,
      "win_percentage": 0.861,
      "conference_win_percentage": 0.9,
      "games_behind": 0,
      "home_record": "19-0",
      "away_record": "8-2",
      "conference_record": "18-2",
      "playoff_seed": 1
    },
    {
      "team": {
        "id": 84,
        "conference_id": 7,
        "name": "Bluejays",
        "full_name": "Creighton Bluejays",
        "college": "Creighton",
        "abbreviation": "CREI"
      },
      "conference": {
        "id": 7,
        "name": "Big East Conference",
        "short_name": "Big East"
      },
      "season": 2024,
      "wins": 25,
      "losses": 11,
      "win_percentage": 0.694,
      "conference_win_percentage": 0.75,
      "games_behind": 3,
      "home_record": "15-2",
      "away_record": "6-6",
      "conference_record": "15-5",
      "playoff_seed": 2
    },
    ...
  ]
}

This endpoint retrieves NCAAB standings for a specific conference.

HTTP Request

GET https://api.balldontlie.io/ncaab/v1/standings

Query Parameters

Parameter Required Description
conference_id true The ID of the conference
season true Filter by season year

Games

Get All Games

curl "https://api.balldontlie.io/ncaab/v1/games" \
  -H "Authorization: YOUR_API_KEY"
const response = await fetch("https://api.balldontlie.io/ncaab/v1/games", {
  headers: { Authorization: "YOUR_API_KEY" },
});
const data = await response.json();
import requests

response = requests.get(
    'https://api.balldontlie.io/ncaab/v1/games',
    headers={'Authorization': 'YOUR_API_KEY'}
)
data = response.json()

The above command returns JSON structured like this:

{
  "data": [
    {
      "id": 891,
      "date": "2025-03-15T01:52:00.000Z",
      "season": 2024,
      "status": "post",
      "period": 0,
      "home_team": {
        "id": 274,
        "conference_id": 24,
        "name": "Crimson Tide",
        "full_name": "Alabama Crimson Tide",
        "college": "Alabama",
        "abbreviation": "ALA"
      },
      "visitor_team": {
        "id": 279,
        "conference_id": 24,
        "name": "Wildcats",
        "full_name": "Kentucky Wildcats",
        "college": "Kentucky",
        "abbreviation": "UK"
      },
      "home_score": 99,
      "away_score": 70,
      "home_score_h1": 45,
      "away_score_h1": 38,
      "home_score_h2": 54,
      "away_score_h2": 32,
      "home_score_ot": null,
      "away_score_ot": null
    },
    {
      "id": 895,
      "date": "2025-03-15T01:30:00.000Z",
      "season": 2024,
      "status": "post",
      "period": 0,
      "home_team": {
        "id": 79,
        "conference_id": 6,
        "name": "Red Raiders",
        "full_name": "Texas Tech Red Raiders",
        "college": "Texas Tech",
        "abbreviation": "TTU"
      },
      "visitor_team": {
        "id": 68,
        "conference_id": 6,
        "name": "Wildcats",
        "full_name": "Arizona Wildcats",
        "college": "Arizona",
        "abbreviation": "ARIZ"
      },
      "home_score": 80,
      "away_score": 86,
      "home_score_h1": 39,
      "away_score_h1": 47,
      "home_score_h2": 41,
      "away_score_h2": 39,
      "home_score_ot": null,
      "away_score_ot": null
    },
    {
      "id": 896,
      "date": "2025-03-15T01:30:00.000Z",
      "season": 2024,
      "status": "post",
      "period": 0,
      "home_team": {
        "id": 7,
        "conference_id": 1,
        "name": "Cardinals",
        "full_name": "Louisville Cardinals",
        "college": "Louisville",
        "abbreviation": "LOU"
      },
      "visitor_team": {
        "id": 3,
        "conference_id": 1,
        "name": "Tigers",
        "full_name": "Clemson Tigers",
        "college": "Clemson",
        "abbreviation": "CLEM"
      },
      "home_score": 76,
      "away_score": 73,
      "home_score_h1": 33,
      "away_score_h1": 28,
      "home_score_h2": 43,
      "away_score_h2": 45,
      "home_score_ot": null,
      "away_score_ot": null
    },
    {
      "id": 900,
      "date": "2025-03-15T01:00:00.000Z",
      "season": 2024,
      "status": "post",
      "period": 0,
      "home_team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      },
      "visitor_team": {
        "id": 125,
        "conference_id": 10,
        "name": "Boilermakers",
        "full_name": "Purdue Boilermakers",
        "college": "Purdue",
        "abbreviation": "PUR"
      },
      "home_score": 86,
      "away_score": 68,
      "home_score_h1": 40,
      "away_score_h1": 36,
      "home_score_h2": 46,
      "away_score_h2": 32,
      "home_score_ot": null,
      "away_score_ot": null
    },
    {
      "id": 902,
      "date": "2025-03-15T22:17:00.000Z",
      "season": 2024,
      "status": "post",
      "period": 0,
      "home_team": {
        "id": 73,
        "conference_id": 6,
        "name": "Cougars",
        "full_name": "Houston Cougars",
        "college": "Houston",
        "abbreviation": "HOU"
      },
      "visitor_team": {
        "id": 68,
        "conference_id": 6,
        "name": "Wildcats",
        "full_name": "Arizona Wildcats",
        "college": "Arizona",
        "abbreviation": "ARIZ"
      },
      "home_score": 72,
      "away_score": 64,
      "home_score_h1": 28,
      "away_score_h1": 33,
      "home_score_h2": 44,
      "away_score_h2": 31,
      "home_score_ot": null,
      "away_score_ot": null
    },
    {
      "id": 903,
      "date": "2025-03-15T17:00:00.000Z",
      "season": 2024,
      "status": "post",
      "period": 0,
      "home_team": {
        "id": 276,
        "conference_id": 24,
        "name": "Tigers",
        "full_name": "Auburn Tigers",
        "college": "Auburn",
        "abbreviation": "AUB"
      },
      "visitor_team": {
        "id": 286,
        "conference_id": 24,
        "name": "Volunteers",
        "full_name": "Tennessee Volunteers",
        "college": "Tennessee",
        "abbreviation": "TENN"
      },
      "home_score": 65,
      "away_score": 70,
      "home_score_h1": 33,
      "away_score_h1": 32,
      "home_score_h2": 32,
      "away_score_h2": 38,
      "home_score_ot": null,
      "away_score_ot": null
    },
    {
      "id": 904,
      "date": "2025-03-15T19:56:00.000Z",
      "season": 2024,
      "status": "post",
      "period": 0,
      "home_team": {
        "id": 277,
        "conference_id": 24,
        "name": "Gators",
        "full_name": "Florida Gators",
        "college": "Florida",
        "abbreviation": "FLA"
      },
      "visitor_team": {
        "id": 274,
        "conference_id": 24,
        "name": "Crimson Tide",
        "full_name": "Alabama Crimson Tide",
        "college": "Alabama",
        "abbreviation": "ALA"
      },
      "home_score": 104,
      "away_score": 82,
      "home_score_h1": 47,
      "away_score_h1": 45,
      "home_score_h2": 57,
      "away_score_h2": 37,
      "home_score_ot": null,
      "away_score_ot": null
    },
    {
      "id": 905,
      "date": "2025-03-15T22:30:00.000Z",
      "season": 2024,
      "status": "post",
      "period": 0,
      "home_team": {
        "id": 90,
        "conference_id": 7,
        "name": "Red Storm",
        "full_name": "St. John's Red Storm",
        "college": "St. John's",
        "abbreviation": "SJU"
      },
      "visitor_team": {
        "id": 84,
        "conference_id": 7,
        "name": "Bluejays",
        "full_name": "Creighton Bluejays",
        "college": "Creighton",
        "abbreviation": "CREI"
      },
      "home_score": 82,
      "away_score": 66,
      "home_score_h1": 25,
      "away_score_h1": 28,
      "home_score_h2": 57,
      "away_score_h2": 38,
      "home_score_ot": null,
      "away_score_ot": null
    },
    {
      "id": 906,
      "date": "2025-03-15T17:00:00.000Z",
      "season": 2024,
      "status": "post",
      "period": 0,
      "home_team": {
        "id": 117,
        "conference_id": 10,
        "name": "Spartans",
        "full_name": "Michigan State Spartans",
        "college": "Michigan State",
        "abbreviation": "MSU"
      },
      "visitor_team": {
        "id": 130,
        "conference_id": 10,
        "name": "Badgers",
        "full_name": "Wisconsin Badgers",
        "college": "Wisconsin",
        "abbreviation": "WIS"
      },
      "home_score": 74,
      "away_score": 77,
      "home_score_h1": 33,
      "away_score_h1": 37,
      "home_score_h2": 41,
      "away_score_h2": 40,
      "home_score_ot": null,
      "away_score_ot": null
    },
    {
      "id": 907,
      "date": "2025-03-15T19:52:00.000Z",
      "season": 2024,
      "status": "post",
      "period": 0,
      "home_team": {
        "id": 116,
        "conference_id": 10,
        "name": "Terrapins",
        "full_name": "Maryland Terrapins",
        "college": "Maryland",
        "abbreviation": "MD"
      },
      "visitor_team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      },
      "home_score": 80,
      "away_score": 81,
      "home_score_h1": 34,
      "away_score_h1": 38,
      "home_score_h2": 46,
      "away_score_h2": 43,
      "home_score_ot": null,
      "away_score_ot": null
    },
    {
      "id": 908,
      "date": "2025-03-15T19:00:00.000Z",
      "season": 2024,
      "status": "post",
      "period": 0,
      "home_team": {
        "id": 43,
        "conference_id": 4,
        "name": "Tigers",
        "full_name": "Memphis Tigers",
        "college": "Memphis",
        "abbreviation": "MEM"
      },
      "visitor_team": {
        "id": 48,
        "conference_id": 4,
        "name": "Green Wave",
        "full_name": "Tulane Green Wave",
        "college": "Tulane",
        "abbreviation": "TULN"
      },
      "home_score": 78,
      "away_score": 77,
      "home_score_h1": 39,
      "away_score_h1": 32,
      "home_score_h2": 39,
      "away_score_h2": 45,
      "home_score_ot": null,
      "away_score_ot": null
    }
  ],
  "meta": {
    "per_page": 25
  }
}

This endpoint retrieves all NCAAB games.

HTTP Request

GET https://api.balldontlie.io/ncaab/v1/games

Query Parameters

Parameter Required Description
cursor false The cursor, used for pagination
per_page false The number of results per page. Default to 25. Max is 100
dates false Returns games that match these dates. Dates should be formatted in YYYY-MM-DD. This should be an array: ?dates[]=2024-11-04&dates[]=2024-11-05
seasons false Returns games that occurred in these seasons. This should be an array: ?seasons[]=2024&seasons[]=2025
team_ids false Returns games for these team ids. This should be an array: ?team_ids[]=1&team_ids[]=2
start_date false Returns games that occurred on or after this date. Date should be formatted in YYYY-MM-DD
end_date false Returns games that occurred on or before this date. Date should be formatted in YYYY-MM-DD

Get a Specific Game

curl "https://api.balldontlie.io/ncaab/v1/games/<ID>" \
  -H "Authorization: YOUR_API_KEY"
const response = await fetch("https://api.balldontlie.io/ncaab/v1/games/1", {
  headers: { Authorization: "YOUR_API_KEY" },
});
const data = await response.json();
import requests

response = requests.get(
    'https://api.balldontlie.io/ncaab/v1/games/1',
    headers={'Authorization': 'YOUR_API_KEY'}
)
data = response.json()

The above command returns JSON structured like this:

{
  "data": {
    "id": 907,
    "date": "2025-03-15T19:52:00.000Z",
    "season": 2024,
    "status": "post",
    "period": 0,
    "home_team": {
      "id": 116,
      "conference_id": 10,
      "name": "Terrapins",
      "full_name": "Maryland Terrapins",
      "college": "Maryland",
      "abbreviation": "MD"
    },
    "visitor_team": {
      "id": 118,
      "conference_id": 10,
      "name": "Wolverines",
      "full_name": "Michigan Wolverines",
      "college": "Michigan",
      "abbreviation": "MICH"
    },
    "home_score": 80,
    "away_score": 81,
    "home_score_h1": 34,
    "away_score_h1": 38,
    "home_score_h2": 46,
    "away_score_h2": 43,
    "home_score_ot": null,
    "away_score_ot": null
  }
}

This endpoint retrieves a specific NCAAB game.

HTTP Request

GET https://api.balldontlie.io/ncaab/v1/games/<ID>

URL Parameters

Parameter Required Description
ID true The ID of the game to retrieve

Rankings

Get Rankings

curl "https://api.balldontlie.io/ncaab/v1/rankings?season=2024" \
  -H "Authorization: YOUR_API_KEY"
const response = await fetch(
  "https://api.balldontlie.io/ncaab/v1/rankings?season=2024",
  {
    headers: { Authorization: "YOUR_API_KEY" },
  }
);
const data = await response.json();
import requests

response = requests.get(
    'https://api.balldontlie.io/ncaab/v1/rankings',
    params={'season': 2024},
    headers={'Authorization': 'YOUR_API_KEY'}
)
data = response.json()

The above command returns JSON structured like this:

{
  "data": [
    {
      "poll": "ap",
      "team": {
        "id": 4,
        "conference_id": 1,
        "name": "Blue Devils",
        "full_name": "Duke Blue Devils",
        "college": "Duke",
        "abbreviation": "DUKE"
      },
      "season": 2024,
      "week": 20,
      "rank": 1,
      "first_place_votes": 49,
      "trend": "-",
      "points": 1463,
      "record": "31-3"
    },
    {
      "poll": "ap",
      "team": {
        "id": 73,
        "conference_id": 6,
        "name": "Cougars",
        "full_name": "Houston Cougars",
        "college": "Houston",
        "abbreviation": "HOU"
      },
      "season": 2024,
      "week": 20,
      "rank": 2,
      "first_place_votes": 6,
      "trend": "-",
      "points": 1394,
      "record": "30-4"
    },
    {
      "poll": "ap",
      "team": {
        "id": 277,
        "conference_id": 24,
        "name": "Gators",
        "full_name": "Florida Gators",
        "college": "Florida",
        "abbreviation": "FLA"
      },
      "season": 2024,
      "week": 20,
      "rank": 3,
      "first_place_votes": 2,
      "trend": "+1",
      "points": 1370,
      "record": "30-4"
    },
    {
      "poll": "ap",
      "team": {
        "id": 276,
        "conference_id": 24,
        "name": "Tigers",
        "full_name": "Auburn Tigers",
        "college": "Auburn",
        "abbreviation": "AUB"
      },
      "season": 2024,
      "week": 20,
      "rank": 4,
      "first_place_votes": 2,
      "trend": "-1",
      "points": 1291,
      "record": "28-5"
    },
    {
      "poll": "ap",
      "team": {
        "id": 90,
        "conference_id": 7,
        "name": "Red Storm",
        "full_name": "St. John's Red Storm",
        "college": "St. John's",
        "abbreviation": "SJU"
      },
      "season": 2024,
      "week": 20,
      "rank": 5,
      "first_place_votes": null,
      "trend": "+1",
      "points": 1225,
      "record": "30-4"
    },
    {
      "poll": "ap",
      "team": {
        "id": 286,
        "conference_id": 24,
        "name": "Volunteers",
        "full_name": "Tennessee Volunteers",
        "college": "Tennessee",
        "abbreviation": "TENN"
      },
      "season": 2024,
      "week": 20,
      "rank": 6,
      "first_place_votes": null,
      "trend": "+2",
      "points": 1174,
      "record": "27-7"
    },
    {
      "poll": "ap",
      "team": {
        "id": 274,
        "conference_id": 24,
        "name": "Crimson Tide",
        "full_name": "Alabama Crimson Tide",
        "college": "Alabama",
        "abbreviation": "ALA"
      },
      "season": 2024,
      "week": 20,
      "rank": 7,
      "first_place_votes": null,
      "trend": "-2",
      "points": 1120,
      "record": "25-8"
    },
    {
      "poll": "ap",
      "team": {
        "id": 117,
        "conference_id": 10,
        "name": "Spartans",
        "full_name": "Michigan State Spartans",
        "college": "Michigan State",
        "abbreviation": "MSU"
      },
      "season": 2024,
      "week": 20,
      "rank": 8,
      "first_place_votes": null,
      "trend": "-1",
      "points": 1080,
      "record": "27-6"
    },
    {
      "poll": "ap",
      "team": {
        "id": 79,
        "conference_id": 6,
        "name": "Red Raiders",
        "full_name": "Texas Tech Red Raiders",
        "college": "Texas Tech",
        "abbreviation": "TTU"
      },
      "season": 2024,
      "week": 20,
      "rank": 9,
      "first_place_votes": null,
      "trend": "-",
      "points": 926,
      "record": "25-8"
    },
    {
      "poll": "ap",
      "team": {
        "id": 7,
        "conference_id": 1,
        "name": "Cardinals",
        "full_name": "Louisville Cardinals",
        "college": "Louisville",
        "abbreviation": "LOU"
      },
      "season": 2024,
      "week": 20,
      "rank": 10,
      "first_place_votes": null,
      "trend": "+3",
      "points": 809,
      "record": "27-7"
    },
    {
      "poll": "ap",
      "team": {
        "id": 116,
        "conference_id": 10,
        "name": "Terrapins",
        "full_name": "Maryland Terrapins",
        "college": "Maryland",
        "abbreviation": "MD"
      },
      "season": 2024,
      "week": 20,
      "rank": 11,
      "first_place_votes": null,
      "trend": "-",
      "points": 764,
      "record": "25-8"
    },
    {
      "poll": "ap",
      "team": {
        "id": 3,
        "conference_id": 1,
        "name": "Tigers",
        "full_name": "Clemson Tigers",
        "college": "Clemson",
        "abbreviation": "CLEM"
      },
      "season": 2024,
      "week": 20,
      "rank": 12,
      "first_place_votes": null,
      "trend": "-2",
      "points": 746,
      "record": "27-6"
    },
    {
      "poll": "ap",
      "team": {
        "id": 130,
        "conference_id": 10,
        "name": "Badgers",
        "full_name": "Wisconsin Badgers",
        "college": "Wisconsin",
        "abbreviation": "WIS"
      },
      "season": 2024,
      "week": 20,
      "rank": 13,
      "first_place_votes": null,
      "trend": "+5",
      "points": 732,
      "record": "26-9"
    },
    {
      "poll": "ap",
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      },
      "season": 2024,
      "week": 20,
      "rank": 14,
      "first_place_votes": null,
      "trend": "+8",
      "points": 681,
      "record": "25-9"
    },
    {
      "poll": "ap",
      "team": {
        "id": 74,
        "conference_id": 6,
        "name": "Cyclones",
        "full_name": "Iowa State Cyclones",
        "college": "Iowa State",
        "abbreviation": "ISU"
      },
      "season": 2024,
      "week": 20,
      "rank": 15,
      "first_place_votes": null,
      "trend": "-3",
      "points": 641,
      "record": "24-9"
    },
    {
      "poll": "ap",
      "team": {
        "id": 43,
        "conference_id": 4,
        "name": "Tigers",
        "full_name": "Memphis Tigers",
        "college": "Memphis",
        "abbreviation": "MEM"
      },
      "season": 2024,
      "week": 20,
      "rank": 16,
      "first_place_votes": null,
      "trend": "-",
      "points": 636,
      "record": "29-5"
    },
    {
      "poll": "ap",
      "team": {
        "id": 69,
        "conference_id": 6,
        "name": "Cougars",
        "full_name": "BYU Cougars",
        "college": "BYU",
        "abbreviation": "BYU"
      },
      "season": 2024,
      "week": 20,
      "rank": 17,
      "first_place_votes": null,
      "trend": "-",
      "points": 563,
      "record": "24-9"
    },
    {
      "poll": "ap",
      "team": {
        "id": 279,
        "conference_id": 24,
        "name": "Wildcats",
        "full_name": "Kentucky Wildcats",
        "college": "Kentucky",
        "abbreviation": "UK"
      },
      "season": 2024,
      "week": 20,
      "rank": 18,
      "first_place_votes": null,
      "trend": "-3",
      "points": 511,
      "record": "22-11"
    },
    {
      "poll": "ap",
      "team": {
        "id": 287,
        "conference_id": 24,
        "name": "Aggies",
        "full_name": "Texas A&M Aggies",
        "college": "Texas A&M",
        "abbreviation": "TA&M"
      },
      "season": 2024,
      "week": 20,
      "rank": 19,
      "first_place_votes": null,
      "trend": "-5",
      "points": 457,
      "record": "22-10"
    },
    {
      "poll": "ap",
      "team": {
        "id": 360,
        "conference_id": 31,
        "name": "Gaels",
        "full_name": "Saint Mary's Gaels",
        "college": "Saint Mary's",
        "abbreviation": "SMC"
      },
      "season": 2024,
      "week": 20,
      "rank": 20,
      "first_place_votes": null,
      "trend": "-1",
      "points": 306,
      "record": "28-5"
    },
    {
      "poll": "ap",
      "team": {
        "id": 68,
        "conference_id": 6,
        "name": "Wildcats",
        "full_name": "Arizona Wildcats",
        "college": "Arizona",
        "abbreviation": "ARIZ"
      },
      "season": 2024,
      "week": 20,
      "rank": 21,
      "first_place_votes": null,
      "trend": "+5",
      "points": 253,
      "record": "22-12"
    },
    {
      "poll": "ap",
      "team": {
        "id": 125,
        "conference_id": 10,
        "name": "Boilermakers",
        "full_name": "Purdue Boilermakers",
        "college": "Purdue",
        "abbreviation": "PUR"
      },
      "season": 2024,
      "week": 20,
      "rank": 22,
      "first_place_votes": null,
      "trend": "-2",
      "points": 227,
      "record": "22-11"
    },
    {
      "poll": "ap",
      "team": {
        "id": 282,
        "conference_id": 24,
        "name": "Tigers",
        "full_name": "Missouri Tigers",
        "college": "Missouri",
        "abbreviation": "MIZ"
      },
      "season": 2024,
      "week": 20,
      "rank": 23,
      "first_place_votes": null,
      "trend": "-2",
      "points": 159,
      "record": "22-11"
    },
    {
      "poll": "ap",
      "team": {
        "id": 354,
        "conference_id": 31,
        "name": "Bulldogs",
        "full_name": "Gonzaga Bulldogs",
        "college": "Gonzaga",
        "abbreviation": "GONZ"
      },
      "season": 2024,
      "week": 20,
      "rank": 24,
      "first_place_votes": null,
      "trend": "+2",
      "points": 151,
      "record": "25-8"
    },
    {
      "poll": "ap",
      "team": {
        "id": 123,
        "conference_id": 10,
        "name": "Ducks",
        "full_name": "Oregon Ducks",
        "college": "Oregon",
        "abbreviation": "ORE"
      },
      "season": 2024,
      "week": 20,
      "rank": 25,
      "first_place_votes": null,
      "trend": "-2",
      "points": 115,
      "record": "24-9"
    },
    {
      "poll": "coach",
      "team": {
        "id": 4,
        "conference_id": 1,
        "name": "Blue Devils",
        "full_name": "Duke Blue Devils",
        "college": "Duke",
        "abbreviation": "DUKE"
      },
      "season": 2024,
      "week": 20,
      "rank": 1,
      "first_place_votes": 25,
      "trend": "-",
      "points": 764,
      "record": "31-3"
    },
    {
      "poll": "coach",
      "team": {
        "id": 73,
        "conference_id": 6,
        "name": "Cougars",
        "full_name": "Houston Cougars",
        "college": "Houston",
        "abbreviation": "HOU"
      },
      "season": 2024,
      "week": 20,
      "rank": 2,
      "first_place_votes": 2,
      "trend": "-",
      "points": 731,
      "record": "30-4"
    },
    {
      "poll": "coach",
      "team": {
        "id": 277,
        "conference_id": 24,
        "name": "Gators",
        "full_name": "Florida Gators",
        "college": "Florida",
        "abbreviation": "FLA"
      },
      "season": 2024,
      "week": 20,
      "rank": 3,
      "first_place_votes": 3,
      "trend": "+1",
      "points": 715,
      "record": "30-4"
    },
    {
      "poll": "coach",
      "team": {
        "id": 276,
        "conference_id": 24,
        "name": "Tigers",
        "full_name": "Auburn Tigers",
        "college": "Auburn",
        "abbreviation": "AUB"
      },
      "season": 2024,
      "week": 20,
      "rank": 4,
      "first_place_votes": 1,
      "trend": "-1",
      "points": 672,
      "record": "28-5"
    },
    {
      "poll": "coach",
      "team": {
        "id": 90,
        "conference_id": 7,
        "name": "Red Storm",
        "full_name": "St. John's Red Storm",
        "college": "St. John's",
        "abbreviation": "SJU"
      },
      "season": 2024,
      "week": 20,
      "rank": 5,
      "first_place_votes": null,
      "trend": "-",
      "points": 643,
      "record": "30-4"
    },
    {
      "poll": "coach",
      "team": {
        "id": 286,
        "conference_id": 24,
        "name": "Volunteers",
        "full_name": "Tennessee Volunteers",
        "college": "Tennessee",
        "abbreviation": "TENN"
      },
      "season": 2024,
      "week": 20,
      "rank": 6,
      "first_place_votes": null,
      "trend": "-",
      "points": 634,
      "record": "27-7"
    },
    {
      "poll": "coach",
      "team": {
        "id": 117,
        "conference_id": 10,
        "name": "Spartans",
        "full_name": "Michigan State Spartans",
        "college": "Michigan State",
        "abbreviation": "MSU"
      },
      "season": 2024,
      "week": 20,
      "rank": 7,
      "first_place_votes": null,
      "trend": "-1",
      "points": 568,
      "record": "27-6"
    },
    {
      "poll": "coach",
      "team": {
        "id": 274,
        "conference_id": 24,
        "name": "Crimson Tide",
        "full_name": "Alabama Crimson Tide",
        "college": "Alabama",
        "abbreviation": "ALA"
      },
      "season": 2024,
      "week": 20,
      "rank": 8,
      "first_place_votes": null,
      "trend": "-",
      "points": 556,
      "record": "25-8"
    },
    {
      "poll": "coach",
      "team": {
        "id": 79,
        "conference_id": 6,
        "name": "Red Raiders",
        "full_name": "Texas Tech Red Raiders",
        "college": "Texas Tech",
        "abbreviation": "TTU"
      },
      "season": 2024,
      "week": 20,
      "rank": 9,
      "first_place_votes": null,
      "trend": "-",
      "points": 498,
      "record": "25-8"
    },
    {
      "poll": "coach",
      "team": {
        "id": 130,
        "conference_id": 10,
        "name": "Badgers",
        "full_name": "Wisconsin Badgers",
        "college": "Wisconsin",
        "abbreviation": "WIS"
      },
      "season": 2024,
      "week": 20,
      "rank": 10,
      "first_place_votes": null,
      "trend": "+4",
      "points": 445,
      "record": "26-9"
    },
    {
      "poll": "coach",
      "team": {
        "id": 7,
        "conference_id": 1,
        "name": "Cardinals",
        "full_name": "Louisville Cardinals",
        "college": "Louisville",
        "abbreviation": "LOU"
      },
      "season": 2024,
      "week": 20,
      "rank": 11,
      "first_place_votes": null,
      "trend": "+2",
      "points": 426,
      "record": "27-7"
    },
    {
      "poll": "coach",
      "team": {
        "id": 116,
        "conference_id": 10,
        "name": "Terrapins",
        "full_name": "Maryland Terrapins",
        "college": "Maryland",
        "abbreviation": "MD"
      },
      "season": 2024,
      "week": 20,
      "rank": 12,
      "first_place_votes": null,
      "trend": "-1",
      "points": 401,
      "record": "25-8"
    },
    {
      "poll": "coach",
      "team": {
        "id": 3,
        "conference_id": 1,
        "name": "Tigers",
        "full_name": "Clemson Tigers",
        "college": "Clemson",
        "abbreviation": "CLEM"
      },
      "season": 2024,
      "week": 20,
      "rank": 13,
      "first_place_votes": null,
      "trend": "-3",
      "points": 378,
      "record": "27-6"
    },
    {
      "poll": "coach",
      "team": {
        "id": 74,
        "conference_id": 6,
        "name": "Cyclones",
        "full_name": "Iowa State Cyclones",
        "college": "Iowa State",
        "abbreviation": "ISU"
      },
      "season": 2024,
      "week": 20,
      "rank": 14,
      "first_place_votes": null,
      "trend": "-2",
      "points": 361,
      "record": "24-9"
    },
    {
      "poll": "coach",
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      },
      "season": 2024,
      "week": 20,
      "rank": 15,
      "first_place_votes": null,
      "trend": "+6",
      "points": 329,
      "record": "25-9"
    },
    {
      "poll": "coach",
      "team": {
        "id": 43,
        "conference_id": 4,
        "name": "Tigers",
        "full_name": "Memphis Tigers",
        "college": "Memphis",
        "abbreviation": "MEM"
      },
      "season": 2024,
      "week": 20,
      "rank": 16,
      "first_place_votes": null,
      "trend": "+1",
      "points": 272,
      "record": "29-5"
    },
    {
      "poll": "coach",
      "team": {
        "id": 69,
        "conference_id": 6,
        "name": "Cougars",
        "full_name": "BYU Cougars",
        "college": "BYU",
        "abbreviation": "BYU"
      },
      "season": 2024,
      "week": 20,
      "rank": 17,
      "first_place_votes": null,
      "trend": "+1",
      "points": 235,
      "record": "24-9"
    },
    {
      "poll": "coach",
      "team": {
        "id": 287,
        "conference_id": 24,
        "name": "Aggies",
        "full_name": "Texas A&M Aggies",
        "college": "Texas A&M",
        "abbreviation": "TA&M"
      },
      "season": 2024,
      "week": 20,
      "rank": 18,
      "first_place_votes": null,
      "trend": "-2",
      "points": 233,
      "record": "22-10"
    },
    {
      "poll": "coach",
      "team": {
        "id": 360,
        "conference_id": 31,
        "name": "Gaels",
        "full_name": "Saint Mary's Gaels",
        "college": "Saint Mary's",
        "abbreviation": "SMC"
      },
      "season": 2024,
      "week": 20,
      "rank": 19,
      "first_place_votes": null,
      "trend": "-4",
      "points": 209,
      "record": "28-5"
    },
    {
      "poll": "coach",
      "team": {
        "id": 68,
        "conference_id": 6,
        "name": "Wildcats",
        "full_name": "Arizona Wildcats",
        "college": "Arizona",
        "abbreviation": "ARIZ"
      },
      "season": 2024,
      "week": 20,
      "rank": 20,
      "first_place_votes": null,
      "trend": "+4",
      "points": 177,
      "record": "22-12"
    },
    {
      "poll": "coach",
      "team": {
        "id": 279,
        "conference_id": 24,
        "name": "Wildcats",
        "full_name": "Kentucky Wildcats",
        "college": "Kentucky",
        "abbreviation": "UK"
      },
      "season": 2024,
      "week": 20,
      "rank": 21,
      "first_place_votes": null,
      "trend": "-2",
      "points": 164,
      "record": "22-11"
    },
    {
      "poll": "coach",
      "team": {
        "id": 125,
        "conference_id": 10,
        "name": "Boilermakers",
        "full_name": "Purdue Boilermakers",
        "college": "Purdue",
        "abbreviation": "PUR"
      },
      "season": 2024,
      "week": 20,
      "rank": 22,
      "first_place_votes": null,
      "trend": "-2",
      "points": 154,
      "record": "22-11"
    },
    {
      "poll": "coach",
      "team": {
        "id": 354,
        "conference_id": 31,
        "name": "Bulldogs",
        "full_name": "Gonzaga Bulldogs",
        "college": "Gonzaga",
        "abbreviation": "GONZ"
      },
      "season": 2024,
      "week": 20,
      "rank": 23,
      "first_place_votes": null,
      "trend": "+3",
      "points": 93,
      "record": "25-8"
    },
    {
      "poll": "coach",
      "team": {
        "id": 282,
        "conference_id": 24,
        "name": "Tigers",
        "full_name": "Missouri Tigers",
        "college": "Missouri",
        "abbreviation": "MIZ"
      },
      "season": 2024,
      "week": 20,
      "rank": 24,
      "first_place_votes": null,
      "trend": "-2",
      "points": 90,
      "record": "22-11"
    },
    {
      "poll": "coach",
      "team": {
        "id": 87,
        "conference_id": 7,
        "name": "Golden Eagles",
        "full_name": "Marquette Golden Eagles",
        "college": "Marquette",
        "abbreviation": "MARQ"
      },
      "season": 2024,
      "week": 20,
      "rank": 25,
      "first_place_votes": null,
      "trend": "-2",
      "points": 68,
      "record": "23-10"
    }
  ]
}

This endpoint retrieves NCAAB AP Poll rankings.

HTTP Request

GET https://api.balldontlie.io/ncaab/v1/rankings

Query Parameters

Parameter Required Description
season true Season year
week false Filter by week number (defaults to latest week)

Play-by-Play

Get Play-by-Play Data

curl "https://api.balldontlie.io/ncaab/v1/plays?game_id=1" \
  -H "Authorization: YOUR_API_KEY"
const response = await fetch(
  "https://api.balldontlie.io/ncaab/v1/plays?game_id=1",
  {
    headers: { Authorization: "YOUR_API_KEY" },
  }
);
const data = await response.json();
import requests

response = requests.get(
    'https://api.balldontlie.io/ncaab/v1/plays',
    params={'game_id': 1},
    headers={'Authorization': 'YOUR_API_KEY'}
)
data = response.json()

The above command returns JSON structured like this:

{
  "data": [
    {
      "game_id": 907,
      "order": 1,
      "type": "Jumpball",
      "text": "Start game",
      "home_score": 0,
      "away_score": 0,
      "period": 1,
      "clock": "20:00",
      "scoring_play": false,
      "score_value": null
    },
    {
      "game_id": 907,
      "order": 2,
      "type": "Jumpball",
      "text": "Jump Ball won by Maryland",
      "home_score": 0,
      "away_score": 0,
      "period": 1,
      "clock": "19:57",
      "scoring_play": false,
      "score_value": null,
      "team": {
        "id": 116,
        "conference_id": 10,
        "name": "Terrapins",
        "full_name": "Maryland Terrapins",
        "college": "Maryland",
        "abbreviation": "MD"
      }
    },
    {
      "game_id": 907,
      "order": 3,
      "type": "Jumpball",
      "text": "Jump Ball lost by Michigan",
      "home_score": 0,
      "away_score": 0,
      "period": 1,
      "clock": "19:57",
      "scoring_play": false,
      "score_value": null,
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      }
    },
    {
      "game_id": 907,
      "order": 4,
      "type": "PersonalFoul",
      "text": "Foul on Vladislav Goldin.",
      "home_score": 0,
      "away_score": 0,
      "period": 1,
      "clock": "19:35",
      "scoring_play": false,
      "score_value": null,
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      }
    },
    {
      "game_id": 907,
      "order": 5,
      "type": "MadeFreeThrow",
      "text": "Julian Reese made Free Throw.",
      "home_score": 1,
      "away_score": 0,
      "period": 1,
      "clock": "19:35",
      "scoring_play": true,
      "score_value": 1,
      "team": {
        "id": 116,
        "conference_id": 10,
        "name": "Terrapins",
        "full_name": "Maryland Terrapins",
        "college": "Maryland",
        "abbreviation": "MD"
      }
    },
    {
      "game_id": 907,
      "order": 6,
      "type": "MadeFreeThrow",
      "text": "Julian Reese missed Free Throw.",
      "home_score": 1,
      "away_score": 0,
      "period": 1,
      "clock": "19:35",
      "scoring_play": false,
      "score_value": 1,
      "team": {
        "id": 116,
        "conference_id": 10,
        "name": "Terrapins",
        "full_name": "Maryland Terrapins",
        "college": "Maryland",
        "abbreviation": "MD"
      }
    },
    {
      "game_id": 907,
      "order": 7,
      "type": "Defensive Rebound",
      "text": "Danny Wolf Defensive Rebound.",
      "home_score": 1,
      "away_score": 0,
      "period": 1,
      "clock": "19:34",
      "scoring_play": false,
      "score_value": null,
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      }
    },
    {
      "game_id": 907,
      "order": 8,
      "type": "JumpShot",
      "text": "Nimari Burnett missed Three Point Jumper.",
      "home_score": 1,
      "away_score": 0,
      "period": 1,
      "clock": "19:16",
      "scoring_play": false,
      "score_value": 3,
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      }
    },
    {
      "game_id": 907,
      "order": 9,
      "type": "Offensive Rebound",
      "text": "Michigan Offensive Rebound.",
      "home_score": 1,
      "away_score": 0,
      "period": 1,
      "clock": "19:13",
      "scoring_play": false,
      "score_value": null,
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      }
    }
  ]
}

This endpoint retrieves play-by-play data for a specific game.

HTTP Request

GET https://api.balldontlie.io/ncaab/v1/plays

Query Parameters

Parameter Required Description
game_id true The game ID

Player Stats

Get Player Statistics

curl "https://api.balldontlie.io/ncaab/v1/player_stats" \
  -H "Authorization: YOUR_API_KEY"
const response = await fetch(
  "https://api.balldontlie.io/ncaab/v1/player_stats",
  {
    headers: { Authorization: "YOUR_API_KEY" },
  }
);
const data = await response.json();
import requests

response = requests.get(
    'https://api.balldontlie.io/ncaab/v1/player_stats',
    headers={'Authorization': 'YOUR_API_KEY'}
)
data = response.json()

The above command returns JSON structured like this:

{
  "data": [
    {
      "player": {
        "id": 53512,
        "first_name": "Danny",
        "last_name": "Wolf",
        "position": "Center",
        "height": null,
        "weight": null,
        "jersey_number": null
      },
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": "34",
      "fgm": 8,
      "fga": 16,
      "fg3m": 1,
      "fg3a": 3,
      "ftm": 4,
      "fta": 5,
      "oreb": 5,
      "dreb": 9,
      "reb": 14,
      "ast": 4,
      "stl": null,
      "blk": null,
      "turnover": 4,
      "pf": 3,
      "pts": 21
    },
    {
      "player": {
        "id": 52400,
        "first_name": "Tre",
        "last_name": "Donaldson",
        "position": "G",
        "height": "6' 3\"",
        "weight": "198 lbs",
        "jersey_number": "3"
      },
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": "35",
      "fgm": 5,
      "fga": 11,
      "fg3m": 2,
      "fg3a": 5,
      "ftm": null,
      "fta": null,
      "oreb": null,
      "dreb": 3,
      "reb": 3,
      "ast": 9,
      "stl": 1,
      "blk": null,
      "turnover": 2,
      "pf": 3,
      "pts": 12
    },
    {
      "player": {
        "id": 53830,
        "first_name": "Nimari",
        "last_name": "Burnett",
        "position": "G",
        "height": "6' 5\"",
        "weight": "195 lbs",
        "jersey_number": "4"
      },
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": "21",
      "fgm": 3,
      "fga": 7,
      "fg3m": 2,
      "fg3a": 5,
      "ftm": 2,
      "fta": 2,
      "oreb": 1,
      "dreb": 3,
      "reb": 4,
      "ast": null,
      "stl": null,
      "blk": null,
      "turnover": 2,
      "pf": 1,
      "pts": 10
    },
    {
      "player": {
        "id": 46794,
        "first_name": "Rubin",
        "last_name": "Jones",
        "position": "Guard",
        "height": null,
        "weight": null,
        "jersey_number": null
      },
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": "29",
      "fgm": 1,
      "fga": 3,
      "fg3m": null,
      "fg3a": 2,
      "ftm": null,
      "fta": null,
      "oreb": 1,
      "dreb": 1,
      "reb": 2,
      "ast": 1,
      "stl": 1,
      "blk": 1,
      "turnover": 2,
      "pf": 5,
      "pts": 2
    },
    {
      "player": {
        "id": 68460,
        "first_name": "Vladislav",
        "last_name": "Goldin",
        "position": "Not Available",
        "height": null,
        "weight": null,
        "jersey_number": "50"
      },
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": "31",
      "fgm": 9,
      "fga": 15,
      "fg3m": 1,
      "fg3a": 1,
      "ftm": 6,
      "fta": 6,
      "oreb": 6,
      "dreb": 4,
      "reb": 10,
      "ast": null,
      "stl": 1,
      "blk": 1,
      "turnover": 2,
      "pf": 4,
      "pts": 25
    },
    {
      "player": {
        "id": 52445,
        "first_name": "Will",
        "last_name": "Tschetter",
        "position": "F",
        "height": "6' 8\"",
        "weight": "230 lbs",
        "jersey_number": "42"
      },
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": "15",
      "fgm": 1,
      "fga": 3,
      "fg3m": null,
      "fg3a": null,
      "ftm": null,
      "fta": null,
      "oreb": 1,
      "dreb": 1,
      "reb": 2,
      "ast": 1,
      "stl": null,
      "blk": null,
      "turnover": null,
      "pf": 1,
      "pts": 2
    },
    {
      "player": {
        "id": 57674,
        "first_name": "L.J.",
        "last_name": "Cason",
        "position": "G",
        "height": "6' 2\"",
        "weight": "195 lbs",
        "jersey_number": "2"
      },
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": "7",
      "fgm": null,
      "fga": 3,
      "fg3m": null,
      "fg3a": null,
      "ftm": null,
      "fta": null,
      "oreb": null,
      "dreb": null,
      "reb": null,
      "ast": null,
      "stl": null,
      "blk": null,
      "turnover": 2,
      "pf": null,
      "pts": null
    },
    {
      "player": {
        "id": 51798,
        "first_name": "Roddy",
        "last_name": "Gayle Jr.",
        "position": "G",
        "height": "6' 5\"",
        "weight": "210 lbs",
        "jersey_number": "11"
      },
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": "28",
      "fgm": 4,
      "fga": 8,
      "fg3m": 1,
      "fg3a": 2,
      "ftm": null,
      "fta": null,
      "oreb": null,
      "dreb": 3,
      "reb": 3,
      "ast": 2,
      "stl": null,
      "blk": null,
      "turnover": 2,
      "pf": 3,
      "pts": 9
    },
    {
      "player": {
        "id": 72579,
        "first_name": "Harrison",
        "last_name": "Hochberg",
        "position": "F",
        "height": "6' 7\"",
        "weight": "220 lbs",
        "jersey_number": "13"
      },
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": null,
      "fgm": null,
      "fga": null,
      "fg3m": null,
      "fg3a": null,
      "ftm": null,
      "fta": null,
      "oreb": null,
      "dreb": null,
      "reb": null,
      "ast": null,
      "stl": null,
      "blk": null,
      "turnover": null,
      "pf": null,
      "pts": null
    },
    {
      "player": {
        "id": 54512,
        "first_name": "Sam",
        "last_name": "Walters",
        "position": "F",
        "height": "6' 9\"",
        "weight": "230 lbs",
        "jersey_number": "4"
      },
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": null,
      "fgm": null,
      "fga": null,
      "fg3m": null,
      "fg3a": null,
      "ftm": null,
      "fta": null,
      "oreb": null,
      "dreb": null,
      "reb": null,
      "ast": null,
      "stl": null,
      "blk": null,
      "turnover": null,
      "pf": null,
      "pts": null
    },
    {
      "player": {
        "id": 73293,
        "first_name": "Phat",
        "last_name": "Phat Brooks",
        "position": "G",
        "height": "6' 2\"",
        "weight": "195 lbs",
        "jersey_number": "10"
      },
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": null,
      "fgm": null,
      "fga": null,
      "fg3m": null,
      "fg3a": null,
      "ftm": null,
      "fta": null,
      "oreb": null,
      "dreb": null,
      "reb": null,
      "ast": null,
      "stl": null,
      "blk": null,
      "turnover": null,
      "pf": null,
      "pts": null
    },
    {
      "player": {
        "id": 73294,
        "first_name": "Howard",
        "last_name": "Eisley Jr.",
        "position": "G",
        "height": "6' 0\"",
        "weight": "200 lbs",
        "jersey_number": "7"
      },
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": null,
      "fgm": null,
      "fga": null,
      "fg3m": null,
      "fg3a": null,
      "ftm": null,
      "fta": null,
      "oreb": null,
      "dreb": null,
      "reb": null,
      "ast": null,
      "stl": null,
      "blk": null,
      "turnover": null,
      "pf": null,
      "pts": null
    },
    {
      "player": {
        "id": 58540,
        "first_name": "Justin",
        "last_name": "Pippen",
        "position": "G",
        "height": "6' 3\"",
        "weight": "180 lbs",
        "jersey_number": "10"
      },
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": null,
      "fgm": null,
      "fga": null,
      "fg3m": null,
      "fg3a": null,
      "ftm": null,
      "fta": null,
      "oreb": null,
      "dreb": null,
      "reb": null,
      "ast": null,
      "stl": null,
      "blk": null,
      "turnover": null,
      "pf": null,
      "pts": null
    },
    {
      "player": {
        "id": 71454,
        "first_name": "Charlie",
        "last_name": "May",
        "position": "G",
        "height": "6' 5\"",
        "weight": "190 lbs",
        "jersey_number": "12"
      },
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": null,
      "fgm": null,
      "fga": null,
      "fg3m": null,
      "fg3a": null,
      "ftm": null,
      "fta": null,
      "oreb": null,
      "dreb": null,
      "reb": null,
      "ast": null,
      "stl": null,
      "blk": null,
      "turnover": null,
      "pf": null,
      "pts": null
    },
    {
      "player": {
        "id": 69349,
        "first_name": "Ian",
        "last_name": "Burns",
        "position": "Guard",
        "height": null,
        "weight": null,
        "jersey_number": "13"
      },
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": null,
      "fgm": null,
      "fga": null,
      "fg3m": null,
      "fg3a": null,
      "ftm": null,
      "fta": null,
      "oreb": null,
      "dreb": null,
      "reb": null,
      "ast": null,
      "stl": null,
      "blk": null,
      "turnover": null,
      "pf": null,
      "pts": null
    },
    {
      "player": {
        "id": 52791,
        "first_name": "Jace",
        "last_name": "Howard",
        "position": "G",
        "height": "6' 7\"",
        "weight": "220 lbs",
        "jersey_number": "25"
      },
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": null,
      "fgm": null,
      "fga": null,
      "fg3m": null,
      "fg3a": null,
      "ftm": null,
      "fta": null,
      "oreb": null,
      "dreb": null,
      "reb": null,
      "ast": null,
      "stl": null,
      "blk": null,
      "turnover": null,
      "pf": null,
      "pts": null
    },
    {
      "player": {
        "id": 48872,
        "first_name": "Julian",
        "last_name": "Reese",
        "position": "Forward",
        "height": null,
        "weight": null,
        "jersey_number": null
      },
      "team": {
        "id": 116,
        "conference_id": 10,
        "name": "Terrapins",
        "full_name": "Maryland Terrapins",
        "college": "Maryland",
        "abbreviation": "MD"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": "30",
      "fgm": 4,
      "fga": 8,
      "fg3m": null,
      "fg3a": null,
      "ftm": 5,
      "fta": 7,
      "oreb": 1,
      "dreb": 4,
      "reb": 5,
      "ast": 1,
      "stl": 1,
      "blk": 2,
      "turnover": 2,
      "pf": 4,
      "pts": 13
    },
    {
      "player": {
        "id": 56364,
        "first_name": "Derik",
        "last_name": "Queen",
        "position": "Center",
        "height": null,
        "weight": null,
        "jersey_number": null
      },
      "team": {
        "id": 116,
        "conference_id": 10,
        "name": "Terrapins",
        "full_name": "Maryland Terrapins",
        "college": "Maryland",
        "abbreviation": "MD"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": "37",
      "fgm": 10,
      "fga": 19,
      "fg3m": 2,
      "fg3a": 4,
      "ftm": 9,
      "fta": 9,
      "oreb": 1,
      "dreb": 2,
      "reb": 3,
      "ast": null,
      "stl": 1,
      "blk": 2,
      "turnover": 2,
      "pf": 1,
      "pts": 31
    },
    {
      "player": {
        "id": 51011,
        "first_name": "Ja'Kobi",
        "last_name": "Gillespie",
        "position": "G",
        "height": "6' 1\"",
        "weight": "188 lbs",
        "jersey_number": "0"
      },
      "team": {
        "id": 116,
        "conference_id": 10,
        "name": "Terrapins",
        "full_name": "Maryland Terrapins",
        "college": "Maryland",
        "abbreviation": "MD"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": "38",
      "fgm": 4,
      "fga": 11,
      "fg3m": 2,
      "fg3a": 6,
      "ftm": null,
      "fta": 1,
      "oreb": null,
      "dreb": 2,
      "reb": 2,
      "ast": 9,
      "stl": 1,
      "blk": null,
      "turnover": null,
      "pf": 1,
      "pts": 10
    },
    {
      "player": {
        "id": 56475,
        "first_name": "Rodney",
        "last_name": "Rice",
        "position": "G",
        "height": "6' 5\"",
        "weight": "199 lbs",
        "jersey_number": "1"
      },
      "team": {
        "id": 116,
        "conference_id": 10,
        "name": "Terrapins",
        "full_name": "Maryland Terrapins",
        "college": "Maryland",
        "abbreviation": "MD"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": "37",
      "fgm": 3,
      "fga": 9,
      "fg3m": 1,
      "fg3a": 6,
      "ftm": 1,
      "fta": 2,
      "oreb": null,
      "dreb": 1,
      "reb": 1,
      "ast": 5,
      "stl": 1,
      "blk": null,
      "turnover": 1,
      "pf": 1,
      "pts": 8
    },
    {
      "player": {
        "id": 46671,
        "first_name": "Selton",
        "last_name": "Miguel",
        "position": "Guard",
        "height": null,
        "weight": null,
        "jersey_number": null
      },
      "team": {
        "id": 116,
        "conference_id": 10,
        "name": "Terrapins",
        "full_name": "Maryland Terrapins",
        "college": "Maryland",
        "abbreviation": "MD"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": "31",
      "fgm": 5,
      "fga": 11,
      "fg3m": 2,
      "fg3a": 4,
      "ftm": 4,
      "fta": 4,
      "oreb": null,
      "dreb": 1,
      "reb": 1,
      "ast": 2,
      "stl": 3,
      "blk": 1,
      "turnover": 1,
      "pf": 1,
      "pts": 16
    },
    {
      "player": {
        "id": 52112,
        "first_name": "Tafara",
        "last_name": "Gapare",
        "position": "F",
        "height": "6' 9\"",
        "weight": "215 lbs",
        "jersey_number": "6"
      },
      "team": {
        "id": 116,
        "conference_id": 10,
        "name": "Terrapins",
        "full_name": "Maryland Terrapins",
        "college": "Maryland",
        "abbreviation": "MD"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": "2",
      "fgm": null,
      "fga": null,
      "fg3m": null,
      "fg3a": null,
      "ftm": null,
      "fta": null,
      "oreb": null,
      "dreb": 2,
      "reb": 2,
      "ast": null,
      "stl": null,
      "blk": null,
      "turnover": null,
      "pf": null,
      "pts": null
    },
    {
      "player": {
        "id": 47553,
        "first_name": "Jordan",
        "last_name": "Geronimo",
        "position": "Forward",
        "height": null,
        "weight": null,
        "jersey_number": null
      },
      "team": {
        "id": 116,
        "conference_id": 10,
        "name": "Terrapins",
        "full_name": "Maryland Terrapins",
        "college": "Maryland",
        "abbreviation": "MD"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": "11",
      "fgm": 1,
      "fga": 1,
      "fg3m": null,
      "fg3a": null,
      "ftm": null,
      "fta": null,
      "oreb": 1,
      "dreb": null,
      "reb": 1,
      "ast": null,
      "stl": null,
      "blk": 1,
      "turnover": null,
      "pf": 2,
      "pts": 2
    },
    {
      "player": {
        "id": 51844,
        "first_name": "Jay",
        "last_name": "Young",
        "position": "Guard",
        "height": null,
        "weight": null,
        "jersey_number": null
      },
      "team": {
        "id": 116,
        "conference_id": 10,
        "name": "Terrapins",
        "full_name": "Maryland Terrapins",
        "college": "Maryland",
        "abbreviation": "MD"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": "2",
      "fgm": null,
      "fga": 1,
      "fg3m": null,
      "fg3a": 1,
      "ftm": null,
      "fta": null,
      "oreb": null,
      "dreb": null,
      "reb": null,
      "ast": null,
      "stl": null,
      "blk": null,
      "turnover": null,
      "pf": null,
      "pts": null
    },
    {
      "player": {
        "id": 54124,
        "first_name": "DeShawn",
        "last_name": "Harris-Smith",
        "position": "G",
        "height": "6' 5\"",
        "weight": "224 lbs",
        "jersey_number": "1"
      },
      "team": {
        "id": 116,
        "conference_id": 10,
        "name": "Terrapins",
        "full_name": "Maryland Terrapins",
        "college": "Maryland",
        "abbreviation": "MD"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "min": "12",
      "fgm": null,
      "fga": 1,
      "fg3m": null,
      "fg3a": null,
      "ftm": null,
      "fta": null,
      "oreb": null,
      "dreb": 1,
      "reb": 1,
      "ast": null,
      "stl": null,
      "blk": null,
      "turnover": null,
      "pf": 2,
      "pts": null
    }
  ],
  "meta": {
    "next_cursor": 629320,
    "per_page": 25
  }
}

This endpoint retrieves player game statistics.

HTTP Request

GET https://api.balldontlie.io/ncaab/v1/player_stats

Query Parameters

Parameter Required Description
cursor false The cursor, used for pagination
per_page false The number of results per page. Default to 25. Max is 100
player_ids false Returns stats for these player ids. This should be an array: ?player_ids[]=1&player_ids[]=2
team_ids false Returns stats for these team ids. This should be an array: ?team_ids[]=1&team_ids[]=2
game_ids false Returns stats for these game ids. This should be an array: ?game_ids[]=1&game_ids[]=2
dates false Returns stats that match these dates. Dates should be formatted in YYYY-MM-DD. This should be an array: ?dates[]=2024-11-04&dates[]=2024-11-05
seasons false Returns stats that occurred in these seasons. This should be an array: ?seasons[]=2024&seasons[]=2025
start_date false Returns stats that occurred on or after this date. Date should be formatted in YYYY-MM-DD
end_date false Returns stats that occurred on or before this date. Date should be formatted in YYYY-MM-DD

Team Stats

Get Team Statistics

curl "https://api.balldontlie.io/ncaab/v1/team_stats" \
  -H "Authorization: YOUR_API_KEY"
const response = await fetch("https://api.balldontlie.io/ncaab/v1/team_stats", {
  headers: { Authorization: "YOUR_API_KEY" },
});
const data = await response.json();
import requests

response = requests.get(
    'https://api.balldontlie.io/ncaab/v1/team_stats',
    headers={'Authorization': 'YOUR_API_KEY'}
)
data = response.json()

The above command returns JSON structured like this:

{
  "data": [
    {
      "team": {
        "id": 118,
        "conference_id": 10,
        "name": "Wolverines",
        "full_name": "Michigan Wolverines",
        "college": "Michigan",
        "abbreviation": "MICH"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "fgm": 31,
      "fga": 66,
      "fg_pct": 47,
      "fg3m": 7,
      "fg3a": 18,
      "fg3_pct": 38.9,
      "ftm": 12,
      "fta": 13,
      "ft_pct": 92.3,
      "oreb": 18,
      "dreb": 29,
      "reb": 47,
      "ast": 17,
      "stl": 3,
      "blk": 2,
      "turnovers": 19,
      "fouls": 20
    },
    {
      "team": {
        "id": 116,
        "conference_id": 10,
        "name": "Terrapins",
        "full_name": "Maryland Terrapins",
        "college": "Maryland",
        "abbreviation": "MD"
      },
      "game": {
        "id": 907,
        "date": "2025-03-15T19:52:00.000Z",
        "season": 2024
      },
      "fgm": 27,
      "fga": 61,
      "fg_pct": 44.3,
      "fg3m": 7,
      "fg3a": 21,
      "fg3_pct": 33.3,
      "ftm": 19,
      "fta": 23,
      "ft_pct": 82.6,
      "oreb": 4,
      "dreb": 14,
      "reb": 18,
      "ast": 17,
      "stl": 7,
      "blk": 6,
      "turnovers": 6,
      "fouls": 12
    }
  ],
  "meta": {
    "per_page": 25
  }
}

This endpoint retrieves team game statistics.

HTTP Request

GET https://api.balldontlie.io/ncaab/v1/team_stats

Query Parameters

Parameter Required Description
cursor false The cursor, used for pagination
per_page false The number of results per page. Default to 25. Max is 100
team_ids false Returns stats for these team ids. This should be an array: ?team_ids[]=1&team_ids[]=2
game_ids false Returns stats for these game ids. This should be an array: ?game_ids[]=1&game_ids[]=2
dates false Returns stats that match these dates. Dates should be formatted in YYYY-MM-DD. This should be an array: ?dates[]=2024-11-04&dates[]=2024-11-05
seasons false Returns stats that occurred in these seasons. This should be an array: ?seasons[]=2024&seasons[]=2025
start_date false Returns stats that occurred on or after this date. Date should be formatted in YYYY-MM-DD
end_date false Returns stats that occurred on or before this date. Date should be formatted in YYYY-MM-DD

Player Season Stats

Get Player Season Statistics

curl "https://api.balldontlie.io/ncaab/v1/player_season_stats" \
  -H "Authorization: YOUR_API_KEY"
const response = await fetch(
  "https://api.balldontlie.io/ncaab/v1/player_season_stats",
  {
    headers: { Authorization: "YOUR_API_KEY" },
  }
);
const data = await response.json();
import requests

response = requests.get(
    'https://api.balldontlie.io/ncaab/v1/player_season_stats',
    headers={'Authorization': 'YOUR_API_KEY'}
)
data = response.json()

The above command returns JSON structured like this:

{
  "data": [
    {
      "player": {
        "id": 56330,
        "first_name": "Cooper",
        "last_name": "Flagg",
        "position": "Forward",
        "height": null,
        "weight": null,
        "jersey_number": null,
        "team": {
          "id": 4,
          "conference_id": 1,
          "name": "Blue Devils",
          "full_name": "Duke Blue Devils",
          "college": "Duke",
          "abbreviation": "DUKE"
        }
      },
      "team": {
        "id": 4,
        "conference_id": 1,
        "name": "Blue Devils",
        "full_name": "Duke Blue Devils",
        "college": "Duke",
        "abbreviation": "DUKE"
      },
      "season": 2024,
      "games_played": 37,
      "min": 30.621622,
      "fgm": 239,
      "fga": 497,
      "fg_pct": 48.08852970600128,
      "fg3m": 52,
      "fg3a": 135,
      "fg3_pct": 38.5185182094574,
      "ftm": 179,
      "fta": 213,
      "ft_pct": 84.03756022453308,
      "reb": 277,
      "ast": 156,
      "stl": 52,
      "blk": 50,
      "turnover": 78,
      "pts": 709
    }
  ],
  "meta": {
    "per_page": 25
  }
}

This endpoint retrieves player season statistics.

HTTP Request

GET https://api.balldontlie.io/ncaab/v1/player_season_stats

Query Parameters

Parameter Required Description
cursor false The cursor, used for pagination
per_page false The number of results per page. Default to 25. Max is 100
player_ids false Returns stats for these player ids. This should be an array: ?player_ids[]=1&player_ids[]=2
team_ids false Returns stats for these team ids. This should be an array: ?team_ids[]=1&team_ids[]=2
season false Filter by season year

Team Season Stats

Get Team Season Statistics

curl "https://api.balldontlie.io/ncaab/v1/team_season_stats" \
  -H "Authorization: YOUR_API_KEY"
const response = await fetch(
  "https://api.balldontlie.io/ncaab/v1/team_season_stats",
  {
    headers: { Authorization: "YOUR_API_KEY" },
  }
);
const data = await response.json();
import requests

response = requests.get(
    'https://api.balldontlie.io/ncaab/v1/team_season_stats',
    headers={'Authorization': 'YOUR_API_KEY'}
)
data = response.json()

The above command returns JSON structured like this:

{
  "data": [
    {
      "team": {
        "id": 4,
        "conference_id": 1,
        "name": "Blue Devils",
        "full_name": "Duke Blue Devils",
        "college": "Duke",
        "abbreviation": "DUKE"
      },
      "season": 2024,
      "games_played": 39,
      "fgm": 28.948717,
      "fga": 58.692307,
      "fg_pct": 49.32284951210022,
      "fg3m": 10.102564,
      "fg3a": 26.153847,
      "fg3_pct": 38.6274516582489,
      "ftm": 15.230769,
      "fta": 19.282051,
      "ft_pct": 78.9893627166748,
      "oreb": 10.641026,
      "dreb": 27.512821,
      "reb": 38.153847,
      "ast": 16.97436,
      "stl": 6.717949,
      "blk": 3.9230769,
      "turnover": 9.307693,
      "pts": 83.23077
    }
  ],
  "meta": {
    "per_page": 25
  }
}

This endpoint retrieves team season statistics.

HTTP Request

GET https://api.balldontlie.io/ncaab/v1/team_season_stats

Query Parameters

Parameter Required Description
cursor false The cursor, used for pagination
per_page false The number of results per page. Default to 25. Max is 100
team_ids false Returns stats for these team ids. This should be an array: ?team_ids[]=1&team_ids[]=2
season false Filter by season year

March Madness Bracket

Get March Maddness Bracket Data

curl "https://api.balldontlie.io/ncaab/v1/bracket?season=2025" \
  -H "Authorization: YOUR_API_KEY"
const response = await fetch(
  "https://api.balldontlie.io/ncaab/v1/bracket?season=2025",
  {
    headers: { Authorization: "YOUR_API_KEY" },
  }
);
const data = await response.json();
import requests

response = requests.get(
    'https://api.balldontlie.io/ncaab/v1/bracket',
    params={'season': 2025},
    headers={'Authorization': 'YOUR_API_KEY'}
)
data = response.json()

The above command returns JSON structured like this:

{
  "data": [
    {
      "game_id": "401745970",
      "season": 2024,
      "round": 1,
      "bracket_location": 22,
      "date": "2025-03-20T17:30:00.000Z",
      "location": "Denver, CO",
      "status": "post",
      "status_detail": "Final",
      "broadcasts": ["TNT"],
      "home_team": {
        "id": 130,
        "conference_id": 10,
        "name": "Badgers",
        "full_name": "Wisconsin Badgers",
        "college": "Wisconsin",
        "abbreviation": "WIS",
        "seed": "3",
        "score": 85,
        "winner": true
      },
      "away_team": {
        "id": 97,
        "conference_id": 8,
        "name": "Grizzlies",
        "full_name": "Montana Grizzlies",
        "college": "Montana",
        "abbreviation": "MONT",
        "seed": "14",
        "score": 66,
        "winner": null
      }
    },
    {
      "game_id": "401746012",
      "season": 2024,
      "round": 1,
      "bracket_location": 23,
      "date": "2025-03-21T19:30:00.000Z",
      "location": "Cleveland, OH",
      "status": "post",
      "status_detail": "Final",
      "broadcasts": ["truTV"],
      "home_team": {
        "id": 360,
        "conference_id": 31,
        "name": "Gaels",
        "full_name": "Saint Mary's Gaels",
        "college": "Saint Mary's",
        "abbreviation": "SMC",
        "seed": "7",
        "score": 59,
        "winner": true
      },
      "away_team": {
        "id": 289,
        "conference_id": 24,
        "name": "Commodores",
        "full_name": "Vanderbilt Commodores",
        "college": "Vanderbilt",
        "abbreviation": "VAN",
        "seed": "10",
        "score": 56,
        "winner": null
      }
    },
    {
      "game_id": "401746014",
      "season": 2024,
      "round": 1,
      "bracket_location": 24,
      "date": "2025-03-21T16:40:00.000Z",
      "location": "Cleveland, OH",
      "status": "post",
      "status_detail": "Final",
      "broadcasts": ["truTV"],
      "home_team": {
        "id": 274,
        "conference_id": 24,
        "name": "Crimson Tide",
        "full_name": "Alabama Crimson Tide",
        "college": "Alabama",
        "abbreviation": "ALA",
        "seed": "2",
        "score": 90,
        "winner": true
      },
      "away_team": {
        "id": 175,
        "conference_id": 14,
        "name": "Colonials",
        "full_name": "Robert Morris Colonials",
        "college": "Robert Morris",
        "abbreviation": "RMU",
        "seed": "15",
        "score": 81,
        "winner": null
      }
    },
    ...
  ],
  "meta": {
    "next_cursor": 1427,
    "per_page": 25
  }
}

This endpoint retrieves NCAA march maddness bracket data.

HTTP Request

GET https://api.balldontlie.io/ncaab/v1/bracket

Query Parameters

Parameter Required Description
season false Filter by season year
round_id false Filter by round: 0=First Four, 1=Round of 64, 2=Round of 32, 3=Sweet 16, 4=Elite 8, 5=Final Four, 6=Championship
cursor false The cursor, used for pagination
per_page false The number of results per page. Default to 25. Max is 100