Skip to content

Futsal data reference

← All sports

Generated from GET /v2/sports/16. Not hand-maintained - if the API adds a status or renames a statistic, this page follows on the next build.

Sport id
16
Participants
2
Match clock
yes
Incident positions
no

Statuses 22

Every value event.status_id can take for this sport. Map onto this list rather than parsing status_type: ids are stable, labels are localized, and postponed matches keep status_type: scheduled.

idNameShortTypeNotes
1Not startedSched.scheduledclock stoppedset by incident 427
6Start delayedDelay.scheduledclock stoppedset by incident 438
5PostponedPost.scheduledclock stoppedset by incident 440TRAP: status_type is scheduled, exactly like a normal upcoming match. A postponed match is indistinguishable from a scheduled one unless you look at status_id. Never branch only on status_type.
331st half1st halfliveclock runningset by incident 429clock_time counts within this period and resets at the next one; played_time is cumulative.
9HalftimeHTliveclock stoppedset by incident 445Clock is stopped. clock_time holds the value it had at the whistle, so do not render it as running.
342nd half2nd halfliveclock runningset by incident 430played_time minus clock_time equals the completed periods - verified as exactly 2700 s after a 45-minute first half.
48Waiting for extra timeWaiting ETliveclock stoppedset by incident 446Regular time ended level and extra time has not started. status_type is live, but the clock is stopped.
264Break after 2nd halfAfter 2ndlive
15Extra timeExtraliveclock running
35Extra time 1st halfExtra 1stliveclock runningset by incident 431
37Extra time halftimeExtra HTliveclock stoppedset by incident 447
36Extra time 2nd halfExtra 2ndliveclock runningset by incident 432
142Waiting for penaltyBefore Penliveclock stoppedset by incident 448Extra time ended level and the shootout has not started. live with the clock stopped.
141Penalty shootoutPenaltyliveclock stoppedset by incident 433The shootout is running. Its score accumulates in result 7, not in result 2.
2InterruptedInterr.interruptedclock stoppedset by incident 441Play stopped and may resume. Incident 1001 (Match resumed) brings it back. Distinct from Abandoned (7), which may never resume.
7AbandonedAbd.interruptedclock stoppedset by incident 442Play stopped and may never resume. Same status_type as Interrupted (2), so tell them apart by status_id.
165Match finishedfinfinished
14Finished after extra timeFin ext.finishedclock stoppedset by incident 434Result 2 includes the extra-time goals (2 = 3 + 104). Result 411 is still empty for both sides - anything past ninety minutes has no regular-time winner. Read 412.
13Finished after penaltiesFin pen.finishedclock stoppedset by incident 435Result 2 does NOT include the shootout - it stops after extra time. The shootout score is result 7, and result 411 (Winner) is empty for both sides because nobody won the playing time. Read 412 (Progress) to find who advanced.
12Finished awarded winAWfinishedclock stoppedset by incident 436Walkover: the result was awarded, not played out. Statistics and the timeline may be empty or not reflect play.
3CancelledCanc.cancelledclock stoppedset by incident 439
152To finishTo fin.scheduledclock stoppedset by incident 451TRAP: status_type is scheduled, but the match already started and was stopped - it is waiting to be finished on another date. Do not present it as an upcoming fixture.

Results 10

Entries that can appear in participants[].results[], keyed by id. There is no score field - you select the result you need.

idNameCodeTypeData type
412Progressprogressteambinary
411Winnerwinnerteambinary
2Resultresultteaminteger
3Regular timeregular_timeteaminteger
4First halffirst_halfteaminteger
5Second halfsecond_halfteaminteger
6Extratimeextratimeteaminteger
133Extratime 1st halfextratime_1st_halfteaminteger
134Extratime 2nd halfextratime_2nd_halfteaminteger
7Penaltypenaltyteaminteger

Event details 16

Per-match metadata in the event's details, with the input type and allowed values.

idNameCodeInputData type
205Has lineupshas_lineupsselect-
141Attendanceattendancenumber-
16Period lengthperiod_lengthnumber-
50Extra period lengthextra_period_lengthnumber-
17Number of periodsnumber_of_periodsnumber-
51Number of extra periodsnumber_of_overtimenumber-
225Extra period type - futsalextra_period_typeselect-
226Kickoff teamkickoff_teamselect-
227Penalty shootout startingpenalty_shootout_startingselect-
19First half start datefh_start_datedatetime-
20Second half start datesh_start_datedatetime-
15Extra period start dateextratime_start_datedatetime-
44First extra half start dateex_fh_start_datedatetime-
45Second extra half start dateex_sh_start_datedatetime-
150Penalty shootout start datepenalty_start_datedatetime-
124Timer directiontimer_directionselect-

