AltyaziDB API v1.3

AltyaziDB API, Türkiye'nin en temiz altyazı veritabanına erişmeniz için tasarlanmış yüksek performanslı bir REST servisidir.

Kimlik Doğrulama: Tüm istekler X-API-Key: ANAHTARINIZ başlığı (Header) ile ve HTTPS üzerinden yapılmalıdır.
Sayfalama (Pagination): Tüm listeleme (Search ve Latest) uç noktaları ?page=1 ve ?limit=20 parametrelerini destekler.
v1.3 Güncellemesi: /search endpoint'i artık version_groups, filters.version_groups ve content_type film/dizi ayrımını destekler. Ayrıca /content_search endpoint'i başlık/yıl üzerinden film veya dizi içerik araması yapabilir.

Kullanıcı ve Kota Sorgulama

Geliştiricilerin kalan API hız sınırlarını (Rate Limit) canlı olarak kontrol etmesini sağlar.

GET https://altyazidb.com/api/v1/me

Son Eklenenler

Sisteme eklenen en güncel altyazıları tarihe göre tersten listeler. Dönen veri modeli Arama uç noktası ile aynıdır.

GET https://altyazidb.com/api/v1/latest
ParametreDurumAçıklama
pageOpsiyonelSayfa numarası. Varsayılan: 1
limitOpsiyonelSayfada kaç sonuç döneceği. Varsayılan: 20 (Maks: 100)
sortOpsiyonelSıralama ölçütü. date (varsayılan) veya downloads (en popüler altyazılar) kullanılabilir.

Arşiv / Orijinal Dosya İndirme

Altyazının sisteme yüklendiği orijinal dosyayı indirmenizi sağlar. Bu dosya .zip, .rar veya doğrudan .srt olabilir.

GET https://altyazidb.com/api/v1/download
ParametreDurumAçıklama
sub_idZorunluİndirilecek altyazının veritabanı ID'si.
formatOpsiyonelsubtitle, srt veya raw gönderilirse ZIP/RAR içinden ilk uygun altyazı çıkarılıp düz altyazı olarak stream edilir.
Not: Parametresiz kullanımda orijinal arşivi/dosyayı indirir. Medya oynatıcı uyumlu düz altyazı almak için /subtitle endpoint'i önerilir.

Subtitle Stream / Arşivden Altyazı Çıkarma

ZIP, RAR veya doğrudan SRT/VTT/ASS/SUB dosyasından medya oynatıcı uyumlu düz altyazı çıkarır. Stremio, Nuvio, Kodi ve Jellyfin gibi istemciler için önerilen endpoint budur.

GET https://altyazidb.com/api/v1/subtitle
ParametreDurumAçıklama
sub_idZorunluAltyazının veritabanı ID'si.
seasonOpsiyonelArşiv içinden belirli sezon/bölüm seçmek için sezon numarası.
episodeOpsiyonelArşiv içinden belirli sezon/bölüm seçmek için bölüm numarası.
Arşiv desteği: .zip dosyaları PHP ZipArchive ile, .rar dosyaları PHP RarArchive ile okunur. Böylece istemciye ham RAR/ZIP göndermek yerine doğrudan .srt / .vtt / .ass içeriği verilir.

Örnek Kullanım

GET /api/v1/subtitle?sub_id=109617
GET /api/v1/subtitle?sub_id=12345&season=1&episode=2
GET /api/v1/download?sub_id=109617&format=subtitle

Bu endpoint JSON döndürmez; başarılı olduğunda doğrudan altyazı dosyasını stream eder. Hata durumunda JSON hata cevabı döner.

Paket İçinden Bölüm Ayıklama

Bir sezon paketinin (ZIP veya RAR) içinden sadece istenen bölümün (.srt / .vtt / .ass / .ssa / .sub) dosyasını anında ayıklar ve RAW formunda medya oynatıcıya stream eder.

GET https://altyazidb.com/api/v1/extract_ep
ParametreDurumAçıklama
sub_idZorunluPaketin veritabanı ID'si.
seasonZorunluİstenen sezon numarası (Örn: 4).
episodeZorunluİstenen bölüm numarası (Örn: 1).

