TR EN

LiveScoreJSON API Guide

RESTful JSON API for soccer data. Matches, live scores, statistics, squads, transfers and more.

38
Endpoints
4.4M+
Matches
776K+
Players/People
62K+
Teams

Overview

The API operates via HTTP GET requests. All responses are in JSON format and returned in a hierarchical structure.

Base URL
https://livescorejson.com/api/
Protocol
HTTPS GET — All parameters are sent via query string
Response Format
JSON (UTF-8), standard envelope structure (meta + data)
Authentication
Authorization: Bearer or X-API-Key is required in every request

Soccer data is organized in the following hierarchical structure:

Area (Region/Country)
 └─ Competition (League/Cup)
     └─ Season (Season)
         └─ Round (Round/Week)
             └─ Group (Subgroup — optional)
                 └─ Match (Match)
                     ├─ Events (Goals, Cards, Substitutions...)
                     ├─ Statistics (Possession, Shots...)
                     └─ Formations (Formation)

Match endpoints return this hierarchy as nested JSON: competition → season → round → match

GET /api/{endpoint}.php?param1=val1&param2=val2
Authorization: Bearer ljson_live_...

All endpoint parameters are sent via query string. Authentication is performed with the Authorization: Bearer or X-API-Key header.

Username/password flow via query string is not supported for commercial client integrations.
Commercial SaaS integrations use Authorization: Bearer ljson_live_... or X-API-Key headers.
Quota response headers: X-Plan-Code, X-RateLimit-Limit-Minute, X-RateLimit-Remaining-Minute, X-RateLimit-Reset, X-Usage-Unit-Cost, X-Usage-Units-Current-Period. 429 and Retry-After are returned on limit exceeded.

Authentication

A commercial API key must be sent as a header in every API request. Username/password flow via query string is not supported for external customer integrations.

HeaderExampleDescription
AuthorizationBearer ljson_live_...Recommended authentication method
X-API-Keyljson_live_...Alternative for clients where adding headers is easy
API key is a secret value; do not embed it in frontend code. If usage from the browser is required, use origin/IP allowlist and restricted scope.

Quick Start

Make your first call in any language. Replace ljson_live_... with your API key. The same pattern works for all endpoints — only the endpoint name and query parameters change.

cURL

curl -s "https://livescorejson.com/api/get_matches_live.php?lang=en" \
  -H "Authorization: Bearer ljson_live_..."

JavaScript (fetch)

const res = await fetch(
  "https://livescorejson.com/api/get_matches_live.php?lang=en",
  { headers: { Authorization: "Bearer ljson_live_..." } }
);
const json = await res.json();
console.log(json.data);

Python (requests)

import requests
r = requests.get(
    "https://livescorejson.com/api/get_matches_live.php",
    params={"lang": "en"},
    headers={"Authorization": "Bearer ljson_live_..."},
)
print(r.json()["data"])

PHP (cURL)

$ch = curl_init("https://livescorejson.com/api/get_matches_live.php?lang=en");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer ljson_live_..."]);
$data = json_decode(curl_exec($ch), true);
print_r($data["data"]);
Prefer our official SDKs and Postman collection (see SDKs & Tools) — they handle auth, the base URL and the WebSocket token flow for you.

Response Format

All responses are returned in the following envelope structure:

{
  "version": "3.0",
  "sport": "soccer",
  "lang": "en",
  "last_generated": "2026-04-16 12:34:56",
  "method": {
    "method_id": 2,
    "name": "get_matches",
    "parameter": [
      { "name": "type", "value": "season" },
      { "name": "id", "value": "24922" }
    ]
  },
  "data": {
    "competition": [ ... data ... ]
  }
}
FieldDescription
versionAPI version (3.0)
sportAlways soccer
last_generatedTime the response was generated (Europe/Istanbul, +03:00, YYYY-MM-DD HH:MM:SS)
methodCalled method info and sent parameters
dataData object changing according to the endpoint (competition, area, team etc.)
Measuring data freshness: live endpoints (get_matches_live, get_matches_live_updates) return an X-Data-Event-Time response header — the UTC time the underlying data was last updated at source. Measure true staleness as your current UTC time − X-Data-Event-Time. (last_generated is the response build time in Europe/Istanbul, +03:00.)

