Flashscore API endpoint
Returns one page of a team's finished and in-progress matches, newest first, as structured events with start time, stage, both sides, score and competition. Event ids work with the flashscore match endpoints. Request successive pages until event_count is 0; a page past the end returns an empty list.
/flashscore/team-resultsQuery parameters:
id (required): eight-character Flashscore team id (see /api/v1/flashscore/team).page (optional): 1-based page from 1 to 300; defaults to 1.Notable response behavior: returns the team's finished and in-progress matches, newest first, as structured events. Each event has the match id (usable with the flashscore-match-* endpoints), start_time (Unix seconds) and start_time_iso, stage (scheduled, live, finished, or unknown) with the raw stage_code, the provider status_code (for example 10 and 11 mark results decided after extra time or penalties), home and away sides with team ids, home_score / away_score when a score exists, and the competition the match was listed under. Page 1 holds about 43 events and later pages about 40. Request successive pages until event_count is 0; a page past the end (the deepest history observed ends near page 115) returns an empty list rather than an error. An unknown team id returns not found. Sports other than football use the same shape; period scores are not decoded.
The competition block carries id (the competition id), tournament_id (the season-level tournament id, also given as the older field stage_id) and tournament_stage_id (the stage id). Pass tournament_stage_id to /api/v1/flashscore/tournament-archive-seasons and tournament_id to /api/v1/flashscore/tournament-outright-odds. Both ids are omitted for events Flashscore does not tie to a tournament.
| Field | Filled in, of 43 checked | Values in the sample |
|---|---|---|
| id | 43 | |
| start_time | 43 | 2026-01-07 to 2026-10-11 |
| start_time_iso | 43 | 2026-01-07 to 2026-10-11 |
| stage | 43 | finished in all 43 |
| stage_code | 43 | |
| status_code | 43 | |
| home | 43 | |
| away | 43 | |
| home_score | 43 | 0 to 10, median 2 |
| away_score | 43 | 0 to 4, median 1 |
| competition | 43 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| id | string | Yes | Eight-character Flashscore team id | Wtn9Stg0 | |
| page | integer | No | 1 | 1-based page from 1 to 300; defaults to 1 Minimum: 1. Maximum: 300. | 1 |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/flashscore/team-results?id=Wtn9Stg0&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"source_url": "https://global.flashscore.ninja/2/x/feed/pr_1_198_Wtn9Stg0_0_1_en_1",
"team_id": "Wtn9Stg0",
"team_name": "Manchester City",
"section": "results",
"page": 1,
"event_count": 43,
"events": [
{
"id": "fZCq6HE7",
"start_time": 1789909200,
"start_time_iso": "2026-09-20T13:00:00Z",
"stage": "finished",
"stage_code": 3,
"status_code": 3,
"home": {
"id": "Wtn9Stg0",
"name": "Manchester City",
"short_name": "MCI",
"slug": "manchester-city"
},
"away": {
"id": "WSzc94ws",
"name": "Sunderland",
"short_name": "SUN",
"slug": "sunderland"
},
"home_score": 5,
"away_score": 3,
"competition": {
"id": "dYlOSQOD",
"stage_id": "SY30SsKF",
"tournament_id": "SY30SsKF",
"tournament_stage_id": "CfoA8Dmm",
"name": "Premier League",
"full_name": "ENGLAND: Premier League",
"country": "England",
"path": "/football/england/premier-league/"
}
}
]
}
}Request schema
No body schema
Response schema
Inline response schema
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | Code is the HTTP status code or a custom code used to indicate the result of the request @example 200 | |||
| data | flashscore.TeamEventsResponse | No | ||||
| data.event_count | integer | No | ||||
| data.events | array | No | ||||
| data.events[].away | flashscore.EventSide | No | ||||
| data.events[].away.id | string | No | ||||
| data.events[].away.logo_url | string | No | ||||
| data.events[].away.name | string | No | ||||
| data.events[].away.short_name | string | No | ||||
| data.events[].away.slug | string | No | ||||
| data.events[].away_score | integer | No | ||||
| data.events[].competition | flashscore.EventCompetition | No | ||||
| data.events[].competition.country | string | No | ||||
| data.events[].competition.full_name | string | No | ||||
| data.events[].competition.id | string | No | ID is the tournament template (competition) id. | |||
| data.events[].competition.name | string | No | ||||
| data.events[].competition.path | string | No | ||||
| data.events[].competition.stage_id | string | No | StageID is the legacy name of TournamentID and carries the same value. | |||
| data.events[].competition.tournament_id | string | No | TournamentID is the season-level tournament id (feed key ZE), the input of flashscore-tournament-outright-odds. | |||
| data.events[].competition.tournament_stage_id | string | No | TournamentStageID is the tournament stage id (feed key ZC), the input of flashscore-tournament-archive-seasons. | |||
| data.events[].home | flashscore.EventSide | No | ||||
| data.events[].home.id | string | No | ||||
| data.events[].home.logo_url | string | No | ||||
| data.events[].home.name | string | No | ||||
| data.events[].home.short_name | string | No | ||||
| data.events[].home.slug | string | No | ||||
| data.events[].home_score | integer | No | ||||
| data.events[].id | string | No | ||||
| data.events[].stage | string | No | ||||
| data.events[].stage_code | integer | No | ||||
| data.events[].start_time | integer | No | ||||
| data.events[].start_time_iso | string | No | ||||
| data.events[].status_code | integer | No | ||||
| data.page | integer | No | ||||
| data.section | string | No | ||||
| data.source_url | string | No | ||||
| data.team_id | string | No | ||||
| data.team_name | string | No | ||||
| msg | unknown | No | Msg is the message that describes the result of the request @example "Request successful" |
| 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/flashscore/team-results?id=Wtn9Stg0&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"