Altyazı Yükleme (Upload)

Sisteme doğrudan altyazı dosyası (zip, rar, srt) yüklemenizi sağlar.

Akıllı Otonom Bot Özelliği: Eğer yükleme isteğinizdeki imdb_id AltyaziDB sisteminde mevcut değilse, işlem iptal edilmez! API'miz arka planda TMDB'ye bağlanarak içeriği saniyeler içinde otomatik olarak taslak halinde oluşturur.
Sezon Paketi Yükleme (Önemli): Tekil bir bölüm yerine tüm sezonu içeren bir .zip arşivi yüklüyorsanız, isteğinizdeki episode parametresine PAKET yazmanız yeterlidir. Sistem bunu otomatik olarak paket etiketine dönüştürür.
Kopya Önleyici (Anti-Duplicate): API'miz yüklenen dosyaların MD5 hash'ini analiz eder. Birebir aynı dosya tekrar yüklenmek istenirse sistem 409 Conflict hatası vererek işlemi reddeder.

1. İstek Parametreleri (POST)

POST https://altyazidb.com/api/v1/upload
ParametreDurumAçıklama
fileZorunluYüklenecek altyazı dosyası (.zip, .rar, .srt). Max: 5MB
imdb_idZorunluHangi yapıma eklenecekse onun IMDb ID'si.
langZorunluDil kodu (Örn: tr).
seasonOpsiyonelDiziler için sezon numarası (Örn: 1).
episodeOpsiyonelDiziler için bölüm numarası. Sezon paketi yüklüyorsanız PAKET yazın.
fpsOpsiyonelAltyazının kare hızı (Örn: 23.976).
releaseOpsiyonelUyumlu olduğu sürüm bilgisi (Örn: WEB-DL).
translatorOpsiyonelÇevirmen adı.
translator_noteOpsiyonelÇevirmene ait özel not veya çeviri bilgisi (Örn: "Senkron kayması düzeltildi").
hearing_impairedOpsiyonelİşitme engelli (CC) altyazısı ise 1 gönderin.
forcedOpsiyonelForced altyazı ise 1 gönderin.
ai_ceviriOpsiyonelYapay zeka (AI) ile çevrildiyse 1 gönderin.
foreign_partsOpsiyonelYabancı (Foreign) alanlar içeriyorsa 1 gönderin.

Örnek İstek (cURL)

curl -X POST "https://altyazidb.com/api/v1/upload" \
-H "X-API-Key: ANAHTARINIZ" \
-F "file=@/bilgisayar/yolu/altyazi.zip" \
-F "imdb_id=tt37529347" \
-F "lang=tr" \
-F "season=1" \
-F "episode=PAKET" \
-F "fps=23.976" \
-F "translator=NETRip" \
-F "release=WEB-DL" \
-F "ai_ceviri=1" \
-F "foreign_parts=0"

Başarılı Yanıt (JSON)

{
  "success": true,
  "message": "Altyazı başarıyla yüklendi.",
  "sub_id": 6615,
  "post_id": 128
}

Etkileşimler (Favori & Rapor)

Altyazılar ile etkileşime girmek için kullanılan uç noktalardır.

Favoriye Ekle / Çıkar

POST https://altyazidb.com/api/v1/favorite

Gönderilmesi gereken parametre: sub_id (Zorunlu). Altyazı favorilerdeyse çıkarır, yoksa ekler.

Hatalı Altyazı Raporlama

POST https://altyazidb.com/api/v1/report

Gönderilmesi gereken parametreler: sub_id ve reason (Örn: "Çeviri tamamen google translate").

Hata Kodları

KodAnlamıAçıklama
400Bad RequestEksik veya hatalı parametre gönderdiniz.
401UnauthorizedAPI anahtarınız eksik veya geçersiz.
403ForbiddenYetkisiz işlem veya HTTP (güvensiz) bağlantı.
404Not FoundAradığınız ID'ye ait içerik mevcut değil.
409ConflictBu dosya zaten veritabanında mevcut (MD5 Çakışması).
413Payload Too LargeDosya boyutu 5 MB sınırını aştı.
429Too Many RequestsHız sınırına takıldınız (Rate Limit).