Error Codes

The API uses standard HTTP status codes.

CodeStatusDescription
200OKRequest successful, data returned
400Bad RequestMissing or invalid parameter
401UnauthorizedMissing or invalid API key
403ForbiddenAccount disabled or subscription expired
500Server ErrorServer-side error

Response in case of error:

{ "error": "Missing parameter: type" }

Entity ID Stability

Player, team, competition and season IDs are globally stable and persistent — they do not change across teams, seasons or competitions. You never have to build a mapping or normalization layer: one ID identifies the same entity everywhere in the API, so you can safely store it as a foreign key in your own database.

IDStable acrossUse it as
player_idevery club, season and competition the player appears ina single key for a player's full career, stats and transfers
team_idleague, cup and all seasonsa permanent key for a club in any context
competition_idall of its seasonsa permanent key for a league/cup
season_idmatches, tables, squads and every related endpointa permanent key for a single season

Proof: one player_id, the whole career

A single player_id passed to get_career returns every club, competition and season the player has played in — the same ID, never re-scoped per team or season:

GET /api/get_career.php?type=player&id={player_id}
→ data.person.career[] — many rows spanning multiple
  team_id / competition_id / season_id, all under the same player_id

The same player_id also works directly in get_player_statistics, get_transfers and get_squads — independently of any team or season filter.

IDs are persistent and safe to use as foreign keys. (Rare entity merges in deep historical data are handled on a best-effort basis.)

SDKs & Tools

Official thin SDKs (zero dependencies) and a ready-to-import Postman collection covering every endpoint.

Postman Collection
Download .json — import into Postman, set baseUrl and bearerToken, call every endpoint.
JavaScript / TypeScript
livescorejson.js — Node 18+ and browsers, uses fetch, includes a WebSocket helper.
Python
livescorejson.py — Python 3.7+, standard library only (no pip install).
OpenAPI Spec
openapi.json — OpenAPI 3.0.3; generate a client in any language with openapi-generator.
Embeddable Widgets
Widget builder — drop-in live standings & scores via <iframe>, no API key in the page. Light/dark, multi-language.

JavaScript SDK

import { LiveScoreJSON } from "./livescorejson.js";
const api = new LiveScoreJSON({ apiKey: "ljson_live_..." });
const live = await api.getMatchesLive({ lang: "en" });
console.log(live.data);

Python SDK

from livescorejson import LiveScoreJSON
api = LiveScoreJSON(api_key="ljson_live_...")
print(api.get_matches_live(lang="en")["data"])

get_areas

Returns the list of regions and countries. Geographical regions that matches, teams, and leagues are connected to.

GET /api/get_areas.php

Parameters

ParameterTypeRequiredDescription
area_idintOptionalA specific region. If not provided, all regions are returned.

Response Structure

data → area[]
FieldTypeDescription
area_idintRegion ID
namestringRegion/country name (English)
countrycodestringISO country code (2 letters)

Example Request

GET /api/get_areas.php?area_id=221

get_competitions

Returns the list of leagues and cups. Can be filtered by region or type.

GET /api/get_competitions.php

Parameters

ParameterTypeRequiredDescription
area_idintOptionalFilter by region
typestringOptionalType filter (e.g., league, cup)

Response Structure

data → competition[]
FieldTypeDescription
competition_idintLeague/cup ID
namestringLeague name
soccertypestringSoccer type
teamtypestringTeam type (club/national)
display_orderintDisplay order
typestringType (league, cup, ...)
formatstringFormat
area_idintConnected region ID
area_namestringRegion name

Example Request

GET /api/get_competitions.php?area_id=221

get_seasons

Returns the seasons of a competition. Comes wrapped nested with competition info.

GET /api/get_seasons.php

Parameters