Incidents 109

Incident types that can appear in this sport's events_incidents. category: emergency marks operational notices, not match events - never render them on a timeline.

idNameCodeTypeTraderCategoryNotes
2624Not started-eventyesstandard
2846The match will not be coveredthe-match-will-not-be-coveredeventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The match will not be covered at all. The attribute gives the reason. Nothing further will arrive.
Other: Scout's technical issues, Change of venue, Change of match date, Problems with TV transmission source
2625Start delayed-eventyesstandard
2847Problems with the source of the broadcastproblems-with-the-source-of-the-broadcaseventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The broadcast source has a problem. Paired with 2848 when it is solved.
2697Match about to start-eventyesstandard
2848Problem with the source of the broadcast has been solvedproblem-with-the-source-of-the-broadcasteventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The broadcast source problem is solved.
26271st half started-eventyesstandard
2849Change of coverage from venue to TVchange-of-coverage-from-venue-to-tveventyesemergencyemergencyOperational notice, not a match event - category: emergency. It tells you the coverage SOURCE changed, which usually changes latency and can change how complete the statistics are. Never render it on a timeline. Before kick-off (group: prematch): moved from venue to TV.
2628Halftime-eventyesstandard
2850Change of coverage from TV to venuechange-of-coverage-from-tv-to-venueeventyesemergencyemergencyOperational notice, not a match event - category: emergency. It tells you the coverage SOURCE changed, which usually changes latency and can change how complete the statistics are. Never render it on a timeline. Before kick-off (group: prematch): moved from TV to venue.
26292nd half started-eventyesstandard
2851Change of coverage latencychange-of-coverage-latencyeventyesemergencyemergencyOperational notice, not a match event - category: emergency. It tells you the coverage SOURCE changed, which usually changes latency and can change how complete the statistics are. Never render it on a timeline. Latency of the coverage changed. Relevant if you gate markets on feed delay.
Other: from 3-6 to 7-15, from 7-15 to 3-6
2630Waiting for extra time-eventyesstandard
2641Finished regular time-eventyesstandard
2852Scouting coverage can start with a delay ofscouting-coverage-can-start-with-a-delayeventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Scouting coverage will start late. The attribute gives the size (under 3, 3-5 or 5-10 minutes).
Other: < 3min, 3-5 min, 5-10 min
2853Expected delay in the start of the matchexpected-delay-in-the-start-of-the-matcheventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The match will start late. The attribute gives the reason - a team arriving late, problems in the stands and so on.
Other: Delayed arrival of a team, Problems in the stands, Referee problems, Infrastructure problems, Weather conditions
2854Team line-ups will not be availableteam-line-ups-will-not-be-availableeventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Line-ups will not be available for this match. Do not wait for lineups[] to fill.
2632Extra time started-eventyesstandard
2855Source of the coverage is delayedsource-of-the-coverage-is-delayedeventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The coverage source is delayed. The attribute gives the size of the delay (about 5 to 20 seconds).
Other: ~5sec, ~10sec, ~15sec, ~20sec, ~25sec, ~30sec, >30sec
2633Extra time 1st half started-eventyesstandard
2856The current part of the game has started with a delaythe-current-part-of-the-game-has-startedeventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The current period started late.
2634Extra time halftime-eventyesstandard
2857Verification of result in progressverification-of-result-in-progresseventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. A verification started. Whatever it covers may still change - hold off on caching it.
2635Extra time 2nd half started-eventyesstandard
2858Verification of result completed and correctverification-of-result-completed-and-coreventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Verification of the result finished. Values are confirmed.
2636Waiting for penalty-eventyesstandard
2859Verification of key statistics is in progressverification-of-key-statistics-is-in-proeventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. A verification started. Whatever it covers may still change - hold off on caching it.
2637Penalty shootout started-eventyesstandard
2860Verification of key statistics completed and correctverification-of-key-statistics-completedeventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Verification of key statistics finished. Values are confirmed.
2638Referee's injury-eventnostandard
2861Verification of game clock is in progressverification-of-game-clock-is-in-progreseventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. A verification started. Whatever it covers may still change - hold off on caching it.
2639Referee's throw-eventnostandard
2862Verification of game clock completed and correctverification-of-game-clock-completed-andeventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Verification of the game clock finished. Values are confirmed.
2640Break during the game-eventnostandard
2863Match coverage interrupted due to technical issuesmatch-coverage-interrupted-due-to-technieventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Coverage stopped because of technical issues. 2864 or 2865 says whether it comes back.
2864Match coverage will continuematch-coverage-will-continueeventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Coverage will continue after the interruption.
2642Finished after extra time-eventyesstandard
2865Match coverage will not continuematch-coverage-will-not-continueeventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Coverage will NOT continue. Expect no further incidents for this match.
2643Finished after penalties-eventyesstandard
2866The match is abandonedthe-match-is-abandonedeventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The match was abandoned. The attribute gives the reason.
Other: Problems in the stands, Referee problems, Infrastructure problems, Serious player injury, Weather conditions
2644Finished awarded win-eventyesstandard
2867Waiting for official decision regarding match resumptionwaiting-for-official-decision-regarding-eventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Waiting for an official decision on whether the match resumes. 2868 or 2869 follows.
2645Interrupted-eventyesstandard
2868Match will resume shortlymatch-will-resume-shortlyeventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The match resumes shortly.
2646Postponed-eventyesstandard
2869Match will not resumematch-will-not-resumeeventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The match will not resume.
2647Cancelled-eventyesstandard
2870Expected delay in the start of the next part of the gameexpected-delay-in-the-start-of-the-next-eventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The next period will start late. The attribute gives the reason.
Other: Problems in the stands, Referee problems, Infrastructure problems, Weather conditions
2648Abandoned-eventyesstandard
2871Change of coverage from venue to TVchange-of-coverage-from-venue-to-tv-liveeventyesemergencyemergencyOperational notice, not a match event - category: emergency. It tells you the coverage SOURCE changed, which usually changes latency and can change how complete the statistics are. Never render it on a timeline. During play (group: live): moved from venue to TV.
2649To finish-eventyesstandard
2872Change of coverage from TV to venuechange-of-coverage-from-tv-to-venue-liveeventyesemergencyemergencyOperational notice, not a match event - category: emergency. It tells you the coverage SOURCE changed, which usually changes latency and can change how complete the statistics are. Never render it on a timeline. During play (group: live): moved from TV to venue.
2873Change of coverage latencychange-of-coverage-latency-liveeventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Coverage latency changed. The attribute gives the direction, for example from 3-6 to 7-15 seconds. Relevant if you gate markets on feed delay.
Other: from 3-6 to 7-15, from 7-15 to 3-6
2874Expected delay in the start of the match - safety reasonsexpected-delay-in-the-start-of-the-matcheventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The match will start late for safety reasons.
2875Verification of key statistics is in progressverification-of-key-statistics-is-in-proeventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. A verification started. Whatever it covers may still change - hold off on caching it.
2876Verification of key statistics completed and correctverification-of-key-statistics-completedeventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Verification of key statistics, after the match finished. Values are confirmed.
2877Verification of player names for key incidents in progressverification-of-names-for-key-incidents-eventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. A verification started. Whatever it covers may still change - hold off on caching it.
2878Verification of player names for key incidents completed and correctverification-of-names-for-key-incidents-eventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Verification of player names on key incidents finished. Values are confirmed.
2879Verification of result is in progressverification-of-result-is-in-progresseventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. A verification started. Whatever it covers may still change - hold off on caching it.
2880Verification of result completed and correctverification-of-result-completed-and-coreventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Verification of the result, after the match finished. Values are confirmed.
2881Problems with the low latency source of the coverageproblems-with-the-low-latency-source-of-eventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The low-latency source has a problem. Paired with 2882.
2882Problems with the low latency source of coverage has been solvedproblems-with-the-low-latency-source-of-eventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The low-latency source problem is solved.
2883Player name verification is in progress - substitutionplayer-name-verification-is-in-progress-eventyesemergencyemergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. A verification started. Whatever it covers may still change - hold off on caching it.
1000BetstartbetstarteventyesstandardmarketBetting markets may be activated.
Other: Master
1010BetstopbetstopeventyesstandardmarketAll betting markets are closed: a goal, penalty or red card looks likely, or the situation on the pitch is unclear.
Other: Master
1001Match resumedmatch-resumedeventyesstandardinformingUsed when an interrupted match resumes.
1200Technical problemstechnical-problemseventyesstandardmarketTechnical problems during coverage. Closes all match markets automatically.
2651In possession-teamnostandard
2652Attack-teamnostandard
2653Shot on target-teamnostandard
2654Shot off target-teamnostandard
2655Foul-teamyesstandard
2656Injury-teamnostandard
2657Free kick-teamnostandard
2658Possible corner-teamnostandard
2659Corner-teamyesstandard
2660Corner cancelled-teamnostandard
2661Possible goal-teamnostandard
2662Goal-teamyesstandard
Other: Penalty goal, Second penalty mark goal, Own goal
2663Penalty goal-teamnostandard
2664Own goal-teamnostandard
2665Second penalty mark goal-teamnostandard
2666Goal cancelled-teamnostandard
2667Yellow card-teamyesstandard
2668Red card-teamyesstandard
2669Possible penalty-teamnostandard
2670Penalty-teamyesstandard
Other: Second penalty
2671Second penalty-teamnostandard
2672Penalty cancelled-teamnostandard
2673Missed penalty-teamyesstandard
Other: Missed second penalty
2674Missed second penalty-teamnostandard
2675Penalty saved by goalkeeper-teamyesstandard
Other: Second penalty saved by goalkeeper
2676Second penalty saved by goalkeeper-teamnostandard
2677Ball hits the roof-teamnostandard
2678Shot woodwork-teamnostandard
2679Shot blocked-teamnostandard
2680Kick in-teamnostandard
2681Goalkeeper in the field-teamyesstandard
2682Timeout-teamnostandard
2683Power play 5 on 4-teamnostandard
2684Power play 5 on 3-teamnostandard
2685Power play 4 on 3-teamnostandard
2686Power play 5 on 5-teamnostandard
2687Power play 4 on 4-teamnostandard
2693Suspension over-teamyesstandard
2698Kick off-teamyesstandard
2694Suspension-teamyesstandard
2695Goalkeeper back-teamyesstandard
2696Timeout over-teamnostandard

