DataSportAPI
Docs
Your first call in one line

The free key reads yesterday for every sport, 50 calls a day. No card.

Get a free key
Every sport, one key

Complete reads all sixteen sports for $249 a month.

Take Complete
Ask in plain words

"Who won at Kempton yesterday?" Your assistant picks the tool and answers from your plan.

Connect in two minutes
Showing

Football results API

Results
Free key reads yesterdayMCP tool: resultsKept 5 minutes

Finished matches by date, with the final score.

Results returns every finished football match for a day. Leave out date and you get yesterday, which is also what the free key reads. Each row carries the final score, both sides with their ids and the competition, so one call fills a results page and every id opens the next one.

GET/v1/football/results

Try it

Your key stays in this browser and is filled in on every docs page.

GET
200 OK1903 ms2 rows shownReal answer from 2026-11-03, trimmed
{
    "data": [
        {
            "match_id": "fb_3npnahqb09",
            "league_id": "fb_9vq1mbqrgz",
            "country_name": "Brazil",
            "league_name": "Serie B",
            "season_start_year": 2026,
            "kickoff_utc": "2026-11-02T23:30:00Z",
            "kickoff_date": "2026-11-02",
            "kickoff_local_date": "2026-11-02",
            "kickoff_local_time": "23:30",
            "match_status": "finished",
            "home_team_id": "fb_mw96mceske",
            "home_team_name": "Goias",
            "away_team_id": "fb_1cycjasdqh",
            "away_team_name": "CRB",
            "home_goals": 2,
            "away_goals": 1,
            "full_time_result": null,
            "half_time_home_goals": 1,
            "half_time_away_goals": 0,
            "half_time_result": null,
            "stoppage_minutes": null,
            "is_kickoff_rescheduled": false,
            "elapsed_minutes": null,
            "home_league_position": 17,
            "away_league_position": 18,
            "away_travel_km": 1662,
            "venue_name": "Estádio da Serrinha",
            "city_name": "Goiânia",
            "latitude": -16.635209,
            "longitude": -49.265904,
            "location_precision": "ground",
            "daylight_minutes": 763,
            "sun_elevation_deg": -29.3,
            "public_holiday": null,
            "kickoff_temperature_c": null,
            "kickoff_rain_mm": null,
            "kickoff_wind_ms": null,
            "attendance": null,
            "referee_name": "Felipe Fernandes de Lima",
            "kickoff_book_pct": 1.0138,
            "regular_time_home_goals": null,
            "regular_time_away_goals": null,
            "regular_time_result": null,
            "extra_time_home_goals": null,
            "extra_time_away_goals": null,
            "shootout_home_goals": null,
            "shootout_away_goals": null,
            "statistics_status": null,
            "best_odds": {
                "home": 2.16,
                "draw": 3.8,
                "away": 3.55,
                "book_pct": 1.0078,
                "taken_utc": "2026-11-02T23:25:02Z"
            },
            "team_figures": null,
            "statistics_reason": null
        },
        {
            "match_id": "fb_3mg42m9pyn",
            "league_id": "fb_wma271b54d",
            "country_name": "Chile",
            "league_name": "Primera División",
            "season_start_year": 2026,
            "kickoff_utc": "2026-11-02T23:30:00Z",
            "kickoff_date": "2026-11-02",
            "kickoff_local_date": "2026-11-02",
            "kickoff_local_time": "23:30",
            "match_status": "finished",
            "home_team_id": "fb_hny9rc1tkt",
            "home_team_name": "Concepción",
            "away_team_id": "fb_ws0bbvakw5",
            "away_team_name": "Palestino",
            "home_goals": 1,
            "away_goals": 0,
            "full_time_result": null,
            "half_time_home_goals": 1,
            "half_time_away_goals": 0,
            "half_time_result": null,
            "stoppage_minutes": null,
            "is_kickoff_rescheduled": false,
            "elapsed_minutes": null,
            "home_league_position": 11,
            "away_league_position": 4,
            "away_travel_km": 433,
            "venue_name": "Estadio Municipal Ester Roa Concepcion",
            "city_name": "Concepcion",
            "latitude": -36.826944444444,
            "longitude": -73.050277777778,
            "location_precision": "city",
            "daylight_minutes": 819,
            "sun_elevation_deg": -1.7,
            "public_holiday": null,
            "kickoff_temperature_c": null,
            "kickoff_rain_mm": null,
            "kickoff_wind_ms": null,
            "attendance": null,
            "referee_name": null,
            "kickoff_book_pct": 1.0148,
            "regular_time_home_goals": null,
            "regular_time_away_goals": null,
            "regular_time_result": null,
            "extra_time_home_goals": null,
            "extra_time_away_goals": null,
            "shootout_home_goals": null,
            "shootout_away_goals": null,
            "statistics_status": null,
            "best_odds": {
                "home": 2.76,
                "draw": 3.5,
                "away": 2.74,
                "book_pct": 1.013,
                "taken_utc": "2026-11-02T23:25:02Z"
            },
            "team_figures": null,
            "statistics_reason": null
        }
    ],
    "meta": {
        "sport": "football",
        "endpoint": "/results",
        "count": 100,
        "page": 1,
        "per_page": 100,
        "total": 229,
        "total_pages": 3,
        "next_cursor": "MTc5MzYzODgwMDoxNTU1MjAw",
        "next_page": 2,
        "prev_page": null,
        "as_of": "2026-11-02T05:16:53Z",
        "cached": false,
        "age_seconds": 0
    }
}
No key yet? Get a free key: it reads yesterday for every sport and is filled in here once made.