ParameterTypeRequiredDescription
competition_idintOptionalFilter by competition. If not provided, all seasons.
activestringOptionalyes = only active seasons (end_date ≥ today)

Response Structure

data → competition[] → season[]
FieldTypeDescription
season_idintSeason ID
namestringSeason name (e.g.: "2025/2026")
start_datedateStart date
end_datedateEnd date
service_levelstringData service level

Example Request

GET /api/get_seasons.php?competition_id=8&active=yes

get_rounds

Returns the rounds of a season (week, elimination round etc.).

GET /api/get_rounds.php

Parameters

ParameterTypeRequiredDescription
season_idintRequiredSeason ID

Response Structure

data → competition[] → season[] → round[]
FieldTypeDescription
round_idintRound ID
namestringRound name
start_datedateStart date
end_datedateEnd date
typestringRound type
ordermethodstringRank method
groupsstringGroup info
has_outgroup_matchesbooleanAny non-group matches

Example Request

GET /api/get_rounds.php?season_id=24922

get_groups

Returns the subgroups in a round or season (like Champions League groups).

GET /api/get_groups.php

Parameters

ParameterTypeRequiredDescription
round_idintOptionalFilter by round
season_idintOptionalFilter by season (covers all rounds)

Response Structure

data → group[]
FieldTypeDescription
group_idintGroup ID
namestringGroup name (e.g.: "Group A")
round_idintConnected round ID

get_teams

Returns team information. Can be filtered by region, season, or competition.

GET /api/get_teams.php

Parameters

ParameterTypeRequiredDescription
typestringOptionalarea | season | competition
idintOptionalFilter ID according to type
team_idintOptionalGet a single team

Response Structure

data → team[]
FieldTypeDescription
team_idintTeam ID
club_namestringTeam name
short_namestringShort name
countrystringCountry
foundedstringFounded year
websitestringWebsite
telephonestringTelephone
venue_idintStadium ID
soccertypestringSoccer type
teamtypestringTeam type (club/national)

Example Request

GET /api/get_teams.php?type=season&id=24922

get_venues

Returns stadium information.

GET /api/get_venues.php

Parameters

ParameterTypeRequiredDescription
typestringOptionalarea | season
idintOptionalFilter ID according to type
venue_idintOptionalSingle stadium

Response Structure

data → venue[]
FieldTypeDescription
venue_idintVenue ID
namestringVenue name
citystringCity
capacityintCapacity
maps_geocode_latitudefloatLatitude
maps_geocode_longitudefloatLongitude
country_codestringCountry code

get_matches

Returns matches in a hierarchical structure. Most commonly used endpoint. Offers various filtering options.

GET /api/get_matches.php

Parameters

ParameterTypeRequiredDescription
typestringRequiredarea | season | round | group | match | team
idintRequiredID value based on selected type
start_dateyyyy-mm-ddOptionalStart date filter
end_dateyyyy-mm-ddOptionalEnd date filter
detailedstringOptionalyes (default) | no — Include events
home_onlystringOptionalyes = home matches only (type=team)
away_onlystringOptionalyes = away matches only (type=team)
iddaastringOptionalyes = Include betting odds (Mackolik source)

Response Structure

data → competition[] → season[] → round[] → match[]
FieldTypeDescription
match_idintMatch ID
date_utcdateMatch date (UTC)
time_utctimeMatch time (UTC)
statusstringFixture | Playing | Played | Postponed | Cancelled | Suspended
team_A_idintHome team ID
team_B_idintAway team ID
team_A_namestringHome team name
team_B_namestringAway team name
fs_A / fs_BintFull time score
hts_A / hts_BintHalf time score
ets_A / ets_BintExtra time score
ps_A / ps_BintPenalty score

There can be 6 event groups under each match:

GroupCodesDescription
lineupsLStarting 11 lineup
lineups_benchSUBSubstitute players
goalsG, PG, OGGoals (normal, penalty, own goal)
substitutionsSI, SOPlayer substitutions (in/out)
bookingsYC, Y2C, RCCards (yellow, double yellow, red)
penalty_shootoutPSG, PSMPenalty shootouts (goal/missed)

