FanDuel API endpoint
Searches the Sportsbook's events and competitions by text (team, player-event or league names such as `lakers` or `nfl`). Events come back in the search index's relevance order with the sport, competition and start time; competitions come back with a match count. Use the returned `event_id` and `competition_id` with the event and competition routes.
/fanduel/sportsbook/searchq (required): search text, 2 to 100 characters. Quotes, backslashes and control characters return 400.type (optional, default all): what to search. One of all (events and competitions), event, competition. Any other value returns 400.event_type_id (optional): limit results to one sport. One of 6423 (American Football), 1 (Soccer), 7522 (Basketball), 3 (Golf), 7511 (Baseball), 7524 (Ice Hockey), 2 (Tennis), 26420387 (Mixed Martial Arts), 2593174 (Table Tennis), 3503 (Darts), 6 (Boxing), 5 (Rugby Union), 4 (Cricket), 8 (Motor Sport), 1477 (Rugby League), 6422 (Snooker), 468328 (Handball), 28608997 (Lacrosse), 998917 (Volleyball), 4726642 (Surfing), 10 (Special Bets), 2378961 (Politics); availability differs by market: 998917 (Volleyball) was Ontario-only on 2026-10-23 and is now also offered in NJ, PA, CO and AZ, and a market that does not offer a sport (NY lists 12) returns 404, so list what a market offers with the sports route. Any other value returns 400.limit (optional, default 20): maximum events returned, 1 to 50; out-of-range values return 400.state (optional, default nj): U.S. market whose Sportsbook host is queried. One of ar, az, co, ct, dc, ia, il, in, ks, ky, la, ma, md, mi, mo, mr, nc, nj, ny, oh, on, pa, pr, tn, va, vt, wv, wy. Any other value returns 400.match_count is the number of matching entries the search index reports for that competition.events can hold fewer than limit entries for a narrow query. An empty result is a valid answer, not an error.type=competition returns competitions only (events is empty).The route is read-only and needs no account. Data is shown as the Sportsbook publishes it at the moment of the request and is not a betting recommendation.
| Field | Filled in, of 28 checked | Values in the sample |
|---|---|---|
| event_id | 28 | |
| name | 28 | “Pittsburgh Steelers @ New Orleans Saints” and 27 other values |
| event_type_id | 28 | |
| event_type_name | 28 | American Football in all 28 |
| competition_id | 28 | |
| competition_name | 28 | NFL in all 28 |
| open_date | 28 | 2025-09-28 to 2026-11-03 |
| in_play | 28 | true in 0 of 28 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| q | string | Yes | Search text, 2 to 100 characters | nfl | |
| type | string | No | What to search: `all` (events and competitions), `event` or `competition`; default all Allowed values: all, event, competition. | ||
| event_type_id | string | No | Limit results to one sport: 6423 American Football; 1 Soccer; 7522 Basketball; 3 Golf; 7511 Baseball; 7524 Ice Hockey; 2 Tennis; 26420387 Mixed Martial Arts; 2593174 Table Tennis; 3503 Darts; 6 Boxing; 5 Rugby Union; 4 Cricket; 8 Motor Sport; 1477 Rugby League; 6422 Snooker; 468328 Handball; 28608997 Lacrosse; 998917 Volleyball, 4726642 Surfing, 10 Special Bets and 2378961 Politics; availability differs by market (Volleyball is also offered in NJ, PA, CO and AZ), and a sport a market does not offer returns 404 Allowed values: 6423, 1, 7522, 3, 7511, 7524, 2, 26420387, 2593174, 3503, 6, 5, 4, 8, 1477, 6422, 468328, 28608997, 998917, 4726642, 10, 2378961. | ||
| limit | integer | No | Maximum events returned, 1 to 50; default 20 Minimum: 1. Maximum: 50. | ||
| state | string | No | U.S. market to query (prices and offered markets differ by state); default nj Allowed values: ar, az, co, ct, dc, ia, il, in, ks, ky, la, ma, md, mi, mo, mr, nc, nj, ny, oh, on, pa, pr, tn, va, vt, wv, wy. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/fanduel/sportsbook/search?q=nfl&type=all&event_type_id=6423&limit=10&state=ar" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"state": "nj",
"query": "lakers",
"type": "all",
"competitions": [
{
"competition_id": 10547864,
"name": "NBA",
"event_type_id": 7522,
"event_type_name": "Basketball",
"match_count": 14
},
{
"competition_id": 12687908,
"name": "eBasketball H2H GG League 4x5 Mins",
"event_type_id": 7522,
"event_type_name": "Basketball",
"match_count": 38
}
],
"events": [
{
"event_id": 36220983,
"name": "Los Angeles Clippers @ Los Angeles Lakers",
"event_type_id": 7522,
"event_type_name": "Basketball",
"competition_id": 10547864,
"competition_name": "NBA",
"open_date": "2026-10-24T02:10:00.000Z",
"in_play": false
},
{
"event_id": 36223970,
"name": "Los Angeles Lakers (ARACHNE) @ Oklahoma City Thunder (CROCODILE)",
"event_type_id": 7522,
"event_type_name": "Basketball",
"competition_id": 12687908,
"competition_name": "eBasketball H2H GG League 4x5 Mins",
"open_date": "2026-10-23T00:07:00.000Z",
"in_play": false
}
],
"fetched_at": "2026-10-23T00:03:05Z"
},
"msg": "OK"
}Request schema
No body schema
Response schema
#/definitions/fanduel.sportsbookSearchResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | fanduel.SportsbookSearchResponse | No | ||||
| data.competitions | array | No | ||||
| data.competitions[].competition_id | integer | No | ||||
| data.competitions[].event_type_id | integer | No | ||||
| data.competitions[].event_type_name | string | No | ||||
| data.competitions[].match_count | integer | No | ||||
| data.competitions[].name | string | No | ||||
| data.events | array | No | ||||
| data.events[].competition_id | integer | No | ||||
| data.events[].competition_name | string | No | ||||
| data.events[].event_id | integer | No | ||||
| data.events[].event_type_id | integer | No | ||||
| data.events[].event_type_name | string | No | ||||
| data.events[].in_play | boolean | No | ||||
| data.events[].name | string | No | ||||
| data.events[].open_date | string | No | ||||
| data.fetched_at | string | No | ||||
| data.query | string | No | ||||
| data.state | string | No | ||||
| data.type | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/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/search?q=nfl&type=all&event_type_id=6423&limit=10&state=ar" \
-H "x-api-key: $CRAWLORA_API_KEY"