Ana içeriğe atla
D1 Arena

D1 Arena

Loading...

D1 Arena

Geliştirici API'si

Topluluk

Geliştirici API'si

D1Arena verileriyle botlar, katmanlar, yayın araçları ve entegrasyonlar oluşturun.

Kimlik doğrulama

Tüm API istekleri, X-API-Key / Authorization: Bearer başlığında aktarılan bir API anahtarı gerektirir.

# Example request curl -H "X-API-Key: d1_your_api_key_here" \ https://d1arena.com/api/v1/streams

Bir API anahtarı oluşturmak için kontrol panelinizde Geliştirici Ayarları adresine gidin. En fazla 5 anahtarınız olabilir.

API istekleri, API anahtarı başına hız sınırlıdır. Sınırı aştığınızda, istekler 429 Too Many Requests başlığını Retry-After başlığıyla döndürür.

Temel URL

https://d1arena.com/api/v1

Tüm uç noktalar JSON'u döndürür. Sayfalandırılmış uç noktalar current_page, last_page ve total içeren bir meta nesnesi içerir.

Akışlar

GET /streams
Şu anda canlı yayınları listeleyin. Sayfalandırmayı ve kategori filtrelemeyi destekler.
ParametreTipAçıklama
category_idintegerOyun/kategori kimliğine göre filtrele
limitintegerSayfa başına sonuçlar (varsayılan: 20)
pageintegerSayfa numarası
Yanıt
{ "data": [ { "id": 42, "name": "ProGamer99", "user_slug": "progamer99", "profile_img": "profile/abc123.jpg", "stream_title": "Ranked Grind - Road to Champion", "stream_category_id": 5, "is_vertical_stream": false, "platform_tier": "pro" } ], "meta": { "current_page": 1, "last_page": 1, "total": 3 } }
GET /streams/{slug}
Kullanıcı adına veya bilgiye göre tek bir yayıncının canlı durumunu ve yayın ayrıntılarını alın.
Yanıt
{ "data": { "user_id": 42, "name": "ProGamer99", "slug": "progamer99", "is_live": true, "stream_title": "Ranked Grind", "category_id": 5, "is_vertical": false, "platform_tier": "pro", "profile_img": "profile/abc123.jpg" } }

Kategoriler

GET /categories
Tüm oyun kategorilerini listeleyin. Arama ve sayfalandırmayı destekler.
ParametreTipAçıklama
searchstringKategorileri ada göre filtrele
limitintegerSayfa başına sonuçlar (varsayılan: 50)
Yanıt
{ "data": [ { "id": 5, "name": "Call of Duty", "slug": "call-of-duty", "image": "categories/cod.png" } ], "meta": { "total": 24 } }

Kullanıcılar

GET /users/{slug}
Kullanıcı adı veya bilgi yoluyla bir oyuncunun herkese açık profilini ve rekabet istatistiklerini alın.
Yanıt
{ "data": { "user": { "id": 42, "name": "ProGamer99", "user_slug": "progamer99", "profile_img": "profile/abc.jpg", "bio": "Competitive FPS player", "platform_tier": "pro", "is_live": "1", "stream_title": "Ranked", "gold": 3, "silver": 1, "bronze": 0 }, "stats": { "elo_rating": 1842, "total_tournaments": 27, "win_rate": 64.5, "total_earnings": 1250.00 } } }

Klipler

GET /clips
Herkese açık klipleri listeleyin. Yayıncıya ve kategoriye göre filtrelemeyi destekler.
ParametreTipAçıklama
streamer_idintegerKlipleri yayıncının kullanıcı kimliğine göre filtreleyin
category_idintegerOyun/kategori kimliğine göre filtrele
limitintegerSayfa başına sonuçlar (varsayılan: 20)
Yanıt
{ "data": [ { "id": 99, "streamer_id": 42, "stream_category_id": 5, "title": "Insane 1v4 clutch", "slug": "insane-1v4-clutch-abc", "duration": 28, "view_count": 412, "is_auto_clip": false, "created_at": "2026-03-15T18:30:00.000000Z", "streamer": { "id": 42, "name": "ProGamer99", "user_slug": "progamer99" } } ], "meta": { "total": 156 } }
GET /clips/{slug}
Tek bir klibin ayrıntılarını tek tek alın.
Yanıt
{ "data": { "id": 99, "title": "Insane 1v4 clutch", "slug": "insane-1v4-clutch-abc", "description": "Final round comeback", "duration": 28, "view_count": 412, "streamer": { "id": 42, "name": "ProGamer99" }, "creator": { "id": 55, "name": "ClipMaster" }, "stream_category": { "id": 5, "name": "Call of Duty" } } }