Each event: event_id, code, person, person_id, team_id, minute, minute_extra, shirtnumber

iddaa object is added to matched matches. Source: Mackolik (arsiv.mackolik.com). Updated hourly.

FieldTypeDescription
iddaa.mbsintMinimum Bet Count (1–5)
iddaa.fetched_atdatetimeLast update time (UTC)
iddaa.markets[]arrayList of bet markets (~50 markets)

Each market object:

FieldTypeDescription
MarketType.IdintMarket type ID
MarketType.NamestringMarket name (e.g.: Match Result, Double Chance, 2.5 Goal Under/Over)
MBSintMBS for this market
Outcomes[]arrayOutcome options
Outcomes[].OutcomeNamestringOption name (e.g.: 1, X, 2, Under, Over)
Outcomes[].OddfloatOdd value

Common market types: Match Result, Double Chance, First Half/Match Result, 2.5 Goal Under/Over, Both Teams to Score, Handicap Match Result, Corner Under/Over, Card Under/Over, Odd/Even, 1st Half Result etc.

The iddaa field is not returned for matches without betting odds. Betting odds are only available for matches in the official betting program.

Example Requests

// All Premier League 2025/2026 matches
GET /api/get_matches.php?type=season&id=24922

// Manchester United home matches (January-March)
GET /api/get_matches.php?type=team&id=362&home_only=yes&start_date=2026-01-01&end_date=2026-03-31

// Single match (without events)
GET /api/get_matches.php?type=match&id=3456789&detailed=no

// Single match + Betting odds
GET /api/get_matches.php?type=match&id=4948913&iddaa=yes

get_matches_live  Live

Returns matches of a specific day with live scores. Updated at 30-second intervals.

GET /api/get_matches_live.php

Parameters

ParameterTypeRequiredDescription
dateyyyy-mm-ddOptionalDate. Default: today.
detailedstringOptionalyes (default) | no
now_playingstringOptionalyes = only currently playing
matchtypestringOptionallive | fixture | all
iddaastringOptionalyes = Include betting odds (Mackolik source)

Response Structure

data → competition[] → season[] → round[] → match[]

Response structure is the same as get_matches.

Live scores are updated at 30-second intervals. Be careful not to exceed this interval when polling.

For betting odds structure, see the Betting Odds Structure accordion in the get_matches section.

Example Requests

// All currently playing live matches for today
GET /api/get_matches_live.php?date=2026-04-16&now_playing=yes

// Today's matches + Betting odds
GET /api/get_matches_live.php?date=2026-04-16&iddaa=yes

get_matches_live_updates  Delta

Returns matches updated after the specified time. Ideal for bandwidth saving.

GET /api/get_matches_live_updates.php

Parameters

ParameterTypeRequiredDescription
last_updatedyyyy-mm-dd hh:mm:ssRequiredLast update time. Matches that changed after this time are returned.

Response Structure

data → next_since  +  data → competition[] → season[] → round[] → match[]
FieldTypeDescription
data.next_sinceyyyy-mm-dd hh:mm:ssServer-authoritative cursor. Pass this exact value as last_updated on your next poll — no client-side clock math, no skipped or double-fetched updates. Also returned as the X-Next-Since header.

Polling Loop

First request: send the start of the day (or any past time). Then keep passing the next_since the server returns:

# 1) first poll
GET /api/get_matches_live_updates.php?last_updated=2026-04-16 00:00:00
→ data.next_since = "2026-04-16 15:30:12"

# 2) next poll — reuse next_since, no clock math on your side
GET /api/get_matches_live_updates.php?last_updated=2026-04-16 15:30:12

Bandwidth Saving (conditional requests)

Every response carries an ETag. Send it back as If-None-Match; when nothing changed since your last poll the API returns 304 Not Modified with an empty body — so idle polls cost almost nothing.

