FanDuel API endpoint
Returns one FanDuel Research article in full: its details plus the body rendered as `blocks` (paragraphs, headings, list items, tables, and embedded Sportsbook markets with their event, market and selection ids) and as plain `text`. Content the renderer cannot show, such as embedded HTML, is counted in `omitted_blocks` instead of being dropped silently. An unknown slug returns 404.
/fanduel/research/articlearticle (required): an article slug from the articles route (articles[].slug). A malformed slug returns 400; an unknown slug returns 404.blocks[].type is paragraph, heading (level 2 or 3), list_item, table (title, headers, rows) or odds, an embedded Sportsbook market with event_id, event_name, market_id, market_name, selection_ids and league; price those ids with the Sportsbook market-prices route.text is the paragraphs, headings and list items joined as plain text (list items start with - ).omitted_blocks counts what the renderer cannot show, for example embedded HTML (embedded); horizontal rules are not counted.Data is read from the FanDuel Research site's own public service and is shown as published at the time of the request; it is not betting advice. 503 on upstream failure.
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| article | string | Yes | Article slug from the `articles` route (`articles[].slug`) | avalanche-vs-lightning-prediction-nhl-odds-10-23-2026 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/fanduel/research/article?article=avalanche-vs-lightning-prediction-nhl-odds-10-23-2026" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"id": "F7iVtLKksEMummekWaxYSu",
"slug": "avalanche-vs-lightning-prediction-nhl-odds-10-23-2026",
"title": "Avalanche vs Lightning NHL Prediction, Odds, Picks, Best Bets for Oct. 23",
"description": "Find Avalanche vs. Lightning predictions, betting odds, moneyline, puck line, over/under and more for the Oct. 23 NHL matchup.",
"url": "https://www.fanduel.com/research/avalanche-vs-lightning-prediction-nhl-odds-10-23-2026",
"sport": {
"slug": "nhl",
"name": "NHL"
},
"author": {
"id": "1e4bbb3a-92b2-43be-90da-737ff0d4e2b7",
"name": "Data Skrive",
"slug": "data-skrive"
},
"published_at": "2026-10-23T04:50:08Z",
"updated_at": "2026-10-23T16:50:06Z",
"thumbnail_url": "https://cdn.sanity.io/images/pbwem9y5/ch_production/0f72f5b22f07bf13d7d185081740bc4a9e5115e2-5549x3122.jpg?rect=0,57,5549,3008&w=332&h=180",
"hero_type": "IMAGE",
"tags": [
{
"name": "Colorado Avalanche",
"type": "team"
}
],
"keywords": [],
"blocks": [
{
"type": "table",
"title": "DS Table",
"headers": [
"Favorite"
],
"rows": [
[
"Avalanche (-128)"
]
]
}
],
"text": "NHL action on Friday includes the Colorado Avalanche facing the Tampa Bay Lightning.\n\nBefore you make your wager on FanDuel Sportsbook, we've got you covered, i...",
"omitted_blocks": {},
"fetched_at": "2026-10-23T19:14:41Z"
},
"msg": "OK"
}Request schema
No body schema
Response schema
#/definitions/fanduel.researchArticleResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | fanduel.ResearchArticleResponse | No | ||||
| data.author | fanduel.ResearchAuthorRef | No | ||||
| data.author.id | string | No | ||||
| data.author.name | string | No | ||||
| data.author.slug | string | No | ||||
| data.blocks | array | No | ||||
| data.blocks[].event_id | integer | No | ||||
| data.blocks[].event_name | string | No | ||||
| data.blocks[].headers | array | No | ||||
| data.blocks[].league | string | No | ||||
| data.blocks[].level | integer | No | ||||
| data.blocks[].market_id | string | No | ||||
| data.blocks[].market_name | string | No | ||||
| data.blocks[].rows | array | No | ||||
| data.blocks[].selection_ids | array | No | ||||
| data.blocks[].text | string | No | ||||
| data.blocks[].title | string | No | ||||
| data.blocks[].type | string | No | ||||
| data.description | string | No | ||||
| data.fetched_at | string | No | ||||
| data.hero_type | string | No | ||||
| data.id | string | No | ||||
| data.keywords | array | No | ||||
| data.omitted_blocks | object | No | ||||
| data.published_at | string | No | ||||
| data.slug | string | No | ||||
| data.sport | fanduel.ResearchSportRef | No | ||||
| data.sport.name | string | No | ||||
| data.sport.slug | string | No | ||||
| data.sub_heading | string | No | ||||
| data.tags | array | No | ||||
| data.tags[].name | string | No | ||||
| data.tags[].type | string | No | ||||
| data.text | string | No | ||||
| data.thumbnail_url | string | No | ||||
| data.title | string | No | ||||
| data.updated_at | string | No | ||||
| data.url | 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/research/article?article=avalanche-vs-lightning-prediction-nhl-odds-10-23-2026" \
-H "x-api-key: $CRAWLORA_API_KEY"