Endpoint Playground
Returns numberFire's fantasy projections for MLB, NBA, NFL, NHL and golf in the service's rank order: each row has the player, team, game, FanDuel DFS salary and value (daily projections), and the stat columns of the player kind (points, rebounds and assists for the NBA; passing, rushing and receiving for NFL skill players; kicker, defense and individual defensive player columns; skater, goalie, batter and pitcher columns; golf finish odds). `type` picks the table: `DAILY` (needs `slate_id`), `WEEKLY`, `YEARLY`, `REMAINING`, `PPR` or `SEASON_STATS`; not every sport has every type, and `position` and `scope` depend on the table, so read them from the projection-tables route. An unknown slate is refused instead of silently returning other projections. Weekly NBA and MLB tables are empty outside their weeks. A player id can appear more than once in a yearly table.
25 Oct 2026: 40 rows; 3 fields had a value in every checked item.
curl 'https://api.crawlora.net/api/v1/fanduel/research/projections?sport=nba&type=SEASON_STATS&position=batters&scope=TOTAL' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| sport | string | Yes | nba | Sport |
| type | string | Yes | SEASON_STATS | Projection type |
| position | string | No | batters | Position tab of the table; default is the table's default tab. Allowed values: `batters`, `pitchers`, `c`, `1b`, `2b`, `3b`, `ss`, `of`, `sp`, `rp` (MLB); `qb`, `rb`, `wr`, `te`, `flex`, `k`, `defense`, `idp` (NFL); `all`, `pg`, `sg`, `guards`, `sf`, `pf`, `forwards`, `centers` (NBA); `skaters`, `goalies`, `forwards`, `wingers`, `centers`, `d` (NHL); `all` (golf). Which of them a table offers is listed by projection-tables |
| scope | string | No | TOTAL | `TOTAL` or `PER_GAME`; only NBA WEEKLY, YEARLY, REMAINING and SEASON_STATS take it, default `TOTAL`; other tables return `400` |
| slate_id | string | No | Slate id from the projection-slates route; required for DAILY (golf defaults to its only slate); other types return `400` | |
| event_id | string | No | Golf event id from the projection-slates route; golf only, defaults to the only current event | |
| date | string | No | Day of the slate as `YYYY-MM-DD` when `slate_id` is not from today; MLB, NBA and NHL DAILY only | |
| week | integer | No | NFL week of the slate when `slate_id` is not from this week; NFL DAILY only | |
| season | integer | No | NFL season of the slate; NFL DAILY only | |
| page | integer | No | Page number, from 1; default 1, at most 10000 | |
| limit | integer | No | Rows per page, 1 to 200; default 50 |
{
"code": 200,
"data": {
"sport": "nba",
"type": "DAILY",
"table": "dfs-projections",
"table_name": "NBA Daily Fantasy Projections",
"position": "all",
"position_label": "All Positions",
"slate_id": "1049029",
"slate_name": "Main",
"total": 151,
"page": 1,
"limit": 1,
"rows": [
{
"player": {
"id": 2161,
"name": "C.J. McCollum",
"position": "SG/PG",
"page_url": "https://sportsbook.fanduel.com/teams/nba/roster/c-j-mccollum-2161"
},
"team": {
"id": 1,
"name": "Atlanta Hawks",
"abbreviation": "ATL"
},
"game": {
"home_team": {
"id": 35,
"name": "Charlotte Hornets",
"abbreviation": "CHA"
},
"away_team": {
"id": 1,
"name": "Atlanta Hawks",
"abbreviation": "ATL"
},
"game_time": "2026-10-23T23:00:00Z"
},
"salary": 5400,
"value": 5.57,
"stats": {
"minutes": 29,
"points": 18.5,
"rebounds": 3.3,
"assists": 3.7,
"three_points_made": 2.6,
"fantasy": 30.1
}
}
],
"fetched_at": "2026-10-24T05:20:00Z"
},
"msg": "OK"
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.