Turnuvalar

GET /tournaments
Turnuvaları listeleyin. Durum ve lige göre filtrelemeyi destekler.
ParametreTipAçıklama
statusstringDuruma göre filtrele (ör. open, in_progress, completed)
league_idintegerLig kimliğine göre filtrele
limitintegerSayfa başına sonuçlar (varsayılan: 20)
Yanıt
{ "data": [ { "id": 15, "title": "Friday Night Frenzy", "tournament_type": "single_elimination", "status": "open", "registration_fee": "5.00", "no_player": 32, "team": 0, "category": { "id": 5, "name": "Call of Duty" }, "start_date": "2026-03-28T20:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 2, "total": 24 } }
GET /tournaments/{id}
Turnuva ayrıntılarını ve katılımcı sayısını alın.
Yanıt
{ "data": { "id": 15, "title": "Friday Night Frenzy", "tournament_type": "single_elimination", "status": "open", "registration_fee": "5.00", "no_player": 32, "team": 0 }, "meta": { "participant_count": 18 } }

ELO Sıralamaları

GET /elo/leaderboard
ELO sıralamasındaki liderlik tablosunu edinin. İsteğe bağlı olarak oyun kategorisine göre filtreleyin.
ParametreTipAçıklama
category_idintegerOyun/kategori kimliğine göre filtrele
limitintegerSonuç sayısı (varsayılan: 50)
Yanıt
{ "data": [ { "rank": 1, "user_id": 42, "name": "ProGamer99", "user_slug": "progamer99", "elo_rating": 2150, "wins": 45, "losses": 12, "win_rate": 78.9, "profile_img": "profile/abc123.jpg" } ], "meta": { "total": 312 } }

Ligler

GET /leagues
İsteğe bağlı durum ve kategori filtreleriyle ligleri listeleyin.
ParametreTipAçıklama
statusstringLig durumuna göre filtrele
category_idintegerOyun/kategori kimliğine göre filtrele
limitintegerSayfa başına sonuçlar (varsayılan: 20)
Yanıt
{ "data": [ { "id": 3, "name": "Spring 2026 Pro League", "status": "active", "category": { "id": 5, "name": "Call of Duty" }, "total_participants": 48, "start_date": "2026-03-01", "end_date": "2026-05-31" } ], "meta": { "current_page": 1, "last_page": 1, "total": 6 } }
GET /leagues/{id}/standings
Lig sıralamalarını alın (puanlara göre oyuncu sıralaması).
Yanıt
{ "data": [ { "id": 1, "points": 2400, "wins": 12, "losses": 3, "user": { "id": 42, "name": "ProGamer99", "user_slug": "progamer99" } } ], "meta": { "total": 48 } }

Hata Yanıtları

Tüm hatalar tutarlı bir JSON zarfı döndürür. error nesnesi her zaman makine tarafından okunabilen bir code ve insan tarafından okunabilen bir message içerir.

Hata Yanıt Formatı
{ "success": false, "error": { "code": "not_found", "message": "The requested resource could not be found." } }
Doğrulama Hata Formatı (422)
{ "success": false, "error": { "code": "validation_error", "message": "The given data was invalid.", "errors": { "category_id": ["The category id must be an integer."], "limit": ["The limit must not be greater than 100."] } } }

Durum Kodları

200
tamam — İstek başarılı oldu. Yanıt istenen verileri içeriyor.
400
Kötü İstek — İstek hatalı biçimlendirilmiş veya gerekli parametreler eksik. Ayrıntılar için error.message'i kontrol edin.
401
İzinsiz — Missing or invalid API key. Ensure you're passing a valid key in the X-API-Key header.
403
Yasak — API anahtarınız devre dışı bırakıldı veya bu kaynak için izniniz yok. kontrol edin Geliştirici Ayarları.
404
Bulunamadı — İstenen kaynak mevcut değil. Bilgi, kimlik veya uç nokta yolunu doğrulayın.
422
Doğrulama Hatası — İstek parametreleri doğrulamada başarısız oldu. error.errors nesnesi alan adlarını belirli sorunlara eşler.
429
Oran Sınırlı — Çok fazla istek var. Retry-After başlığı, yeniden denemeden önce kaç saniye bekleneceğini gösterir.
500
Sunucu Hatası — Tarafımızda beklenmeyen bir hata oluştu. Bu devam ederse, destek ekibiyle iletişime geçin.

Hata Kodları Referansı

KodHTTP DurumuAçıklama
invalid_api_key401API anahtarı eksik, hatalı biçimlendirilmiş veya mevcut değil
api_key_disabled403API anahtarı iptal edildi veya devre dışı bırakıldı
not_found404İstenilen kaynak bulunamadı
validation_error422Bir veya daha fazla istek parametresi geçersiz
rate_limited429Bu API anahtarı için istek hızı sınırı aşıldı
server_error500Dahili sunucu hatası — lütfen tekrar deneyin veya destek ekibiyle iletişime geçin

Hız Limitleri

API istekleri, API anahtarı başına hız sınırlıdır. Sınırı aştığınızda, istekler 429 Too Many Requests başlığını Retry-After başlığıyla döndürür.

Seviyeye Göre Sınırlar

Seviyeİstek / Dakika (Varsayılan)Maksimum Tuş Sayısı
Başlangıç (Ücretsiz)605
PRO605
Nihai605
Ortak605

Hız Sınırı Başlıkları

API istekleri, API anahtarı başına hız sınırlıdır. Sınırı aştığınızda, istekler 429 Too Many Requests başlığını Retry-After başlığıyla döndürür.

BaşlıkAçıklama
Retry-AfterYeniden denemeden önce beklenecek saniyeler (yalnızca 429 yanıtta mevcuttur)

En İyi Uygulamalar

Sınırlar dahilinde kalmanın ipuçları:
  • Cache responses locally — stream and tournament data doesn't change every second.
  • Uç noktaları yoklamak yerine gerçek zamanlı olaylar için webhooks'ye abone olun.
  • Mümkün olduğunda toplu istekler — daha az aramayla tam olarak ihtiyacınız olanı elde etmek için filtre parametrelerini kullanın.

Web kancaları (EventSub)

Oylama yerine gerçek zamanlı anlık bildirimlere abone olun. Bir olay meydana geldiğinde D1Arena, geri çağırma URL'nize HMAC-SHA256 ile imzalanmış bir JSON verisi içeren bir HTTP POST gönderir.

Kurulum

Geliştirici Ayarları'te webhook abonelikleri oluşturun. Her abonelik şunları gerektirir:

  • Geri arama URL'si — Sunucunuzdaki herkesin erişebildiği bir HTTPS uç noktası.
  • Etkinlikler — Abone olunacak bir veya daha fazla etkinlik türü.

You'll receive a whsec_ signing secret upon creation. Store it securely — it's shown only once.

Yük Formatı

Her webhook teslimi şu yapıya sahip bir JSON gövdesi gönderir:

{ "id": "evt_a1b2c3d4e5f6", "event": "stream.online", "created_at": "2026-03-23T14:30:00Z", "data": { // Event-specific fields (see examples below) } }

Başlıklar

Her teslimat, yönlendirme ve doğrulama için aşağıdaki başlıkları içerir:

BaşlıkAçıklama
Content-Typeapplication/json
X-D1Arena-EventEtkinlik türü (ör. stream.online)
X-D1Arena-SignatureHam istek gövdesinin HMAC-SHA256 onaltılık özeti
X-D1Arena-Signature-Versionİmza anahtarı biçimi: Mevcut abonelikler için v2 veya eski abonelikler için v1-hashed-secret
X-D1Arena-Delivery-IdBenzersiz teslimat UUID'si — tekilleştirme için kullanın
X-D1Arena-TimestampOlayın gönderildiği zamanın Unix zaman damgası

İmzaların Doğrulanması

Bir web kancasını işlemeden önce daima X-D1Arena-Signature başlığını doğrulayın. İmza HMAC-SHA256(raw_body, webhook_secret) olarak hesaplanır.

v2 teslimatları için abonelik oluşturulduğunda gösterilen whsec_ sırrını kullanın. Yükseltme öncesi v1-hashed-secret teslimatı için, önce orijinal gizli diziden SHA256(whsec_secret) hesaplayın ve elde edilen küçük harfli onaltılık özeti HMAC anahtarı olarak kullanın. v2'ye geçmek mümkün olduğunda aboneliği yeniden oluşturun.

PHP
// Get the raw body and signature header $payload = file_get_contents('php://input'); $signature = $_SERVER['HTTP_X_D1ARENA_SIGNATURE'] ?? ''; // Compute expected signature $expected = hash_hmac('sha256', $payload, $webhookSecret); // Constant-time comparison to prevent timing attacks if (!hash_equals($expected, $signature)) { http_response_code(401); exit('Invalid signature'); } $event = json_decode($payload, true);
Node.js
const crypto = require('crypto'); app.post('/webhook', (req, res) => { const payload = req.rawBody; // Ensure raw body is available const signature = req.headers['x-d1arena-signature']; const expected = crypto .createHmac('sha256', WEBHOOK_SECRET) .update(payload) .digest('hex'); if (!crypto.timingSafeEqual( Buffer.from(expected), Buffer.from(signature) )) { return res.status(401).send('Invalid signature'); } const event = JSON.parse(payload); // Process event... res.status(200).send('OK'); });
Python
import hmac, hashlib, json def handle_webhook(request): payload = request.body signature = request.headers.get('X-D1Arena-Signature', '') expected = hmac.new( WEBHOOK_SECRET.encode(), payload, hashlib.sha256 ).hexdigest() if not hmac.compare_digest(expected, signature): return HttpResponse(status=401) event = json.loads(payload) # Process event... return HttpResponse(status=200)

Mevcut Etkinlikler

EtkinlikAçıklama
stream.onlineBir yayıncı canlı yayına başladı
stream.offlineBir yayıncı çevrimdışı oldu
channel.followBir kullanıcı bir kanalı takip etti
channel.subscribeBir kanala yeni destekçi aboneliği
channel.tipBir yayıncıya ipucu gönderildi
tournament.startedTurnuva maçı başladı
tournament.endedBir turnuva sonuçlandı
tournament.match.completedBir maç sonucu kaydedildi
clip.createdCanlı yayından yeni bir klip oluşturuldu
overdrive.startedD1 Frenzy bir kanalda başladı
overdrive.level_upD1 Frenzy bir sonraki seviyeye ilerledi
overdrive.endedD1 Frenzy tamamlandı veya süresi doldu

Olay Yükü Örnekleri

stream.online

{ "id": "evt_a1b2c3d4e5f6", "event": "stream.online", "created_at": "2026-03-23T14:30:00Z", "data": { "user_id": 42, "user_slug": "progamer99", "name": "ProGamer99", "stream_title": "Ranked Grind - Road to Champion", "category_id": 5, "category_name": "Call of Duty", "protocol": "RTMP", "started_at": "2026-03-23T14:30:00Z" } }

stream.offline

{ "id": "evt_f6e5d4c3b2a1", "event": "stream.offline", "created_at": "2026-03-23T17:45:00Z", "data": { "user_id": 42, "user_slug": "progamer99", "duration_seconds": 11700, "vod_id": 281 } }

channel.follow

{ "id": "evt_c1d2e3f4a5b6", "event": "channel.follow", "created_at": "2026-03-23T15:10:00Z", "data": { "follower_id": 88, "follower_slug": "newplayer", "followed_id": 42, "followed_slug": "progamer99" } }

channel.tip

{ "id": "evt_d1e2f3a4b5c6", "event": "channel.tip", "created_at": "2026-03-23T16:20:00Z", "data": { "streamer_id": 42, "streamer_slug": "progamer99", "tipper_id": 55, "tipper_slug": "clipmaster", "amount": "5.00", "currency": "USD", "message": "Great stream!" } }

tournament.match.completed

{ "id": "evt_e1f2a3b4c5d6", "event": "tournament.match.completed", "created_at": "2026-03-23T21:15:00Z", "data": { "tournament_id": 15, "tournament_title": "Friday Night Frenzy", "match_id": 204, "round": 2, "winner": { "id": 42, "slug": "progamer99", "name": "ProGamer99" }, "loser": { "id": 77, "slug": "rival_x", "name": "Rival_X" }, "score": "3-1" } }

clip.created

{ "id": "evt_b1c2d3e4f5a6", "event": "clip.created", "created_at": "2026-03-23T15:45:00Z", "data": { "clip_id": 99, "slug": "insane-1v4-clutch-abc", "title": "Insane 1v4 clutch", "duration": 28, "streamer_id": 42, "streamer_slug": "progamer99", "creator_id": 55, "creator_slug": "clipmaster", "category_id": 5 } }

Teslimat ve Yeniden Deneme Politikası

denemeGecikmeNotlar
1. (ilk)HemenEtkinlikten birkaç saniye sonra gönderildi
2. (yeniden dene)30 saniyeİlk deneme başarısız olursa veya zaman aşımına uğrarsa
3. (yeniden dene)2 dakikaÜstel geri çekilme
4. (final)10 dakikaBaşarısız olarak işaretlemeden önceki son deneme
Important: Your endpoint must respond with a 2xx status within 10 saniye. Non-2xx responses or timeouts trigger a retry. After 10 ardışık başarısızlık, the subscription is automatically disabled. You'll receive an email notification and can re-enable it in Geliştirici Ayarları.

En İyi Uygulamalar

  • İmzaları her zaman doğrulayın Sahte olayları önlemek için yükleri işlemeden önce.
  • Tekilleştirme için Teslimat Kimliğini kullanın — yeniden denemeler aynı kimliği gönderir; bu nedenle, çift işlemeyi önlemek için işlenmiş kimlikleri saklayın.
  • Hızlı yanıt verin, eşzamansız işleyin — hemen return 200 OK ve iş mantığını bir arka plan işinde ele alın.
  • Yalnızca HTTPS uç noktalarını kullanın — webhook URL'leri TLS kullanmalıdır. HTTP geri aramaları reddedilir.
  • Bilinmeyen olayları zarif bir şekilde ele alın — yeni etkinlik türleri eklenebilir. Tanınmayan olaylar için hata yerine 200 değerini döndürün.

D1 Çılgınlığı

D1 Frenzy, bir yayıncı canlı yayındayken hızlı ipuçları ve aboneliklerle tetiklenir. Artan hedeflerle 5 seviye boyunca ilerlemektedir.

GET /api/overdrive/{streamerId}

Bir yayıncı için aktif D1 Frenzy'yi edinin. Hiçbiri yoksa {"active": false} değerini döndürür.

{ "active": true, "level": 2, "progress": 150, "target": 250, "progress_pct": 60.0, "total_contributions": 8, "total_contributors": 5, "expires_at": "2026-03-22T15:30:00+00:00" }

Seviye Hedefleri

SeviyePuanlar
1100
2250
3500
41,000
52,000

D1 Çılgınlığı — Puanlar: İpucu $1 → 100; Abonelik 500 × Seviye. Süre: 5 dakika; Bekleme süresi: 30 dakika.

Uzantı SDK'sı

Yayıncıların kanal sayfalarına yükleyebilecekleri özel panel ve yer paylaşımı uzantıları oluşturun. Uzantılar korumalı alan iframe'lerinde çalışır ve ana bilgisayar sayfasıyla postMessage aracılığıyla iletişim kurar.

Başlarken

  1. Geliştirici Ayarları'te bir API anahtarı oluşturun.
  2. Uzantınızı alanınızda barındırılan bağımsız bir HTML sayfası olarak oluşturun (HTTPS gereklidir).
  3. Uzantılarım bölümünde incelenmek üzere gönderin.
  4. Onaylandıktan sonra yayıncılar bunu Extension Marketplace'ten yükleyebilir.

Uzantı Türleri

TipKonumDavranış
panelAkış oynatıcısının altındaAkış canlı olduğunda görünür. Tam genişlikte kart, 300 piksel varsayılan yükseklik.
overlayVideo oynatıcının üzerindeCanlıyken görünür. Konum/boyut, kaplama konumlandırma aracı aracılığıyla flama tarafından kontrol edilir.

postMessage API'si

Uzantınız yüklendiğinde bağlam verilerini otomatik olarak alır. Bu olayları uygulayın:

Her mesaj için tam D1Arena ana kaynağını kullanın. Resmi SDK bu kaynağı otomatik olarak yerleştirme sayfasından türetir ve doğrular.

Uzantı iframe'leri kasıtlı olarak opak bir sanal alan kaynağı kullandığından, D1Arena ana bilgisayarı tam olarak kayıtlı iframe penceresinin kimliğini doğrular. Uzantı kodunun, bağlamı kabul etmeden önce yine de ana pencerenin kimliğini ve tam D1Arena kaynağını doğrulaması gerekir.

1. Sinyal hazırlığı

var d1ParentOrigin = 'https://d1arena.com'; // Tell the host page your extension is ready for context window.parent.postMessage({ type: 'D1_EXT_READY' }, d1ParentOrigin);

2. İçeriği alın

window.addEventListener('message', function(e) { if (e.source === window.parent && e.origin === d1ParentOrigin && e.data && e.data.type === 'D1_CONTEXT') { var ctx = e.data.payload; // ctx.channelId - Streamer's user ID // ctx.channelName - Streamer's display name // ctx.channelSlug - Streamer's URL slug // ctx.viewerId - Current viewer's ID (null if not logged in) // ctx.isLive - Whether the stream is currently live } });

3. Eylemleri gönder (isteğe bağlı)

// Redirect the host page (e.g. for a "Storm" button) window.parent.postMessage({ type: 'D1_EXT_ACTION', action: 'storm', target: 'username-slug' }, d1ParentOrigin);

İzin Kapsamları

Uzantınızın hangi verilere ihtiyacı olduğunu bildirin. Gözden geçirenler kodunuzun beyan edilen izinlerinizle eşleştiğini doğrular.

KapsamErişim Veriyor
read:streamAkış durumu, başlık, kategori
read:viewersİzleyici sayısı ve listesi
read:chatSohbet mesajları (Pusher kanalı aracılığıyla)
read:clipsKanal klipleri /api/clips/{slug} aracılığıyla
read:tournaments/api/active-match/{id} aracılığıyla aktif maç bilgisi
read:channelKanal profili, takipçiler, program

Güvenlik Gereksinimleri

Uzantılar sandbox="allow-scripts" ile bir korumalı alan iframe içinde çalışır. yapamam uzantınız çerezlere, localStorage'a erişiyor veya d1arena.com'a kimliği doğrulanmış isteklerde bulunuyor.
  • Herkese açık HTTPS gerekli — iframe URL'niz TLS kullanmalı ve yalnızca genel ağ adreslerine çözümlenmelidir.
  • İnsan tarafından okunabilen kaynak — Karmaşıklaştırılmış veya yalnızca küçültülmüş JavaScript yok. Gözden geçirenlerin kodunuzu okuyabilmesi gerekir.
  • Harici komut dosyası yüklemesi yok başvurunuzda belirtilmediği sürece. CDN kütüphaneleri (jQuery, Chart.js, vb.) gayet iyi.
  • Veri sızıntısı yok — Uzantılar, izleyici verilerini üçüncü taraf analizlere veya izleme hizmetlerine göndermemelidir.
  • İçerik politikası — Reklam yok, NSFW içeriği, kripto para birimi madenciliği veya kötü niyetli davranış yok.

İnceleme Süreci

DurumAnlamı
pendingGönderildi, yöneticinin incelemesi bekleniyor (genellikle 1-3 iş günü).
approvedOnaylandı ve Extension Marketplace'te görünür.
rejectedGerekçeyle reddedildi. Sorunları düzeltip yeniden gönderin.
suspendedPolitika ihlali nedeniyle geçici olarak kaldırıldı. Desteğe başvurun.

Sürüm Güncellemeleri

Onaylanmış bir uzantıyı güncellemek için mevcut sürümü silin ve artırılmış sürüm numarasına sahip yeni bir uzantı gönderin. Yeni sürüm tekrar incelemeye alınır.

Değişiklik günlüğü

API değişikliklerini ve yeni özellikleri izleyin. Anlamsal versiyonlamayı takip ediyoruz ve son değişiklikleri en az 30 gün önceden duyuruyoruz.

v1.0Mart 2026
  • API anahtarı kimlik doğrulamasıyla ilk genel API sürümü.
  • Yayınlar: Canlı yayınları listeleyin, yayıncı ayrıntılarını ayrıntılı olarak öğrenin.
  • Kategoriler: Tüm oyun kategorilerini arayın ve listeleyin.
  • Kullanıcılar: Rekabetçi istatistikler, ELO derecelendirmesi ve madalya sayılarını içeren herkese açık profiller.
  • Klipler: Yayıncı/içerik oluşturucu bilgileriyle birlikte klip ayrıntılarına göz atın ve alın.
  • Turnuvalar: Listeleyin, duruma/lige göre filtreleyin, katılımcı sayılarını alın.
  • ELO Lider Tablosu: Küresel ve kategoriye göre sıralanmış lider tabloları.
  • Ligler: Ligleri sıralamalar ve puan dökümleri ile listeleyin.
  • D1 Çılgınlığı: Her yayıncı için gerçek zamanlı Çılgınlık durumu.
  • Webhook'lar (EventSub): Yayın, kanal, turnuva, klip ve Frenzy etkinlikleri dahil 12 etkinlik türü.
  • Hız Limitleri

Yardıma mı ihtiyacınız var?

API hakkında sorularınız mı var? Bize ulaşın.