Haber kümeleri ve kaynak kaydı için anahtarlı, salt okunur bir JSON API. Yanıtlar CC BY-SA 4.0 lisansıyla, Tayf'a atıf verilerek kullanılabilir.
Her istek bir Authorization: Bearer $TAYF_API_KEY başlığı taşır. Anahtarınızı ortam değişkeni olarak saklayın, koda gömmeyin.
curl -sS "https://www.tayfhaber.com/api/v1/clusters?limit=10" \ -H "Authorization: Bearer $TAYF_API_KEY"
import os
import requests
resp = requests.get(
f"https://www.tayfhaber.com/api/v1/clusters",
headers={"Authorization": f"Bearer {os.environ['TAYF_API_KEY']}"},
params={"limit": 10},
timeout=10,
)
resp.raise_for_status()
data = resp.json()
for cluster in data["clusters"]:
print(cluster["title"], cluster["url"])const res = await fetch("https://www.tayfhaber.com/api/v1/clusters?limit=10", {
headers: { Authorization: "Bearer " + process.env.TAYF_API_KEY },
});
if (!res.ok) throw new Error("HTTP " + res.status);
const data = await res.json();
for (const cluster of data.clusters) {
console.log(cluster.title, cluster.url);
}Her /api/v1/* isteği Authorization: Bearer tayf_<40 hex> başlığı taşımalıdır (şema büyük/küçük harfe duyarsızdır).
Anahtarınızı tarayıcıda çalışan koda gömmeyin; CORS açık olsa da anahtar herkese görünür olur.
| Katman | Dakikada | Günde | Nasıl alınır |
|---|---|---|---|
| Ücretsiz | 60 | 2.000 | E-postayla başvurun; anahtar elle verilir. |
| Ortak | 600 | 50.000 | Yüksek hacim ve toplu erişim için yazın. |
/api/v1/clustersHaber kümelerini listele
| Ad | Yer | Açıklama |
|---|---|---|
| since | query | updated_at için alt sınır, tam ISO 8601 zaman damgası (T ve saniye ile). Varsayılan: şimdi−24 saat. 7 günden eski değerler sessizce 7 güne çekilir. |
| limit | query | Döndürülecek en çok küme sayısı, 1–100 arası tam sayı (varsayılan 50). |
/api/v1/clusters/{id}Tek bir kümeyi getir
| Ad | Yer | Açıklama |
|---|---|---|
| id * | path | Küme UUID'si. |
/api/v1/sourcesKaynak kaydını listele
/api/v1/sources/{slug}/profileBir kaynağın 30 günlük kapsama profili
| Ad | Yer | Açıklama |
|---|---|---|
| slug * | path | Kaynağın kısa adı (/api/v1/sources yanıtındaki slug); küçük harf, rakam ve tire, en çok 64 karakter. |
/api/v1/kap/pickupKAP bildirimlerinin medyada yankısı
| Ad | Yer | Açıklama |
|---|---|---|
| ticker * | query | 2–6 büyük harf/rakamdan oluşan hisse kodu (girişte büyük harfe çevrilir). |
| since | query | KAP bildirimi için alt sınır, tam ISO 8601 zaman damgası. Varsayılan: 30 gün önce. Gelecekteki bir değer reddedilir (400); 90 günden eski değerler sessizce 90 güne çekilir. |
| limit | query | Döndürülecek en çok bildirim sayısı, 1–100 arası tam sayı (varsayılan 50), en yeniden en eskiye. |
/api/v1/alerts/blindspotsKör nokta ve sessiz bölge uyarıları
| Ad | Yer | Açıklama |
|---|---|---|
| since | query | updated_at için alt sınır, tam ISO 8601 zaman damgası (T ve saniye ile). Varsayılan: şimdi−24 saat. 7 günden eski değerler sessizce 7 güne çekilir. |
| limit | query | Döndürülecek en çok uyarı sayısı, 1–100 arası tam sayı (varsayılan 50), en yeniden en eskiye. |
| format | query | json veya rss. Başka bir değer 400 döner. Verilmezse Accept başlığı application/rss+xml içeriyorsa RSS, aksi halde JSON döner. |
Her uç nokta anahtarsız OPTIONS ön-uçuş isteğine 204 döner.
Her 2xx dışı yanıt {error, code?, details?} biçimindedir.
| Durum | error | Anlamı |
|---|---|---|
| 400 | Invalid since / Invalid limit / Invalid cluster id | İstek parametresi geçersiz. |
| 401 | Missing or invalid API key | Authorization başlığı eksik, biçimsiz veya bilinmeyen anahtar. |
| 403 | API key revoked | Anahtar iptal edilmiş. |
| 404 | Cluster not found | Küme yok veya arşivlenmiş. |
| 429 | Too many requests / Daily limit exceeded | Anonim taban, dakikalık veya günlük sınır aşıldı. |
| 500 | Internal server error | Beklenmeyen sunucu hatası. |
CC BY-SA 4.0 — Tayf'a göre yalnızca Tayf'ın kendi çıktısını kapsar: küme gruplandırmaları, nötr başlıklar, Türkçe özetler ve kaynak-kaydı metadatası. Yayın kuruluşlarının kendi başlıkları, metinleri ve fotoğrafları ilgili kuruluşa aittir. Atıf şekli: "Tayf'a göre", bağlantı /metodoloji.
Anahtarlar şimdilik elle veriliyor. Kurumunuzu, kullanım amacınızı (akademik / gazetecilik / ticari) ve beklenen günlük istek sayısını yazın. Anahtar yalnızca bir kez gösterilir; Tayf yalnızca özetini (sha256) saklar. Kaybolursa iptal edilir ve yenisi verilir.
İletişim adresi yakında burada yayımlanacak.
Makine tarafından okunabilir tam tanım: /api/v1/openapi.json.
Anahtarsız kaynak kaydı: /api/sources ve /api/sources/{slug}.