Standings types 9

Values for type_name on /v2/standings. Pick the one you need and match its columns by code, not by position.

idName
213Away standings
214Cards
217Form table
218Halftime standings
212Home standings
209League standings
222Overall stats
221Team overall stats
211Top scorers

Statistics 62

Split into team statistics (in participants[].stats) and person statistics (in sub_participants[].stats). Match by code, not by position.

Team 33

idNameCodeData type
20Shots on targetshots_on_goalinteger
21Shots off targetshots_off_goalinteger
19Total shotstotal_shotsinteger
846Accumulated fouls 1st halfaccumulated_fouls_1st_halfinteger
847Accumulated fouls 2nd halfaccumulated_fouls_2nd_halfinteger
22Foulsfoulsinteger
13Cornerscornersinteger
8Yellow cardsyellow_cardsinteger
9Red cardsred_cardsinteger
16Penalties givenpenalty_giveninteger
14Penalties scoredpenalty_scoredinteger
15Penalties missedpenalty_missedinteger
639Penalties savedpenalties_savedinteger
697Penalties unsuccessfulpenalties_unsuccessfulinteger
848Second penalties givensecond_penalties_giveninteger
849Second penalty mark goals scoredsecond_penalty_mark_goals_scoredinteger
850Second penalties missedsecond_penalties_missedinteger
851Second penalties savedsecond_penalties_savedinteger
25Free kicksfree_kicksinteger
17Own goalsown_goalsinteger
27Shots woodworkshots_woodworkinteger
28Shots blockedshots_blockedinteger
852Kick-inskick_insinteger
40Goalsgoalsinteger
681Goals 1-10mgoals_one_teninteger
682Goals 11-20mgoals_ten_twentyinteger
683Goals 21-30mgoals_twenty_thirtyinteger
684Goals 31-40mgoals_thirty_fortyinteger
34Minutes playedmins_playedinteger
10Attacksattacksinteger
718Skinskin_idinteger
626Players in playplayers_in_playinteger
471Empty netempty_netinteger