GET /api/get_matches_live_updates.php?last_updated=2026-04-16 15:30:12
If-None-Match: "<etag-from-previous-response>"

← 304 Not Modified   (no body)
Combine next_since + If-None-Match for the cheapest possible live polling. For true real-time push (no polling at all), use the WebSocket channel.

get_match_statistics

Returns detailed statistics of a match (possession, shots, corners etc.).

GET /api/get_match_statistics.php

Parameters

ParameterTypeRequiredDescription
idintRequiredMatch ID

Response Structure

data → competition[] → ... → match → data[]
FieldTypeDescription
typestringStatistic type (ball_possession, shots_on_target, corners...)
value_team_AstringHome value
value_team_BstringAway value

Example Request

GET /api/get_match_statistics.php?id=3456789

get_match_formations

Returns the formations and match info (referee, venue, manager).

GET /api/get_match_formations.php

Parameters

ParameterTypeRequiredDescription
idintRequiredMatch ID

Response Structure

data → competition[] → ... → match → formation[] + matchinfo[]
FieldTypeDescription
team_idintTeam ID
person_idintPlayer ID
position_xintPitch X coordinate
position_yintPitch Y coordinate
position_namestringPosition name (GK, DF, MF, FW)

get_match_extra

Returns extra info about the match: venue, attendance, weather, referee.

GET /api/get_match_extra.php

Parameters

ParameterTypeRequiredDescription
idintRequiredMatch ID

Response Structure

data → competition[] → ... → match → matchinfo
FieldTypeDescription
attendanceintAttendance
weather_codestringWeather code
weather_tempstringTemperature
venue_idintVenue ID
venue_namestringVenue name
referee_idintReferee ID

get_tables

Returns the standings/league table. By season or round.

GET /api/get_tables.php

Parameters

ParameterTypeRequiredDescription
typestringOptionalseason (default) | round
idintRequiredseason_id or round_id
group_idintOptionalSub-group filter

Response Structure

data → competition[] → season[] → round[] → resultstable → ranking[]
FieldTypeDescription
rankintRank
team_idintTeam ID
club_namestringTeam name
matches_totalintMatches played
matches_wonintWins
matches_drawintDraws
matches_lostintLosses
goals_prointGoals for
goals_againstintGoals against
pointsintPoints

Example Request

GET /api/get_tables.php?type=season&id=24922

get_tables_live  Live

Live standings. Takes ongoing matches into account to calculate how the table would look if matches ended with current scores.

GET /api/get_tables_live.php

Parameters

ParameterTypeRequiredDescription
typestringOptionalseason (default) | round
idintRequiredseason_id or round_id

Response Structure

The response structure is the same as get_tables.

Rankings are finalized automatically when matches finish. If no live matches, it returns the same result as get_tables.

get_player_statistics  Real-Time Calculation

Player statistics (goals, assists, cards). Calculated in real-time from match events, no caching.

GET /api/get_player_statistics.php

Parameters

ParameterTypeRequiredDescription
typestringRequiredseason | round
idintRequiredseason_id or round_id
team_idintOptionalFilter by team
player_idintOptionalSingle player
limitintOptionalTop N players (e.g. 10)

Statistic Types

stat_typeScopeDescription
goalsG + PGNormal + penalty goals (excluding own goals)
assistsASAssists
yellow_cardsYC + Y2CYellow + double yellow cards
red_cardsRCRed cards

Response Structure

data → competition[] → season[] → player_statistic[]
FieldTypeDescription
person_idintPlayer ID
personstringPlayer name
team_idintTeam ID
team_namestringTeam name
stat_typestringStatistic type
countintCount
rankintRank
In case of transfer, the player is assigned to the team where they have the most events.

Example Request

// Premier League top scorers (Top 10)
GET /api/get_player_statistics.php?type=season&id=24922&limit=10

get_team_statistics

Returns detailed season-based statistics of a team.

GET /api/get_team_statistics.php

Parameters

ParameterTypeRequiredDescription
team_idintRequiredTeam ID
season_idintOptionalFilter by season

Response Structure

