Flashscore API endpoint
Lists every country code accepted by flashscore-match-odds and flashscore-match-tv (with whether bookmakers were found for it when verified), the US states and Canadian provinces that change the bookmaker list, and every betting type, scope and handicap type that can appear in odds responses.
/flashscore/odds-geosNo parameters. Returns the pinned discovery catalog for /api/v1/flashscore/match-odds, /api/v1/flashscore/match-tv, /api/v1/flashscore/tournament-outright-odds and /api/v1/flashscore/team-outright-odds:
default_geo: GB, used when geo is omitted.verified_on: the date the market and subdivision sets were verified live.geos: 118 country codes with name and has_bookmakers. has_bookmakers is false for AE, BE, BR, HR, HU, ID, KZ and LT, which returned a valid response with no bookmakers; odds for those markets are empty, though match-tv can still list broadcasters.subdivisions: 51 US states (including DC) and 13 Canadian provinces and territories as {geo, code, name}. Only US and CA accept a subdivision.betting_types: HOME_DRAW_AWAY, HOME_AWAY, DRAW_NO_BET, DOUBLE_CHANCE, ASIAN_HANDICAP, EUROPEAN_HANDICAP, OVER_UNDER, BOTH_TEAMS_TO_SCORE, CORRECT_SCORE, HALF_FULL_TIME, ODD_OR_EVEN, TO_QUALIFY, NEXT_GOAL, TOP_POSITION_MERGED, TO_WIN_AND_TOP_POSITION, WIN_EACH_WAY.betting_scopes: FULL_TIME, FULL_TIME_OVER_TIME, FIRST_HALF, SECOND_HALF, FIRST_PERIOD, FIRST_QUARTER, FIRST_SET, SECOND_SET.handicap_types: UNKNOWN, GOALS, GAMES, SETS, POINTS, FRAMES, LEGS, RUNS.The sets are a verified snapshot, not an exhaustive list of countries: other country codes were not checked and are rejected by the odds and TV routes.
Example response (shortened):
{"code":200,"msg":"OK","data":{"default_geo":"GB","verified_on":"2026-10-07","geos":[{"code":"GB","name":"United Kingdom","has_bookmakers":true}],"subdivisions":[{"geo":"US","code":"NJ","name":"New Jersey"}],"betting_types":["HOME_DRAW_AWAY"],"betting_scopes":["FULL_TIME"],"handicap_types":["UNKNOWN"],"subdivision_notes":"subdivision is accepted only with geo US or CA, where it changes which bookmakers are licensed."}}
| Field | Filled in, of 118 checked | Values in the sample |
|---|---|---|
| code | 118 | |
| name | 118 | “United Arab Emirates” and 117 other values |
| has_bookmakers | 118 | true in 110 of 118 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/flashscore/odds-geos" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"default_geo": "GB",
"verified_on": "2026-10-07",
"geos": [
{
"code": "GB",
"name": "United Kingdom",
"has_bookmakers": true
}
],
"subdivisions": [
{
"geo": "US",
"code": "NJ",
"name": "New Jersey"
}
],
"betting_types": [
"HOME_DRAW_AWAY"
],
"betting_scopes": [
"FULL_TIME"
],
"handicap_types": [
"UNKNOWN"
],
"subdivision_notes": "subdivision is accepted only with geo US or CA, where it changes which bookmakers are licensed."
}
}Request schema
No body schema
Response schema
#/definitions/flashscore.oddsGeosResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | flashscore.oddsGeosDataDoc | No | ||||
| data.betting_scopes | array | No | FULL_TIME | |||
| data.betting_types | array | No | HOME_DRAW_AWAY | |||
| data.default_geo | string | No | GB | |||
| data.geos | array | No | ||||
| data.geos[].code | string | No | GB | |||
| data.geos[].has_bookmakers | boolean | No | true | |||
| data.geos[].name | string | No | United Kingdom | |||
| data.handicap_types | array | No | UNKNOWN | |||
| data.subdivision_notes | string | No | subdivision is accepted only with geo US or CA, where it changes which bookmakers are licensed. | |||
| data.subdivisions | array | No | ||||
| data.subdivisions[].code | string | No | NJ | |||
| data.subdivisions[].geo | string | No | US | |||
| data.subdivisions[].name | string | No | New Jersey | |||
| data.verified_on | string | No | 2026-10-07 | |||
| msg | string | No | OK |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/flashscore/odds-geos" \
-H "x-api-key: $CRAWLORA_API_KEY"