# Stats Ncaa — Wrapped API

> **You are on:** `https://api.beta.paywithlocus.com/api` | [llms.txt](https://beta.paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Access comprehensive NCAA sports statistics to search for players, teams, and coaches, view game box scores and play-by-play data, and review team schedules, rosters, and rankings. Get detailed head coach records and scoreboard information to analyze performance across college sports.

**Category:** Sports | **Website:** [stats.ncaa.org/](https://stats.ncaa.org/) | **Docs:** [parse.bot/marketplace/f8eb8103-82b4-4007-9de3-c9ba59e341a4/stats-ncaa-org-api](https://parse.bot/marketplace/f8eb8103-82b4-4007-9de3-c9ba59e341a4/stats-ncaa-org-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.beta.paywithlocus.com/api/wrapped/credits/stats-ncaa/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Get box score

Retrieve the full individual player box score for a specific game by contest_id. Returns per-player statistics for both teams including minutes played, field goals, rebounds, assists, and other stats.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `contest_id` | string | Yes | Contest ID from scoreboard or schedule |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/stats-ncaa/get-box-score \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"contest_id":"<string>"}'
```

### Get defensive player stats

Retrieve defensive season statistics for a college football player by player_id. Returns tackles, sacks, tackles for loss, fumble recoveries, and other defensive stats. Requires navigating from the player page to the correct season and fetching multiple stat category pages (tackles, sacks, defense). Makes up to 5 HTTP requests.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `player_id` | string | Yes | Player ID from search_players results |
| `season` | string | No | Season year (e.g. 2025 for the 2025-26 academic year / fall 2025 football season). If omitted, returns career totals from the most recent available season page. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/stats-ncaa/get-defensive-player-stats \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"player_id":"<string>","season":"<string>"}'
```

### Get play by play

Retrieve the play-by-play log for a specific game by contest_id. Returns all events with period, time, team, event description, and score.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `contest_id` | string | Yes | Contest ID from scoreboard or schedule |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/stats-ncaa/get-play-by-play \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"contest_id":"<string>"}'
```

### Get rankings

Retrieve available statistical ranking categories for a given sport, division, and season. Returns stat category names with stat_seq identifiers and URLs to detailed national rankings.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `division` | string | No | Division |
| `sport` | string | No | Sport code |
| `year` | string | No | Academic year (e.g., 2025 for 2024-25 season) |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/stats-ncaa/get-rankings \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"division":"<string>","sport":"<string>","year":"<string>"}'
```

### Get scoreboard

Retrieve the scoreboard for a given sport, season year, division, and date. Returns list of games with team names, IDs, scores, and contest IDs.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `date` | string | No | Game date in MM/DD/YYYY format. Defaults to current UTC date. |
| `division` | string | No | Division |
| `sport` | string | No | Sport code |
| `year` | string | No | Academic year (e.g., 2025 for 2024-25 season) |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/stats-ncaa/get-scoreboard \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"date":"<string>","division":"<string>","sport":"<string>","year":"<string>"}'
```

### Get team roster

Retrieve the roster for a specific team by team_id. Returns player details including name, position, class, height, hometown, and high school.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `team_id` | string | Yes | Team ID (from search_teams or scoreboard) |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/stats-ncaa/get-team-roster \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"team_id":"<string>"}'
```

### Get team schedule

Retrieve the schedule and game results for a specific team by team_id. Returns games with dates, opponents, results, contest IDs, and attendance.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `team_id` | string | Yes | Team ID (from search_teams or scoreboard) |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/stats-ncaa/get-team-schedule \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"team_id":"<string>"}'
```

### Search head coaches

Search for head coaches by name, with an optional sport filter. Returns coach records including wins, losses, tenure, and alma mater.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search keyword for coach name |
| `sport` | string | No | Sport code filter. Empty string returns all sports. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/stats-ncaa/search-head-coaches \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>","sport":"<string>"}'
```

### Search players

Search for players by name across all sports and teams. Returns player names, IDs, seasons played, and team affiliations. Paginates via offset/length parameters.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `length` | integer | No | Number of results to return per page |
| `query` | string | Yes | Search keyword for player name |
| `start` | integer | No | Pagination offset (0-based index of first result) |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/stats-ncaa/search-players \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"length":"<integer>","query":"<string>","start":"<integer>"}'
```

### Search teams

Search for teams by name using the autocomplete endpoint. Returns matching team names, IDs, and conference affiliations.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `term` | string | Yes | Search term for team name |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/stats-ncaa/search-teams \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"term":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://beta.paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://beta.paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://beta.paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://beta.paywithlocus.com/agent/index.md): every Locus agent page.