FanDuel API endpoint
Returns a page of a team's news (title, summary, author, time, link) and player updates. Without `cursor` it is the team page's own first 15 articles. While `has_more` is true, pass the response's `next_cursor` as `cursor` to continue through the archive, 1 to 50 articles at a time (default 25); an NFL team has more than 1,000. Teams in MLB and the college leagues currently have no news, which returns an empty list.
/fanduel/sportsbook/team/newsleague (required): nfl, nba, mlb, college-football, college-basketball. Any other value returns 400.team (required): team slug from the teams route (groups[].teams[].slug), such as arizona-cardinals. A malformed slug returns 400; a slug the league does not have returns 404.cursor (optional): the previous response's next_cursor. An invalid cursor returns 400.limit (optional): articles per page after the first, 1 to 50; default 25. Sending limit without cursor returns 400, because the first page always carries the page's own 15 articles.has_more and next_cursor describe the page after this one; next_cursor is omitted on the last page. An NFL team's archive holds more than 1,000 articles.next_cursor 40 times from one team returned 1,015 distinct articles.player_updates is filled on the first page only, and is empty for every team observed.articles list rather than an error.Data is read from the Sportsbook's own team pages and services and is shown as published at the time of the request; it is not a betting recommendation. 503 on upstream failure, including when the Sportsbook serves a bot-check page instead of the requested page.
| Field | Filled in, of 15 checked | Values in the sample |
|---|---|---|
| id | 15 | |
| title | 15 | median 62 characters |
| summary | 15 | median 87 characters |
| author | 15 | |
| published_at | 15 | 2026-10-09 to 2026-10-25 |
| source | 15 | research in all 15 |
| url | 15 | fanduel.com |
| thumbnail_url | 15 | cdn.sanity.io |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| league | string | Yes | League: `nfl`, `nba`, `mlb`, `college-football`, `college-basketball` Allowed values: nfl, nba, mlb, college-football, college-basketball. | nfl | |
| team | string | Yes | Team slug from the `teams` route (`groups[].teams[].slug`), such as `arizona-cardinals` | arizona-cardinals | |
| cursor | string | No | Continue from the previous response's `next_cursor`; omit for the first page | ||
| limit | integer | No | Articles per page after the first, 1 to 50; default 25. Only valid together with `cursor` Minimum: 1. Maximum: 50. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/fanduel/sportsbook/team/news?league=nfl&team=arizona-cardinals&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"league": "nfl",
"team": "buffalo-bills",
"articles": [
{
"id": "62c16e7c-556d-4da2-9438-30992dc343ef",
"title": "Fantasy Football Start/Sit Week 5: Should You Bench Jalen Hurts?",
"summary": "Fantasy football start or sit advice for NFL Week 5.",
"author": "FanDuel Staff",
"published_at": "2026-10-08T00:51:04Z",
"source": "research",
"url": "https://www.fanduel.com/research/fantasy-football-start-sit-week-5-who-to-start-and-sit-this-week",
"thumbnail_url": "https://cdn.sanity.io/images/pbwem9y5/ch_production/844432def7dff2743217415b0a391a879fe1f40d-6050x3403.jpg?rect=413,0,5225,2833&w=332&h=180"
}
],
"player_updates": [],
"has_more": true,
"next_cursor": "d63bd15b-6ac5-42ba-ae75-ecc85d3256e8-d",
"fetched_at": "2026-10-23T14:57:52Z"
},
"msg": "OK"
}Request schema
No body schema
Response schema
#/definitions/fanduel.sportsbookTeamNewsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | fanduel.SportsbookTeamNewsResponse | No | ||||
| data.articles | array | No | SportsbookTeamArticle record, 8 fields: author, id, published_at, source, summary, thumbnail_url, title, url. Described under FanDuel Sportsbook player overview API. | |||
| data.fetched_at | string | No | ||||
| data.has_more | boolean | No | ||||
| data.league | string | No | ||||
| data.next_cursor | string | No | ||||
| data.player_updates | array | No | ||||
| data.team | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/fanduel/sportsbook/team/news?league=nfl&team=arizona-cardinals&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"