Person 29

idNameCodeData type
8Yellow cardsyellow_cardsinteger
20Shots on targetshots_on_goalinteger
21Shots off targetshots_off_goalinteger
19Total shotstotal_shotsinteger
22Foulsfoulsinteger
13Cornerscornersinteger
9Red cardsred_cardsinteger
16Penalties givenpenalty_giveninteger
14Penalties scoredpenalty_scoredinteger
15Penalties missedpenalty_missedinteger
639Penalties savedpenalties_savedinteger
697Penalties unsuccessfulpenalties_unsuccessfulinteger
848Second penalties givensecond_penalties_giveninteger
849Second penalty mark goals scoredsecond_penalty_mark_goals_scoredinteger
850Second penalties missedsecond_penalties_missedinteger
851Second penalties savedsecond_penalties_savedinteger
17Own goalsown_goalsinteger
27Shots woodworkshots_woodworkinteger
28Shots blockedshots_blockedinteger
40Goalsgoalsinteger
681Goals 1-10mgoals_one_teninteger
682Goals 11-20mgoals_ten_twentyinteger
683Goals 21-30mgoals_twenty_thirtyinteger
684Goals 31-40mgoals_thirty_fortyinteger
34Minutes playedmins_playedinteger
35Appearanceappearancebinary
838Starting lineupstarting_lineupbinary
1239Will not playwill_not_playbinary
1240Substituteis_substitutebinary