Futbol verileri için RESTful JSON API. Maçlar, canlı skorlar, istatistikler, kadrolar, transferler ve daha fazlası.
38
Endpoint
4.4M+
Maç
776K+
Oyuncu/Kişi
62K+
Takım
Genel Bakış
API, HTTP GET istekleri ile çalışır. Tüm yanıtlar JSON formatındadır ve hiyerarşik yapıda döner.
Base URL
https://livescorejson.com/api/
Protokol
HTTPS GET — Tüm parametreler query string ile gönderilir
Yanıt Formatı
JSON (UTF-8), standart zarf yapısı (meta + data)
Kimlik Doğrulama
Her istekte Authorization: Bearer veya X-API-Key zorunlu
Futbol verileri aşağıdaki hiyerarşik yapıda organize edilmiştir:
Area (Bölge/Ülke)
└─ Competition (Lig/Kupa)
└─ Season (Sezon)
└─ Round (Tur/Hafta)
└─ Group (Alt Grup — opsiyonel)
└─ Match (Maç)
├─ Events (Gol, Kart, Değişiklik...)
├─ Statistics (Top kontrolü, Şut...)
└─ Formations (Diziliş)
Maç endpoint'leri bu hiyerarşiyi iç içe JSON olarak döndürür: competition → season → round → match
GET /api/{endpoint}.php?param1=val1¶m2=val2
Authorization: Bearer ljson_live_...
Tüm endpoint parametreleri query string ile gönderilir. Kimlik doğrulama Authorization: Bearer veya X-API-Key header'ı ile yapılır.
Query string ile kullanıcı adı/şifre akışı ticari müşteri entegrasyonlarında desteklenmez.
Ticari SaaS entegrasyonları Authorization: Bearer ljson_live_... veya X-API-Key header'ı kullanır.
Kota cevap header'ları: X-Plan-Code, X-RateLimit-Limit-Minute, X-RateLimit-Remaining-Minute, X-RateLimit-Reset, X-Usage-Unit-Cost, X-Usage-Units-Current-Period. Limit aşımında 429 ve Retry-After döner.
Kimlik Doğrulama
Her API isteğinde ticari API key header olarak gönderilmelidir. Query string ile kullanıcı adı/şifre akışı dış müşteri entegrasyonlarında desteklenmez.
Header
Örnek
Açıklama
Authorization
Bearer ljson_live_...
Önerilen kimlik doğrulama yöntemi
X-API-Key
ljson_live_...
Header eklemesi kolay istemciler için alternatif
API key gizli değerdir; frontend koduna gömmeyin. Tarayıcıdan kullanım gerekiyorsa origin/IP allowlist ve kısıtlı scope kullanın.
Hızlı Başlangıç
İlk çağrını istediğin dilde yap. ljson_live_... yerine kendi API anahtarını koy. Aynı kalıp tüm endpoint'lerde çalışır — yalnız endpoint adı ve sorgu parametreleri değişir.
Yanıtın üretildiği zaman (Europe/Istanbul, +03:00, YYYY-MM-DD HH:MM:SS)
method
Çağrılan metod bilgisi ve gönderilen parametreler
data
Endpoint'e göre değişen veri objesi (competition, area, team vb.)
Veri tazeliğini ölçme: canlı endpoint'ler (get_matches_live, get_matches_live_updates) bir X-Data-Event-Time yanıt header'ı döndürür — verinin kaynakta son güncellendiği anın UTC zamanı. Gerçek staleness: kendi UTC saatin − X-Data-Event-Time. (last_generated yanıt kurulum anıdır, Europe/Istanbul +03:00.)
Hata Kodları
API standart HTTP durum kodları kullanır.
Kod
Durum
Açıklama
200
OK
İstek başarılı, veri döndürüldü
400
Bad Request
Eksik veya geçersiz parametre
401
Unauthorized
Eksik veya geçersiz API key
403
Forbidden
Hesap devre dışı veya abonelik süresi dolmuş
500
Server Error
Sunucu tarafı hata
Hata durumunda yanıt:
{ "error": "Eksik parametre: type" }
Kimlik (ID) Kararlılığı
Oyuncu, takım, lig ve sezon ID'leri küresel olarak kararlı ve kalıcıdır — takım, sezon veya lig boyunca değişmez. Kendi eşleme/normalize katmanını kurmana gerek yok: tek bir ID, API'nin her yerinde aynı varlığı işaret eder; kendi veritabanında foreign key olarak güvenle saklayabilirsin.
ID
Şunlar boyunca kararlı
Kullanımı
player_id
oyuncunun yer aldığı her kulüp, sezon ve lig
oyuncunun tüm kariyeri, istatistikleri ve transferleri için tek anahtar
team_id
lig, kupa ve tüm sezonlar
her bağlamda kulüp için kalıcı anahtar
competition_id
tüm sezonları
bir lig/kupa için kalıcı anahtar
season_id
maçlar, tablolar, kadrolar ve ilgili tüm endpoint'ler
tek bir sezon için kalıcı anahtar
Kanıt: tek player_id, tüm kariyer
get_career'a verilen tek bir player_id, oyuncunun oynadığı her kulüp, lig ve sezonu döndürür — aynı ID, asla takıma/sezona göre yeniden kapsanmaz:
GET /api/get_career.php?type=player&id={player_id}→ data.person.career[] — birden çok satır;team_id/competition_id/season_id farklı, ama hepsi aynı player_id altında
Aynı player_id doğrudan get_player_statistics, get_transfers ve get_squads'ta da çalışır — herhangi bir takım/sezon filtresinden bağımsız.
ID'ler kalıcıdır ve foreign key olarak kullanmak güvenlidir. (Derin tarihsel veride nadir varlık birleştirmeleri en-iyi-çaba ile ele alınır.)
SDK ve Araçlar
Resmi ince SDK'lar (sıfır bağımlılık) ve tüm endpoint'leri kapsayan, içe aktarmaya hazır Postman koleksiyonu.
Postman Koleksiyonu
.json indir — Postman'a aktar, baseUrl ve bearerToken'ı ayarla, her endpoint'i çağır.
JavaScript / TypeScript
livescorejson.js — Node 18+ ve tarayıcılar, fetch kullanır, WebSocket yardımcısı dahil.
Python
livescorejson.py — Python 3.7+, yalnız standart kütüphane (pip install yok).
OpenAPI Spec
openapi.json — OpenAPI 3.0.3; openapi-generator ile istediğin dilde istemci üret.
Gömülebilir Widget'lar
Widget builder — <iframe> ile hazır canlı puan durumu & skorlar, sayfada API key yok. Light/dark, çok dilli.
JavaScript SDK
import { LiveScoreJSON } from "./livescorejson.js";
const api = new LiveScoreJSON({ apiKey: "ljson_live_..." });
const live = await api.getMatchesLive({ lang: "tr" });
console.log(live.data);
Python SDK
from livescorejson import LiveScoreJSON
api = LiveScoreJSON(api_key="ljson_live_...")
print(api.get_matches_live(lang="tr")["data"])
get_areas
Bölge ve ülke listesini döndürür. Maçların, takımların ve liglerin bağlı olduğu coğrafi bölgeler.
GET/api/get_areas.php
Parametreler
Parametre
Tip
Zorunlu
Açıklama
area_id
int
Opsiyonel
Belirli bir bölge. Verilmezse tüm bölgeler döner.
Yanıt Yapısı
data → area[]
Alan
Tip
Açıklama
area_id
int
Bölge ID
name
string
Bölge/ülke adı (İngilizce)
countrycode
string
ISO ülke kodu (2 harf)
Örnek İstek
GET /api/get_areas.php?area_id=221
get_competitions
Lig ve kupa listesini döndürür. Bölgeye veya türe göre filtrelenebilir.
GET/api/get_competitions.php
Parametreler
Parametre
Tip
Zorunlu
Açıklama
area_id
int
Opsiyonel
Bölgeye göre filtre
type
string
Opsiyonel
Tür filtresi (örn: league, cup)
Yanıt Yapısı
data → competition[]
Alan
Tip
Açıklama
competition_id
int
Lig/kupa ID
name
string
Lig adı
soccertype
string
Futbol türü
teamtype
string
Takım türü (club/national)
display_order
int
Görüntüleme sırası
type
string
Tür (league, cup, ...)
format
string
Format
area_id
int
Bağlı bölge ID
area_name
string
Bölge adı
Örnek İstek
GET /api/get_competitions.php?area_id=221
get_seasons
Bir yarışmanın sezonlarını döndürür. Yarışma bilgisi ile iç içe sarılmış olarak gelir.
GET/api/get_seasons.php
Parametreler
Parametre
Tip
Zorunlu
Açıklama
competition_id
int
Opsiyonel
Yarışmaya göre filtre. Verilmezse tüm sezonlar.
active
string
Opsiyonel
yes = sadece aktif sezonlar (end_date ≥ bugün)
Yanıt Yapısı
data → competition[] → season[]
Alan
Tip
Açıklama
season_id
int
Sezon ID
name
string
Sezon adı (örn: "2025/2026")
start_date
date
Başlangıç tarihi
end_date
date
Bitiş tarihi
service_level
string
Veri servis seviyesi
Örnek İstek
GET /api/get_seasons.php?competition_id=8&active=yes
get_rounds
Bir sezonun turlarını (hafta, eleme turu vb.) döndürür.
GET/api/get_rounds.php
Parametreler
Parametre
Tip
Zorunlu
Açıklama
season_id
int
Zorunlu
Sezon ID
Yanıt Yapısı
data → competition[] → season[] → round[]
Alan
Tip
Açıklama
round_id
int
Tur ID
name
string
Tur adı
start_date
date
Başlangıç tarihi
end_date
date
Bitiş tarihi
type
string
Tur tipi
ordermethod
string
Sıralama metodu
groups
string
Grup bilgisi
has_outgroup_matches
boolean
Grup dışı maç var mı
Örnek İstek
GET /api/get_rounds.php?season_id=24922
get_groups
Bir tur veya sezondaki alt grupları döndürür (Şampiyonlar Ligi grupları gibi).
GET/api/get_groups.php
Parametreler
Parametre
Tip
Zorunlu
Açıklama
round_id
int
Opsiyonel
Tura göre filtre
season_id
int
Opsiyonel
Sezona göre filtre (tüm turları kapsar)
Yanıt Yapısı
data → group[]
Alan
Tip
Açıklama
group_id
int
Grup ID
name
string
Grup adı (örn: "Group A")
round_id
int
Bağlı tur ID
get_teams
Takım bilgilerini döndürür. Bölge, sezon veya yarışma bazında filtrelenebilir.
GET/api/get_teams.php
Parametreler
Parametre
Tip
Zorunlu
Açıklama
type
string
Opsiyonel
area | season | competition
id
int
Opsiyonel
type'a göre filtre ID'si
team_id
int
Opsiyonel
Tek bir takım getir
Yanıt Yapısı
data → team[]
Alan
Tip
Açıklama
team_id
int
Takım ID
club_name
string
Takım adı
short_name
string
Kısa ad
country
string
Ülke
founded
string
Kuruluş yılı
website
string
Web sitesi
telephone
string
Telefon
venue_id
int
Stad ID
soccertype
string
Futbol türü
teamtype
string
Takım türü (club/national)
Örnek İstek
GET /api/get_teams.php?type=season&id=24922
get_venues
Stadyum bilgilerini döndürür.
GET/api/get_venues.php
Parametreler
Parametre
Tip
Zorunlu
Açıklama
type
string
Opsiyonel
area | season
id
int
Opsiyonel
type'a göre filtre ID'si
venue_id
int
Opsiyonel
Tek stadyum
Yanıt Yapısı
data → venue[]
Alan
Tip
Açıklama
venue_id
int
Stadyum ID
name
string
Stadyum adı
city
string
Şehir
capacity
int
Kapasite
maps_geocode_latitude
float
Enlem
maps_geocode_longitude
float
Boylam
country_code
string
Ülke kodu
get_matches
Maçları hiyerarşik yapıda döndürür. En çok kullanılan endpoint. Çeşitli filtre seçenekleri sunar.
Market adı (ör: Maç Sonucu, Çifte Şans, 2.5 Gol Alt/Üst)
MBS
int
Bu market için MBS
Outcomes[]
array
Sonuç seçenekleri
Outcomes[].OutcomeName
string
Seçenek adı (ör: 1, X, 2, Alt, Üst)
Outcomes[].Odd
float
Oran değeri
Yaygın market tipleri: Maç Sonucu, Çifte Şans, İlk Yarı/Maç Sonucu, 2.5 Gol Alt/Üst, Karşılıklı Gol, Handikaplı Maç Sonucu, Korner Alt/Üst, Kart Alt/Üst, Tek/Çift, 1.Yarı Sonucu vb.
İddaa verisi olmayan maçlarda iddaa alanı dönmez. Tüm maçlarda iddaa verisi bulunmaz — sadece İddaa programındaki maçlar.
Örnek İstekler
// Premier League 2025/2026 tüm maçları
GET /api/get_matches.php?type=season&id=24922// Manchester United ev sahibi maçları (Ocak-Mart)
GET /api/get_matches.php?type=team&id=362&home_only=yes&start_date=2026-01-01&end_date=2026-03-31// Tek maç (event'siz)
GET /api/get_matches.php?type=match&id=3456789&detailed=no// Tek maç + İddaa oranları
GET /api/get_matches.php?type=match&id=4948913&iddaa=yes
get_matches_live Canlı
Belirli bir günün maçlarını canlı skorlarıyla döndürür. 30 saniye aralıklarla güncellenir.
data → competition[] → season[] → round[] → match[]
Yanıt yapısı get_matches ile aynıdır.
Canlı skorlar 30 saniye aralıklarla güncellenir. Polling yaparken bu aralığı aşmamaya dikkat edin.
İddaa oranları yapısı için get_matches bölümündeki İddaa Oranları Yapısı accordion'una bakın.
Örnek İstekler
// Bugünün tüm canlı maçları
GET /api/get_matches_live.php?date=2026-04-16&now_playing=yes// Bugünün maçları + İddaa oranları
GET /api/get_matches_live.php?date=2026-04-16&iddaa=yes
get_matches_live_updates Delta
Belirtilen zamandan sonra güncellenen maçları döndürür. Bandwidth tasarrufu için idealdir.
GET/api/get_matches_live_updates.php
Parametreler
Parametre
Tip
Zorunlu
Açıklama
last_updated
yyyy-mm-dd hh:mm:ss
Zorunlu
Son güncelleme zamanı. Bu zamandan sonra değişen maçlar döner.
Yanıt Yapısı
data → next_since + data → competition[] → season[] → round[] → match[]
Alan
Tip
Açıklama
data.next_since
yyyy-mm-dd hh:mm:ss
Sunucunun verdiği otoritatif imleç (cursor). Bir sonraki poll'de bunu aynen last_updated olarak gönder — kendi saatini hesaplama, atlanan/çift-çekilen update olmaz. Ayrıca X-Next-Since header'ı olarak da döner.
Polling Döngüsü
İlk istek: günün başlangıcını (ya da geçmiş bir zamanı) gönder. Sonra sunucunun döndürdüğü next_since'i geçmeye devam et:
# 1) ilk 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) sonraki poll — next_since'i tekrar kullan, sende saat hesabı yok
GET /api/get_matches_live_updates.php?last_updated=2026-04-16 15:30:12
Bandwidth Tasarrufu (koşullu istek)
Her yanıt bir ETag taşır. Onu If-None-Match olarak geri gönder; son poll'den beri hiçbir şey değişmediyse API gövdesiz 304 Not Modified döner — boşta poll'ler neredeyse bedava olur.
GET /api/get_matches_live_updates.php?last_updated=2026-04-16 15:30:12
If-None-Match: "<önceki-yanıttaki-etag>"← 304 Not Modified (gövde yok)
En ucuz canlı polling için next_since + If-None-Match'i birlikte kullan. Hiç poll'lemeden gerçek-zamanlı push için WebSocket kanalını kullan.
get_match_statistics
Bir maçın detaylı istatistiklerini döndürür (top kontrolü, şut, korner vb.).
GET/api/get_match_statistics.php
Parametreler
Parametre
Tip
Zorunlu
Açıklama
id
int
Zorunlu
Maç ID
Yanıt Yapısı
data → competition[] → ... → match → data[]
Alan
Tip
Açıklama
type
string
İstatistik türü (ball_possession, shots_on_target, corners...)
value_team_A
string
Ev sahibi değer
value_team_B
string
Konuk değer
Örnek İstek
GET /api/get_match_statistics.php?id=3456789
get_match_formations
Bir maçın kadro dizilişini ve maç bilgilerini (hakem, stadyum, teknik direktör) döndürür.
GET/api/get_match_formations.php
Parametreler
Parametre
Tip
Zorunlu
Açıklama
id
int
Zorunlu
Maç ID
Yanıt Yapısı
data → competition[] → ... → match → formation[] + matchinfo[]
Alan
Tip
Açıklama
team_id
int
Takım ID
person_id
int
Oyuncu ID
position_x
int
Saha X koordinatı
position_y
int
Saha Y koordinatı
position_name
string
Pozisyon adı (GK, DF, MF, FW)
get_match_extra
Maçın ek bilgilerini döndürür: stadyum, seyirci, hava durumu, hakem.
Kadro değişikliklerini döndürür. Belirtilen zamandan sonra güncellenen kayıtlar.
GET/api/get_squads_changes.php
Parametreler
Parametre
Tip
Zorunlu
Açıklama
type
string
Zorunlu
match | season
id
int
Zorunlu
match_id veya season_id
last_updated
yyyy-mm-dd hh:mm:ss
Opsiyonel
Delta zamanı
Yanıt Yapısı
Yanıt yapısı get_squads ile aynıdır. Sadece güncellenen kayıtlar döner.
get_career
Oyuncu veya takım kariyer istatistiklerini döndürür.
GET/api/get_career.php
Parametreler
Parametre
Tip
Zorunlu
Açıklama
type
string
Zorunlu
player | team
id
int
Zorunlu
person_id veya team_id
Yanıt Yapısı
data → person|team → career[]
Alan
Tip
Açıklama
season_id
int
Sezon ID
competition_id
int
Yarışma ID
team_id
int
Takım ID
appearances
int
Maç sayısı
goals
int
Gol
assists
int
Asist
Örnek İstek
// Mohamed Salah'ın kariyer istatistikleri
GET /api/get_career.php?type=player&id=174352
get_predictions İstatistiksel Model
Maç sonucu olasılıkları (1X2), 2.5 alt/üst, karşılıklı gol ve en olası skorlar — kendi istatistiksel modelimizle (son form üzerine Poisson + lig ev/dep ortalaması) hesaplanır. Bilgilendirme amaçlı bir tahmindir, bahis tavsiyesi değildir.
Bu bir istatistiksel modeldir (son form, Poisson); xG/ML ürünü değildir ve kaynaklı tahmin değildir. 210B maç üzerinde backtest edildi (%51.7 1X2 isabet, ev-yanlılığı baseline'ını geçiyor). Olasılıksal bir sinyal olarak kullanın, garanti değil.
GET/api/get_predictions.php
Parametreler
Parametre
Tip
Zorunlu
Açıklama
match_id
int
Zorunlu
Tahmin edilecek maç. Her iki takımın da en az 6 önceki oynanmış maçı olmalı.
Taraf başına model gol beklentisi (Poisson λ — xG değil)
likely_scores
array
En olası 5 skor + olasılıkları
disclaimer
string
Model + bahis-tavsiyesi-değildir notu
Örnek İstek
GET /api/get_predictions.php?match_id=4350869
get_transfers
Transfer kayıtlarını döndürür. Sezon, takım veya oyuncu bazında filtrelenebilir. Sayfalama destekler.
GET/api/get_transfers.php
Parametreler
Parametre
Tip
Zorunlu
Açıklama
type
string
Zorunlu
season | team | player
id
int
Zorunlu
İlgili ID
limit
int
Opsiyonel
Sayfa başı kayıt limiti
offset
int
Opsiyonel
Başlangıç noktası (sayfalama)
Yanıt Yapısı
data → transfer[]
Alan
Tip
Açıklama
person_id
int
Oyuncu ID
person_name
string
Oyuncu adı
from_team_id
int
Eski takım ID
from_team_name
string
Eski takım adı
to_team_id
int
Yeni takım ID
to_team_name
string
Yeni takım adı
transfer_date
date
Transfer tarihi
fee
string
Transfer ücreti
get_injuries
Sakatlık kayıtlarını döndürür. 6 farklı filtre tipi.
GET/api/get_injuries.php
Parametreler
Parametre
Tip
Zorunlu
Açıklama
type
string
Zorunlu
season | round | competition | player | team | match
id
int
Zorunlu
Seçilen type'a göre ID
Yanıt Yapısı
data → injury[]
Alan
Tip
Açıklama
person_id
int
Oyuncu ID
person_full_name
string
Oyuncu tam adı
team_id
int
Takım ID
expected_end_date
date
Tahmini dönüş tarihi
status
string
Durum
injury_type
string
Sakatlık türü
get_suspensions
Cezalı oyuncuları döndürür (kırmızı kart veya kart birikimi).
GET/api/get_suspensions.php
Parametreler
Parametre
Tip
Zorunlu
Açıklama
id
int
Zorunlu
Filtre ID'si
type
string
Opsiyonel
season | team | match | player
Yanıt Yapısı
data → suspension[]
Alan
Tip
Açıklama
person_id
int
Oyuncu ID
team_id
int
Takım ID
suspension_type
string
Tür (red_card, too_many_yellow)
remaining_matches
int
Kalan ceza maçı
get_players_abroad
Bir ülkenin yurtdışında oynayan oyuncularını döndürür.
GET/api/get_players_abroad.php
Parametreler
Parametre
Tip
Zorunlu
Açıklama
id
int
Zorunlu
Ülke/bölge area_id (alternatif: area_id)
Yanıt Yapısı
data → player[]
Alan
Tip
Açıklama
person_id
int
Oyuncu ID
name
string
Oyuncu adı
nationality_area_id
int
Uyruk
team_id
int
Mevcut takım ID
team_name
string
Mevcut takım adı
team_area_id
int
Takım ülke ID
team_area_name
string
Takım ülke adı
Örnek İstek
// Türk oyuncular yurtdışında
GET /api/get_players_abroad.php?id=221
get_referees
Hakem bilgilerini döndürür. Sezon, tur, maç veya bölge bazında.
GET/api/get_referees.php
Parametreler
Parametre
Tip
Zorunlu
Açıklama
type
string
Zorunlu
season | round | match | referee | area
id
int
Zorunlu
Seçilen type'a göre ID
Yanıt Yapısı
data → referee[]
Alan
Tip
Açıklama
person_id
int
Hakem ID
name
string
Tam ad
first_name
string
Ad
last_name
string
Soyad
nationality
string
Uyruk
date_of_birth
date
Doğum tarihi
get_trophies
Kupa ve ödül kayıtlarını döndürür.
GET/api/get_trophies.php
Parametreler
Parametre
Tip
Zorunlu
Açıklama
type
string
Zorunlu
competition | season | team | player
id
int
Zorunlu
Seçilen type'a göre ID
Yanıt Yapısı
data → trophy[]
Alan
Tip
Açıklama
trophy_id
int
Kupa ID
season_id
int
Sezon
team_id
int
Takım ID
person_id
int
Oyuncu ID (opsiyonel)
award_name
string
Ödül adı
award_year
string
Yıl
get_season_coverage
Sezon başına kapsam haritası: bir sezonda hangi veri yeteneklerinin (canlı skor, kadro, kart, transfer, sakatlık…) mevcut olduğu, zamanlaması (maç öncesi/sonrası, canlı) ve güncelleme sıklığı. Entegrasyondan önce kontrol et — alt-lig sezonunda kadro var mı diye tahmin etmek yok.
GET/api/get_season_coverage.php
Parametreler
Parametre
Tip
Zorunlu
Açıklama
season_id
int
Zorunlu
İncelenecek sezon (get_seasons'dan).
Yanıt Yapısı
data → season_coverage → capabilities[]
Alan
Tip
Açıklama
capability
string
Veri türü, ör. live_scores, lineups, cards, transfers, injuries
available
bool
Bu yeteneğin sezonda sağlanıp sağlanmadığı
timing
string
Live / Before the match / After the match / Not available