# NCAA API

> NCAA returns college game scores and sports rankings, available as a workflow and API.

NCAA returns college game scores with Get scores; provide a sport and optionally a date, division, time zone, or conference. NCAA returns college sport rankings with Get rankings; provide a sport and optionally a poll.

- Page: https://fous.com/tools/ncaa
- Handle: `@ncaa`
- Category: [Sports](https://fous.com/tools/category/sports)
- Source website: https://ncaa.com
- Last verified: Sep 29, 2026

## Methods

### Get rankings

Operation `get_rankings`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get the latest NCAA.com Top 25 ranking for a college sport. Coaches polls linked to other sites and polls not yet published for the current season are unavailable.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `poll` | string | no | `"ap"` | Poll to show, for example ap. When omitted, baseball uses D1Baseball Top 25 because it has no AP poll. |
| `sport` | string | yes | `"football"` | College sport to rank, for example football. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "sport"
  ],
  "properties": {
    "poll": {
      "enum": [
        "ap",
        "coaches",
        "college_football_playoff"
      ],
      "type": "string",
      "default": "ap",
      "description": "Poll to show, for example ap. When omitted, baseball uses D1Baseball Top 25 because it has no AP poll.",
      "examples": [
        "ap"
      ]
    },
    "sport": {
      "enum": [
        "football",
        "mens_basketball",
        "womens_basketball",
        "baseball"
      ],
      "type": "string",
      "description": "College sport to rank, for example football.",
      "examples": [
        "football",
        "baseball",
        "mens_basketball"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "sport": "football"
    },
    {
      "sport": "baseball"
    },
    {
      "poll": "ap",
      "sport": "mens_basketball"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `sport` | string | `"football"` | Sport requested. |
| `teams` | array |  |  |
| `teams[].rank` | integer | `1` |  |
| `teams[].team` | string | `"Texas"` |  |
| `teams[].record` | string or null | `"4-0"` |  |
| `teams[].page_link` | string | `"https://www.ncaa.com/rankings/football/fbs/associated-press"` |  |
| `teams[].poll_points` | integer or null | `1737` |  |
| `teams[].previous_rank` | integer or null | `1` |  |
| `teams[].first_place_votes` | integer or null | `62` |  |
| `poll_name` | string | `"College football rankings: Associated Press Top 25"` | Name of the published poll. |
| `poll_date_or_week` | string | `"Through Games SEP. 26, 2026"` | Poll period as labeled on the NCAA page. |

**Example input**

```json
{
  "sport": "football"
}
```

**Example output**

```json
{
  "sport": "football",
  "teams": [
    {
      "rank": 1,
      "team": "Texas",
      "record": "4-0",
      "page_link": "https://www.ncaa.com/rankings/football/fbs/associated-press",
      "poll_points": 1737,
      "previous_rank": 1,
      "first_place_votes": 62
    },
    {
      "rank": 2,
      "team": "Georgia",
      "record": "4-0",
      "page_link": "https://www.ncaa.com/rankings/football/fbs/associated-press",
      "poll_points": 1646,
      "previous_rank": 2,
      "first_place_votes": 6
    },
    {
      "rank": 3,
      "team": "Notre Dame",
      "record": "4-0",
      "page_link": "https://www.ncaa.com/rankings/football/fbs/associated-press",
      "poll_points": 1581,
      "previous_rank": 3,
      "first_place_votes": null
    }
  ],
  "poll_name": "College football rankings: Associated Press Top 25",
  "poll_date_or_week": "Through Games SEP. 26, 2026"
}
```

### Get scores

Operation `get_scores`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get NCAA college sports games for a date, or the football week containing it. Returns available scores, rankings, live status, TV networks, and NCAA game links. Times marked TBA may have no start time.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `date` | string | no | `"2026-09-29"` | Game date, for example 2026-09-29. Defaults to today in the selected time zone. |
| `sport` | string | yes | `"womens_volleyball"` | Sport to check, for example football. |
| `division` | string | no | `"FBS"` | NCAA division, for example FBS, FCS, D-I, D-II, or D-III. Defaults to FBS for football and D-I for other sports. |
| `time_zone` | string | no | `"US Pacific"` | Time zone for game start times and the default date, for example US Eastern or America/Los_Angeles. Defaults to US Eastern. |
| `conference` | string | no | `"SEC"` | Conference name or abbreviation, for example SEC. Defaults to all conferences. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "sport"
  ],
  "properties": {
    "date": {
      "type": "string",
      "format": "date",
      "description": "Game date, for example 2026-09-29. Defaults to today in the selected time zone.",
      "examples": [
        "2026-09-29",
        "2026-03-20",
        "2025-09-27"
      ]
    },
    "sport": {
      "enum": [
        "football",
        "mens_basketball",
        "womens_basketball",
        "baseball",
        "softball",
        "mens_ice_hockey",
        "womens_volleyball"
      ],
      "type": "string",
      "description": "Sport to check, for example football.",
      "examples": [
        "womens_volleyball",
        "football",
        "mens_basketball"
      ]
    },
    "division": {
      "type": "string",
      "description": "NCAA division, for example FBS, FCS, D-I, D-II, or D-III. Defaults to FBS for football and D-I for other sports.",
      "examples": [
        "FBS",
        "FCS"
      ]
    },
    "time_zone": {
      "type": "string",
      "description": "Time zone for game start times and the default date, for example US Eastern or America/Los_Angeles. Defaults to US Eastern.",
      "examples": [
        "US Pacific"
      ]
    },
    "conference": {
      "type": "string",
      "description": "Conference name or abbreviation, for example SEC. Defaults to all conferences.",
      "examples": [
        "SEC"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "date": "2026-09-29",
      "sport": "womens_volleyball"
    },
    {
      "date": "2026-09-29",
      "sport": "football",
      "division": "FBS",
      "conference": "SEC"
    },
    {
      "date": "2026-03-20",
      "sport": "mens_basketball",
      "time_zone": "US Pacific"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `games` | array |  |  |
| `games[].clock` | string or null |  | Game clock during live play. |
| `games[].period` | string or null |  | Period or inning during live play. |
| `games[].status` | string | `"scheduled"` |  |
| `games[].game_id` | string or null | `"6626494"` |  |
| `games[].away_team` | string | `"Saint Louis"` |  |
| `games[].game_link` | string | `"https://www.ncaa.com/game/6626494"` | NCAA.com game page. |
| `games[].home_team` | string | `"Loyola Chicago"` |  |
| `games[].away_score` | integer or null | `84` |  |
| `games[].home_score` | integer or null | `89` |  |
| `games[].start_time` | string or null | `"2026-09-29T17:00:00-04:00"` | Scheduled start time with time zone, or null if not announced. |
| `games[].tv_network` | string or null | `"CBS"` |  |
| `games[].away_ranking` | integer or null | `7` |  |
| `games[].home_ranking` | integer or null | `16` |  |

**Example input**

```json
{
  "date": "2026-09-29",
  "sport": "womens_volleyball"
}
```

**Example output**

```json
{
  "games": [
    {
      "clock": null,
      "period": null,
      "status": "scheduled",
      "game_id": "6626494",
      "away_team": "Saint Louis",
      "game_link": "https://www.ncaa.com/game/6626494",
      "home_team": "Loyola Chicago",
      "away_score": null,
      "home_score": null,
      "start_time": "2026-09-29T17:00:00-04:00",
      "tv_network": null,
      "away_ranking": null,
      "home_ranking": null
    },
    {
      "clock": null,
      "period": null,
      "status": "scheduled",
      "game_id": "6624608",
      "away_team": "North Ala.",
      "game_link": "https://www.ncaa.com/game/6624608",
      "home_team": "West Ga.",
      "away_score": null,
      "home_score": null,
      "start_time": "2026-09-29T18:00:00-04:00",
      "tv_network": null,
      "away_ranking": null,
      "home_ranking": null
    },
    {
      "clock": null,
      "period": null,
      "status": "scheduled",
      "game_id": "6624859",
      "away_team": "Loyola Maryland",
      "game_link": "https://www.ncaa.com/game/6624859",
      "home_team": "Coppin St.",
      "away_score": null,
      "home_score": null,
      "start_time": "2026-09-29T18:00:00-04:00",
      "tv_network": null,
      "away_ranking": null,
      "home_ranking": null
    }
  ]
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@ncaa",
  "visibility": "public",
  "operation": "get_rankings",
  "version": 1,
  "input": {
    "sport": "football"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@ncaa\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_rankings\",\n  \"version\": 1,\n  \"input\": {\n    \"sport\": \"football\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@ncaa",
  "visibility": "public",
  "operation": "get_rankings",
  "version": 1,
  "input": {
    "sport": "football"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/ncaa`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_rankings`: Get rankings. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `get_scores`: Get scores. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-ncaa https://api.fous.com/mcp/tools/ncaa --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Track college game scores by date, sport, division, or conference
- Monitor live game status, clocks, periods, and scores
- Review scheduled start times and TV networks
- Compare teams by ranking, record, and poll points
- Track ranking changes and first-place votes

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this NCAA tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a NCAA account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from ncaa.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.

### What are the scores for games on a specific date?

Get scores returns available scores, game status, start times, and TV networks for a sport and date.

### Which teams are in a sport’s Top 25?

Get rankings returns ranked teams, records, and poll details for a sport and optional poll.

### Are games live, and what is the current score?

Get scores returns available scores and live status, plus the game clock and period during live play.

## Related

- [Yahoo Sports API](https://fous.com/tools/yahoo-sports.md): Yahoo Sports returns date-based scores and schedules, seasonal standings, and player regular-season and career stats when Yahoo provides them; unavailable data may be missing.
- [NBA API](https://fous.com/tools/nba.md): NBA provides up-to-seven-day schedules and scores, seasonal standings, player bios and available regular-season averages, plus matchup box scores, with undated matchups showing the latest.
- [ESPN API](https://fous.com/tools/espn.md): ESPN provides daily scores and schedules, team results, player statistics, matchup summaries, and latest topic-specific headlines; coverage and published details vary, especially for college and soccer.
- [NHL API](https://fous.com/tools/nhl.md): NHL provides games, schedules, and scores when published, standings by date, and player profiles with regular-season stats; dates outside a season have no teams, and unavailable stats are null.
- [NFL API](https://fous.com/tools/nfl.md): NFL provides weekly scores and schedules, regular-season standings, current rosters, and player season and career stats; released players are excluded, and ages or stats may be unavailable.
- [MLB API](https://fous.com/tools/mlb.md): MLB provides scores, schedules and game details for one date or up to seven days, regular-season division standings defaulting to the current year, and player profiles with regular-season stats for a selected season and career.
- [FIFA API](https://fous.com/tools/fifa.md): FIFA provides official men’s and women’s national-team rankings, excluding unranked teams, and year-specific tournament matches with scores, teams, stages and venues.
- [Flashscore API](https://fous.com/tools/flashscore.md): Live sports scores and match results.
- [All Sports tools](https://fous.com/tools/category/sports)