Parameters

Query values this call takes. Anything else is refused with bad_param and the list it accepts.

NameTypeWhat it does
datedateoptionalOne day, written YYYY-MM-DD. Leave it out for the default day. The free key reads yesterday only.
competitionidoptionalOnly this competition, by its id from Competitions.
pageintegeroptionalWhich page of rows, from 1.
per_pageintegeroptionalRows per page, up to 100 on most lists.

Returns

Each row of data, from a real answer. Every id is ours and opens its own endpoint.

FieldTypeWhat it holds
match_ididThe match, by our id
league_ididThe competition, by our id
country_namestringWhere it is played
league_namestringThe competition
season_start_yearintegerThe year the season started
kickoff_utcdatetimeKick-off time in UTC
kickoff_datedateKickoff date
kickoff_local_datedateKickoff local date
kickoff_local_timestringKickoff local time
match_statusstringThe match state
home_team_ididThe home side, by our id
home_team_namestringThe home side
away_team_ididThe away side, by our id
away_team_namestringThe away side
home_goalsintegerHome goals at full time
away_goalsintegerAway goals at full time
full_time_resultnullH, D or A at full time
half_time_home_goalsintegerHome goals at half-time
half_time_away_goalsintegerAway goals at half-time
half_time_resultnullH, D or A at half-time
stoppage_minutesnullStoppage in metresinutes
is_kickoff_rescheduledbooleanIs kickoff rescheduled
elapsed_minutesnullElapsed in metresinutes
home_league_positionintegerHome league position
away_league_positionintegerAway league position
away_travel_kmintegerAway travel km
venue_namestringThe ground
city_namestringThe city
latitudenumberLatitude of the ground
longitudenumberLongitude of the ground
location_precisionstringLocation precision
daylight_minutesintegerDaylight in metresinutes
sun_elevation_degnumberSun elevation deg
public_holidaynullPublic holiday
kickoff_temperature_cnullKickoff temperature c
kickoff_rain_mmnullKickoff rain in metresm
kickoff_wind_msnullKickoff wind in metress
attendancenullAttendance
referee_namestringReferee name
kickoff_book_pctnumberKickoff book percent
regular_time_home_goalsnullRegular time home goals
regular_time_away_goalsnullRegular time away goals
regular_time_resultnullRegular time result
extra_time_home_goalsnullExtra time home goals
extra_time_away_goalsnullExtra time away goals
shootout_home_goalsnullShootout home goals
shootout_away_goalsnullShootout away goals
statistics_statusnullStatistics status
best_oddsobjectBest odds
team_figuresnullTeam figures
statistics_reasonnullStatistics reason
metaWhat it holds
sport, endpointWhat you asked
countRows in this answer
page, per_page, total, next_cursorWhere you are in a paged list, when it is paged
as_ofWhen the data was built
cached, age_secondsWhether this is a stored copy, and its age
accessOn the free key: what it reads, and the plan that opens the rest

Errors

Codes this call can give. Each is explained in Errors.

StatusCodeWhen
401no_keyNo key sent, or not in a form we read
401bad_keyA key we do not know
403planThe free key asked for a date other than yesterday
422bad_paramA value this call does not take
429rateOver the calls a minute for your plan
503upstreamThe data is not answering; retry after Retry-After

The free key reads yesterday. The Football plan opens live, fixtures and every date held, for $79 a month.

Add Football