data → team → team_statistic[]
FieldTypeDescription
stat_typestringStatistic type (total_matches, home_won_percent, avg_goals...)
stat_valuestringValue
season_idintSeason ID

Example Request

GET /api/get_team_statistics.php?team_id=362&season_id=24922

get_head2head  Real-Time Calculation

Calculates head-to-head match statistics between two teams. Calculated in real-time from match data.

GET /api/get_head2head.php

Parameters

ParameterTypeRequiredDescription
team1_idintRequiredFirst team ID (alternative: team_A_id)
team2_idintRequiredSecond team ID (alternative: team_B_id)
competition_idintOptionalFilter by competition
start_dateyyyy-mm-ddOptionalStart date filter
end_dateyyyy-mm-ddOptionalEnd date filter

Response Structure

data → head_2_head[]

Matches played, win/draw distribution, home/away performance, goal statistics.

Example Request

// Manchester United vs Liverpool
GET /api/get_head2head.php?team1_id=362&team2_id=364

get_rankings

Returns FIFA/UEFA world rankings.

GET /api/get_rankings.php

Parameters

ParameterTypeRequiredDescription
typestringOptionalRank type filter
yearintOptionalFilter by year
monthintOptionalFilter by month

Response Structure

data → ranking[]
FieldTypeDescription
rankintRank
area_idintCountry ID
team_idintNational team ID
pointsfloatPoints
ranking_datedateRank date

Example Request

GET /api/get_rankings.php?year=2026&month=4

get_squads

Returns team squads. Season-based player list.

GET /api/get_squads.php

Parameters

ParameterTypeRequiredDescription
typestringOptionalseason (default)
idintRequiredseason_id
team_idintOptionalSingle team squad

Response Structure

data → team[] → person[]
FieldTypeDescription
person_idintPlayer ID
namestringFull name
first_namestringFirst name
last_namestringLast name
nationality_idintNationality (area_id)
date_of_birthdateDate of birth
heightintHeight (cm)
weightintWeight (kg)
footstringFoot (left/right/both)
shirtnumberintShirt number
rolestringPosition (Goalkeeper, Defender, Midfielder, Attacker)
statusstringSquad status (active, on_loan...)

Example Request

GET /api/get_squads.php?id=24922&team_id=362

get_squads_changes  Delta

Returns squad changes. Records updated after the specified time.

GET /api/get_squads_changes.php

Parameters

ParameterTypeRequiredDescription
typestringRequiredmatch | season
idintRequiredmatch_id or season_id
last_updatedyyyy-mm-dd hh:mm:ssOptionalDelta time

Response Structure

The response structure is the same as get_squads. Only updated records are returned.

get_career

Returns player or team career statistics.

GET /api/get_career.php

Parameters

ParameterTypeRequiredDescription
typestringRequiredplayer | team
idintRequiredperson_id or team_id

Response Structure

data → person|team → career[]
FieldTypeDescription
season_idintSeason ID
competition_idintCompetition ID
team_idintTeam ID
appearancesintAppearances
goalsintGoals
assistsintAssists

Example Request

// Career statistics of Mohamed Salah
GET /api/get_career.php?type=player&id=174352

get_predictions  Statistical Model

Match outcome probabilities (1X2), over/under 2.5, both-teams-to-score and the most likely scorelines, computed by our own statistical model (Poisson on recent team form + league home/away averages). An informational forecast, not betting advice.

This is a statistical model (recent form, Poisson) — not an xG/ML product and not sourced predictions. Backtested on 210K matches (51.7% 1X2 accuracy, beating the home-bias baseline). Use it as a probabilistic signal, not a guarantee.
GET /api/get_predictions.php

Parameters

ParameterTypeRequiredDescription
match_idintRequiredThe match to predict. Both teams need at least 6 prior played matches.

Response Structure

