# College Basketball API
> Live college basketball (NCAA Men's) data as an API — clean JSON, no key. Get the game scoreboard with live scores, clock and status; open any game for its leaders and result; browse the AP Top 25 and Coaches Poll rankings with each team's record and rank movement; list every team and open a team for its record, conference standing and colours; pull a player's profile (position, class, height, weight, hometown); search players by name; and read the latest news. Live data sourced continuously from ESPN. March Madness is one of the biggest betting and bracket-pool events of the year — ideal for score apps, bracket and betting tools, rankings widgets, dashboards and Discord bots. 8 data endpoints. Authenticated with an x-oanor-key; fair-use rate limits per plan.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/cbb-api/..."
```

## Pricing
- **Free** (Free) — 3,000 calls/Mo, 5 req/s
- **Starter** ($8/Mo) — 53,000 calls/Mo, 15 req/s
- **Pro** ($32/Mo) — 295,000 calls/Mo, 30 req/s
- **Mega** ($117/Mo) — 1,380,000 calls/Mo, 80 req/s

## Endpoints

### Games

#### `GET /v1/game` — A single game's detail

**Parameters:**
- `id` (query, required, string) — Game id Example: `401856600`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cbb-api/v1/game?id=401856600"
```

**Response:**
```json
{
    "data": {
        "game": {
            "id": "401856600",
            "name": "UConn Huskies at Michigan Wolverines",
            "teams": [
                {
                    "id": "130",
                    "team": "Michigan Wolverines",
                    "score": "69",
                    "record": "37-3",
                    "winner": true,
                    "home_away": "home",
                    "linescores": [
                        "33",
                        "36"
                    ],
                    "abbreviation": "MICH"
                },
                {
                    "id": "41",
                    "team": "UConn Huskies",
                    "score": "63",
                    "record": "34-6",
                    "winner": false,
                    "home_away": "away",
                    "linescores": [
                        "29",
                        "34"
                    ],
                    "abbreviation": "CONN"
                }
            ],
            "venue": "Lucas Oil Stadium",
            "status": "Final",
            "leaders": [
                {
                    "value": "19",
                    "athlete": "Elliot Cadeau"
                },
                {
                    "value": "17",
                    "athlete": "Alex Karaban"
                }
            ],
            "completed": true
        }
    },
    "meta": {
        "timestamp": "2026-06-07T16:46:04.136Z",
        "request_id":
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/scoreboard` — Games & scores

**Parameters:**
- `groups` (query, optional, string) — Conference group id
- `dates` (query, optional, string) — Date range YYYYMMDD-YYYYMMDD

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cbb-api/v1/scoreboard"
```

**Response:**
```json
{
    "data": {
        "count": 1,
        "games": [
            {
                "id": "401856600",
                "away": {
                    "id": "41",
                    "logo": "https://a.espncdn.com/i/teamlogos/ncaa/500/41.png",
                    "rank": 2,
                    "team": "UConn Huskies",
                    "score": "63",
                    "record": "34-6",
                    "winner": false,
                    "home_away": "away",
                    "abbreviation": "CONN"
                },
                "date": "2026-04-07T00:50Z",
                "home": {
                    "id": "130",
                    "logo": "https://a.espncdn.com/i/teamlogos/ncaa/500/130.png",
                    "rank": 1,
                    "team": "Michigan Wolverines",
                    "score": "69",
                    "record": "37-3",
                    "winner": true,
                    "home_away": "home",
                    "abbreviation": "MICH"
                },
                "name": "UConn Huskies at Michigan Wolverines",
                "clock": "0:00",
                "venue": "Lucas Oil Stadium",
                "period": 2,
                "status": "Final",
                "broadcast": "TBS",
                "completed": true,
                "short_name": "CONN VS MICH",
                "season_type": 3
            }
        ]
    },
    "meta": {
        "timestamp": "2026-06-07T16:46:07.277Z",
        "request_id": "e75e8878-4d5d-
…(truncated, see openapi.json for full schema)
```

### Rankings

#### `GET /v1/rankings` — AP & Coaches rankings

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cbb-api/v1/rankings"
```

**Response:**
```json
{
    "data": {
        "count": 2,
        "polls": [
            {
                "poll": "AP Top 25",
                "type": "ap",
                "ranks": [
                    {
                        "id": "130",
                        "rank": 1,
                        "team": "Michigan",
                        "trend": "+2",
                        "points": 1425,
                        "record": "37-3",
                        "previous": 3,
                        "first_place_votes": 57
                    },
                    {
                        "id": "41",
                        "rank": 2,
                        "team": "UConn",
                        "trend": "+5",
                        "points": 1352,
                        "record": "34-6",
                        "previous": 7,
                        "first_place_votes": 0
                    },
                    {
                        "id": "12",
                        "rank": 3,
                        "team": "Arizona",
                        "trend": "-1",
                        "points": 1311,
                        "record": "36-3",
                        "previous": 2,
                        "first_place_votes": 0
                    },
                    {
                        "id": "150",
                        "rank": 4,
                        "team": "Duke",
                        "trend": "-3",
                        "points": 1237,
                        "
…(truncated, see openapi.json for full schema)
```

### Teams

#### `GET /v1/team` — Team detail

**Parameters:**
- `id` (query, required, string) — Team id Example: `150`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cbb-api/v1/team?id=150"
```

**Response:**
```json
{
    "data": {
        "team": {
            "id": "150",
            "logo": "https://a.espncdn.com/i/teamlogos/ncaa/500/150.png",
            "name": "Duke Blue Devils",
            "rank": 4,
            "color": "00539b",
            "record": "35-3",
            "location": "Duke",
            "nickname": "Blue Devils",
            "standing": "1st in ACC",
            "abbreviation": "DUKE",
            "alternate_color": "ffffff"
        }
    },
    "meta": {
        "timestamp": "2026-06-07T16:46:07.774Z",
        "request_id": "c2cff158-da01-4efa-a167-14c2017da6d9"
    },
    "status": "ok",
    "message": "Team retrieved successfully",
    "success": true
}
```

#### `GET /v1/teams` — All teams

**Parameters:**
- `limit` (query, optional, string) — Max teams (default 400) Example: `400`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cbb-api/v1/teams?limit=400"
```

**Response:**
```json
{
    "data": {
        "count": 362,
        "teams": [
            {
                "id": "2000",
                "logo": "https://a.espncdn.com/i/teamlogos/ncaa/500/2000.png",
                "name": "Abilene Christian Wildcats",
                "color": "592d82",
                "location": "Abilene Christian",
                "nickname": "Wildcats",
                "abbreviation": "ACU",
                "alternate_color": "b1b3b3"
            },
            {
                "id": "2005",
                "logo": "https://a.espncdn.com/i/teamlogos/ncaa/500/2005.png",
                "name": "Air Force Falcons",
                "color": "003594",
                "location": "Air Force",
                "nickname": "Falcons",
                "abbreviation": "AF",
                "alternate_color": "ffffff"
            },
            {
                "id": "2006",
                "logo": "https://a.espncdn.com/i/teamlogos/ncaa/500/2006.png",
                "name": "Akron Zips",
                "color": "041e42",
                "location": "Akron",
                "nickname": "Zips",
                "abbreviation": "AKR",
                "alternate_color": "c5b783"
            },
            {
                "id": "2010",
                "logo": "https://a.espncdn.com/i/teamlogos/ncaa/500/2010.png",
                "name": "Alabama A&M Bulldogs",
                "color": "790000",
                "location": "Alabama A&M",
                "nickname": "Bulldogs",
        
…(truncated, see openapi.json for full schema)
```

### Players

#### `GET /v1/player` — Player profile

**Parameters:**
- `id` (query, required, string) — Player id Example: `5041935`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cbb-api/v1/player?id=5041935"
```

**Response:**
```json
{
    "data": {
        "player": {
            "id": "5041935",
            "name": "Cameron Boozer",
            "team": "Duke Blue Devils",
            "active": true,
            "height": "6' 9\"",
            "jersey": "12",
            "status": "active",
            "weight": "250 lbs",
            "headshot": "https://a.espncdn.com/i/headshots/mens-college-basketball/players/full/5041935.png",
            "position": "F",
            "last_name": "Boozer",
            "first_name": "Cameron",
            "position_name": "Forward"
        }
    },
    "meta": {
        "timestamp": "2026-06-07T16:46:09.413Z",
        "request_id": "3331e419-ad2f-4859-85a0-c90558f8c787"
    },
    "status": "ok",
    "message": "Player retrieved successfully",
    "success": true
}
```

#### `GET /v1/search` — Search players

**Parameters:**
- `query` (query, required, string) — Player name Example: `duke`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cbb-api/v1/search?query=duke"
```

**Response:**
```json
{
    "data": {
        "count": 10,
        "query": "duke",
        "players": [
            {
                "id": "e830e6ed-b4c3-3c18-b1bc-e92e55a20365",
                "name": "Duke Miles",
                "image": "https://a.espncdn.com/i/headshots/mens-college-basketball/players/full/4702049.png",
                "subtitle": "Vanderbilt Commodores"
            },
            {
                "id": "68ea6df3-6f20-3f2d-a68d-ec4bc7ae49e8",
                "name": "Duke Brennan",
                "image": "https://a.espncdn.com/i/headshots/mens-college-basketball/players/full/4870569.png",
                "subtitle": "Villanova Wildcats"
            },
            {
                "id": "698af11b-806d-3850-a08c-23ea6e969576",
                "name": "Duke Watson",
                "image": "https://a.espncdn.com/i/headshots/college-football/players/full/5136049.png",
                "subtitle": "Louisville Cardinals"
            },
            {
                "id": "9ca486a4-e495-308e-b6c2-a69070b158ee",
                "name": "Duke Deen",
                "image": "https://a.espncdn.com/i/headshots/mens-college-basketball/players/full/4897149.png",
                "subtitle": "Bradley Braves"
            },
            {
                "id": "212d1b9b-670f-6030-acac-56390ee4f009",
                "name": "Alexander Duke",
                "image": "https://a.espncdn.com/i/headshots/college-football/players/full/4240260.png",
                "subtitle": "Abilene Christ
…(truncated, see openapi.json for full schema)
```

### News

#### `GET /v1/news` — College basketball news

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cbb-api/v1/news"
```

**Response:**
```json
{
    "data": {
        "count": 6,
        "articles": [
            {
                "link": "https://www.espn.com/college-sports/story/_/id/48978492/sec-sankey-idea-super-league-not-consistent-truth",
                "type": "HeadlineNews",
                "image": "https://a.espncdn.com/photo/2026/0529/r1665397_600x400_3-2.jpg",
                "headline": "SEC's Sankey: Idea of super league 'not consistent with the truth'",
                "published": "2026-06-06T14:54:08Z",
                "description": "SEC commissioner Greg Sankey called the notion that the conference wants to form a super league with the Big Ten \"not consistent with the truth.\""
            },
            {
                "link": "https://www.espn.com/college-sports/story/_/id/48978440/ncaa-panel-tweaks-di-eligibility-proposal-vote-late-june",
                "type": "HeadlineNews",
                "image": "https://a.espncdn.com/photo/2014/0716/ncb_g_ncaa_court1x_600x400.jpg",
                "headline": "NCAA panel tweaks D-I eligibility plan, could vote on it in late June",
                "published": "2026-06-05T23:09:51Z",
                "description": "The NCAA Division I cabinet put off a vote on the age-based eligibility model it is considering and instead made minor adjustments to the proposal."
            },
            {
                "link": "https://www.espn.com/mens-college-basketball/story/_/id/48976578/ex-alabama-state-players-were-paid-fix-2024-game-ncaa-says",
           
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Spec

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cbb-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "service": "cbb-api",
        "endpoints": {
            "GET /v1/game": "A single game's detail by id.",
            "GET /v1/meta": "This document.",
            "GET /v1/news": "College football news.",
            "GET /v1/team": "Team detail by id.",
            "GET /v1/teams": "All teams (limit=).",
            "GET /v1/player": "Player profile by id.",
            "GET /v1/search": "Search players by name.",
            "GET /v1/rankings": "AP, Coaches & CFP rankings.",
            "GET /v1/scoreboard": "Games & scores (week=, groups=, dates=)."
        },
        "description": "College Basketball (NCAA) data: game scoreboard and results, single-game detail with leaders, the AP / Coaches / CFP rankings, all teams, team detail, player profiles, player search and news. Real live data, no key."
    },
    "meta": {
        "timestamp": "2026-06-07T16:46:09.900Z",
        "request_id": "370688e7-8c46-4bf7-bc10-3c60393f07c4"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/cbb-api
OpenAPI spec: https://www.oanor.com/api/cbb-api/openapi.json
