---
title: "Hot/cold player movers (last-5 vs season average)"
method: GET
path: "/v1/intelligence/trending"
tags: ["nerd"]
---

# Hot/cold player movers (last-5 vs season average)

`GET /v1/intelligence/trending`

## Request

- Base URL: `https://api.bigballsdata.com`
- URL: `https://api.bigballsdata.com/v1/intelligence/trending`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Players whose last-5-game average is at least 15% above (hot) or below
(cold) their season average for the chosen stat. NBA and NHL today
(default nba). `stat` must belong to the chosen sport: NBA pts/reb/ast,
NHL goals/assists/points/shots_on_goal; a cross-sport stat returns 400.
`min_season_avg` floors the baseline to drop small-denominator noise
(per-stat default when omitted; pass 0 to opt out). Response object keys:
stat, direction, threshold_pct, min_season_avg, season, players[],
as_of. 1-hour Redis cache.
**Solo plan or higher**: player-movement intelligence starts at Solo;
Free receives a 403 naming the tier and linking the docs and pricing
pages.
The nba default applies only when neither `sport` nor `league` is
supplied, so a covered league passed on its own (`?league=nhl`) is
enough. A league we carry but do not compute trending for, such as
NCAAB or WNBA, returns 400 naming the league.

## Query parameters

- `sport` string
- `league` string
- `stat` 'pts' | 'reb' | 'ast' | 'goals' | 'assists' | 'points' | 'shots_on_goal'
- `direction` 'up' | 'down' | 'both'
- `limit` integer
- `min_games` integer
- `min_season_avg` number

## Response `200`

ok

- object

## Other responses

- `400`: invalid query
- `403`: plan_required (Solo or higher)

---

[API](https://skmtc.dev/bigballsdata/apis/big-ball-sports-api.md) · [All operations](https://skmtc.dev/bigballsdata/apis/big-ball-sports-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bigballsdata/apis/big-ball-sports-api/revisions/9191fc13fcdb?raw)