data → prediction
FieldTypeDescription
resultobjecthome_win / draw / away_win probabilities (sum to 1)
over_under_2_5objectover / under 2.5 goals probabilities
bttsobjectBoth teams to score yes / no probabilities
projected_goalsobjectModel goal expectation per side (Poisson λ — not xG)
likely_scoresarrayTop 5 most likely scorelines with probabilities
disclaimerstringModel + not-betting-advice note

Example Request

GET /api/get_predictions.php?match_id=4350869

get_transfers

Returns transfer records. Can be filtered by season, team, or player. Supports pagination.

GET /api/get_transfers.php

Parameters

ParameterTypeRequiredDescription
typestringRequiredseason | team | player
idintRequiredRelated ID
limitintOptionalRecord limit per page
offsetintOptionalStarting point (pagination)

Response Structure

data → transfer[]
FieldTypeDescription
person_idintPlayer ID
person_namestringPlayer name
from_team_idintOld team ID
from_team_namestringOld team name
to_team_idintNew team ID
to_team_namestringNew team name
transfer_datedateTransfer date
feestringTransfer fee

get_injuries

Returns injury records. 6 different filter types.

GET /api/get_injuries.php

Parameters

ParameterTypeRequiredDescription
typestringRequiredseason | round | competition | player | team | match
idintRequiredID based on selected type

Response Structure

data → injury[]
FieldTypeDescription
person_idintPlayer ID
person_full_namestringPlayer full name
team_idintTeam ID
expected_end_datedateExpected end date
statusstringStatus
injury_typestringInjury type

get_suspensions

Returns suspended players (red card or card accumulation).

GET /api/get_suspensions.php

Parameters

ParameterTypeRequiredDescription
idintRequiredFilter ID
typestringOptionalseason | team | match | player

Response Structure

data → suspension[]
FieldTypeDescription
person_idintPlayer ID
team_idintTeam ID
suspension_typestringType (red_card, too_many_yellow)
remaining_matchesintRemaining matches suspended

get_players_abroad

Returns players from a country playing abroad.

GET /api/get_players_abroad.php

Parameters

ParameterTypeRequiredDescription
idintRequiredCountry/region area_id (alternative: area_id)

Response Structure

data → player[]
FieldTypeDescription
person_idintPlayer ID
namestringPlayer name
nationality_area_idintNationality
team_idintCurrent team ID
team_namestringCurrent team name
team_area_idintTeam country ID
team_area_namestringTeam country name

Example Request

// Turkish players abroad
GET /api/get_players_abroad.php?id=221

get_referees

Returns referee information. By season, round, match, or region.

GET /api/get_referees.php

Parameters

ParameterTypeRequiredDescription
typestringRequiredseason | round | match | referee | area
idintRequiredID based on selected type

Response Structure

data → referee[]
FieldTypeDescription
person_idintReferee ID
namestringFull name
first_namestringFirst name
last_namestringLast name
nationalitystringNationality
date_of_birthdateDate of birth

get_trophies

Returns trophy and award records.

GET /api/get_trophies.php

Parameters

ParameterTypeRequiredDescription
typestringRequiredcompetition | season | team | player
idintRequiredID based on selected type

Response Structure

data → trophy[]
FieldTypeDescription
trophy_idintTrophy ID
season_idintSeason
team_idintTeam ID
person_idintPlayer ID (optional)
award_namestringAward name
award_yearstringYear

get_season_coverage

Per-season coverage map: which data capabilities (live scores, lineups, cards, transfers, injuries…) are available for a given season, their timing (before/after the match, live) and update cadence. Check coverage before you integrate — no more guessing whether a long-tail season has lineups.

GET /api/get_season_coverage.php

Parameters

ParameterTypeRequiredDescription
season_idintRequiredThe season to inspect (from get_seasons).

Response Structure

data → season_coverage → capabilities[]
FieldTypeDescription
capabilitystringData type, e.g. live_scores, lineups, cards, transfers, injuries
availableboolWhether this capability is provided for the season
timingstringLive / Before the match / After the match / Not available
update_interval_minutesintRefresh cadence in minutes (where applicable)

Example Request

GET /api/get_season_coverage.php?season_id=27218