Kosto API · v1
Kosto API belgeleri:
alan adı otoritesi, kendi araçlarında.
Panelde gördüğün otorite puanını, referans veren alan adlarını, yan yana karşılaştırmayı ve spam denetimini HTTP ile sorgula. Her yanıt JSON'dur, alan adları snake_case yazılır ve her uç nokta aşağıda çalışan bir örnekle gelir.
- Uç nokta
- 7
- Dakikalık sınır
- 120
- Biçim
- JSON
- Kimlik
- API anahtarı
Otorite puanı
0–100 arası puan, sıralamalar ve puanı oluşturan bileşenler. Tek alan adı ya da on tanesi yan yana.
Referanslar
Bir alana link veren alan adları, puana göre sıralı; en düşük puanı sen belirlersin.
Spam denetimi
Bahis, yetişkin, ilaç, replika gibi kötüye kullanım izleri için risk puanı ve gerekçeler.
- Tüm uç noktalar
/api/v1altındadır. Sürüm adresin parçasıdır. - İstekler ve yanıtlar UTF-8 JSON'dur. Tarihler ISO 8601 (UTC) yazılır.
- Makine tarafından okunabilir tanım: OpenAPI 3.1 belgesini indir.
Başlarken
Hızlı başlangıç
Anahtar almaktan ilk yanıta üç adım.
-
1
Anahtar alın
Aşağıdan bir anahtar oluştur. Anahtar yalnızca oluşturulduğu anda görünür; kopyalayıp güvenli bir yere kaydet.
Anahtar oluşturuldu Bir daha gösterilmeyecek.
Anahtarlarını Hesap sayfasından oluşturur ve iptal edersin. Ücretsiz planda API anahtarı yoktur; planlara bak.
-
2
İlk isteği gönder
Anahtarı
Authorizationbaşlığında yollayın. Sağdaki örnek seçtiğin dilde hazır;YOUR_API_KEYyerine kendi anahtarını yaz. -
3
Yanıtı okuyun
authority_scorealanı 0–100 arası puandır.foundfalseise alan adı link endeksinde yoktur; bu bir hata değildir,200döner.score_sourcepuanın türünü söyler:dataveriye dayalı,standardvecalibratedyaklaşık puandır.
Her uç noktanın altındaki Dene panelinden isteği doğrudan tarayıcıdan gönderebilirsin. Anahtarı yalnızca bu sekmenin belleği tutar, hiçbir yere kaydedilmez ve istek sen düğmeye basmadan gitmez.
Başlarken
Kimlik doğrulama
/api/v1/openapi.json dışındaki her uç nokta bir API anahtarı ister. Anahtar op_ ile başlar ve toplam 35 karakterdir. Aşağıdaki iki başlıktan birini kullan; ikisi de aynı işi görür.
| HTTP başlığı | Biçim |
|---|---|
Authorization | Bearer op_… (Bearer büyük/küçük harf fark etmez) |
X-API-Key | op_… |
Anahtarı korumak
- Sunucu anahtarın kendisini değil SHA-256 özetini saklar. Kaybedersen yeni anahtar üretin; eskisini iptal et.
- Anahtarı ortam değişkeninde ya da gizli anahtar kasanda tut. Kaynak koduna, herkese açık depolara ve tarayıcıda çalışan koda koymayın.
- İptal edilen anahtar
403 key_revokedalır. Anahtar yok ya da biçimi yanlışsa401döner. - CORS başlığı gönderilmez; başka bir sitenin tarayıcı kodu bu API'yi okuyamaz (
cross_site_forbidden). Betikler, komut satırı ve sunucu tarafı kod sorunsuz çalışır. - Hesap modunda anahtar bir hesaba aittir ve o hesabın planına göre sayılır; hesabı askıdaki ya da hiçbir hesaba bağlı olmayan anahtar
403alır.
Başlarken
Hız sınırları ve kotalar
İki ayrı sınır vardır: dakikalık hız sınırı bütün anahtarlar için aynıdır; aylık ve günlük kotalar planına bağlıdır.
Hız sınırı: dakikada 120 istek
Her anahtar 60 saniyelik sabit bir pencerede 120 istek yapabilir. Pencere anahtarın ilk isteğiyle açılır, 60 saniye sonra kapanır ve sayaç sıfırlanır. Geçerli anahtar göndermeyen istekler istemci adresi başına ortak bir pencerede sayılır. Reddedilen (401, 400 gibi) istekler de pencereye yazılır. Her /api/v1 yanıtında şu başlıklar bulunur:
| HTTP başlığı | Anlamı |
|---|---|
X-RateLimit-Limit | Pencere başına izin verilen istek sayısı (120). |
X-RateLimit-Remaining | Geçerli pencerede kalan istek sayısı. |
X-RateLimit-Reset | Pencerenin kapanacağı an, Unix saniyesi. |
Retry-After | 429 ve 503 yanıtlarında beklenecek saniye. |
Sınır aşılınca 429 rate_limited döner. Retry-After başlığındaki süre kadar bekleyip yeniden dene; beklemeden tekrar denemek pencereyi daha da doldurur.
Plan kotaları
Hesap modunda her çağrı API isteği sayacından bir düşer. Toplu sorgu satır sayısı kadar toplu sorgu satırı, spam denetimi ise bir spam denetimi hakkı harcar. Başarısız bir çağrı harcadığı hakkı geri verir. Aynı alan adının aynı günkü spam denetimi tekrar sayılmaz (fresh=1 hariç).
| Plan | API anahtarı | API isteği / ay | Toplu satır / gün | Spam denetimi / gün |
|---|
Günlük kotalar ve aylık kotalar Türkiye saatiyle (UTC+3) gece yarısı ve ay başında yenilenir. Kota dolunca 429 quota_exceeded döner; mesaj hangi sayacın dolduğunu, kullanımını ve planını söyler. Fiyatlar için plan sayfasına bak.
Başlarken
Hata kodları
Hatalar HTTP durum koduyla ve hep aynı gövdeyle gelir. code sabittir; programın ona göre dallanmalıdır. message insanlar için yazılmış bir açıklamadır ve değişebilir; varsayılan olarak İngilizcedir, Accept-Language ya da X-Kosto-Lang başlığıyla başka bir dil seçilir.
| Durum | Kod | Ne zaman |
|---|
5xxve429yanıtlarındaRetry-Afterbaşlığı varsa o süre kadar bekle;4xxyanıtlarını aynı istekle yinelemeyin, isteği düzeltin.405yanıtındaAllowbaşlığı uç noktanın desteklediği yöntemi söyler.HEAD,GETgibi işlenir.- Link endeksi yüklenirken referans sorguları
503 graph_unavailableverebilir;Retry-After: 15sonrası yeniden dene.
Başlarken
Sayfalama ve toplu istek
API imleç (cursor) ya da sayfa numarası kullanmaz. Liste dönen uç noktalar tek yanıt verir ve boyutu parametrelerle sınırlanır.
| Uç nokta | Kural |
|---|---|
GET /backlinks | limit en çok 1000 (varsayılan 100). Sunucu önce puana göre en iyi referansları seçer; min_score filtresi, link sırası en iyi 1000 referans içinde uygulanır. Bu yüzden filtreyle returned, limit'ten küçük çıkabilir. total filtreden bağımsız toplam referans sayısıdır. |
GET /compare | 2 ile 10 arası alan adı. Aynı siteye giden yazımlar tek satıra iner; indirgendikten sonra en az iki farklı site kalmalıdır. |
POST /bulk | Tek istekte en çok 1000 alan adı, gövde en çok 1 MB. Aşarsan too_many_domains (400) ya da payload_too_large (413) alırsın. Boş satırlar atlanır, aynı site tek satıra iner, geçersiz girdiler valid: false olarak yerinde kalır; sıra ilk görülme sırasıdır. |
Büyük listeleri bölmek
1000'den fazla alan adın varsa listeyi 1000'erlik parçalara bölüp ardışık gönder. Her parça bir istektir ve dakikalık sınıra sayılır; hesap modunda ayrıca satır sayısı kadar toplu sorgu kotası harcar.
Diğer
Sürümleme ve değişiklik günlüğü
Sürüm adresin içindedir: /api/v1. OpenAPI belgesinin info.version alanı bu sürümün belge sürümünü verir.
- Yeni uç noktalar ve yanıtlara yeni alanlar sürümü değiştirmeden eklenebilir. İstemcinin bilmediği alanları yok saymasını bekleriz.
- Var olan bir alanın türünü ya da anlamını değiştirmek, alan silmek gibi uyumsuz değişiklikler yeni bir sürümle (
/api/v2) gelir. messagemetinleri değişebilir.codedeğerlerine ve HTTP durum kodlarına bak.
-
1.0.0Güncel sürüm
İlk sürüm. Yedi uç nokta:
domain,backlinks,compare,bulk,spam,usageveopenapi.json.- Anahtar doğrulama:
Authorization: Bearerya daX-API-Key. - Dakikada 120 istek hız sınırı ve
X-RateLimit-*başlıkları. - Hata biçimi
{ "error": { "code", "message" } }.
- Anahtar doğrulama:
Diğer
Sık sorulan sorular
Alan adı bulunamadı, bu bir hata mı?
Hayır. Link endeksinde olmayan alan adı için 200 ve found: false döner. Bu durumda subdomains ve referring_domains null olur. Geçersiz bir girdi (alan adı olmayan metin) ise 400 invalid_domain verir.
URL gönderebilir miyim?
Evet. domain parametresi alan adı ya da URL kabul eder. https://www.ornek.com/sayfa yanıtta ornek.com olur. Aynı şey bulk ve compare için de geçerlidir.
Referans sayısı neden bazen null?
referring_domains, alan adı link grafiğinde yoksa ya da grafik o anda yanıt veremiyorsa null olur. backlinks grafik hazır değilken 503 graph_unavailable döner.
Puan yaklaşık mı, veriye dayalı mı?
score_source alanına bak. data ise puan ölçülmüş link ve trafik verisinden hesaplanmıştır; panelde veriye dayalı rozetiyle ve dolu bir noktayla gösterilir. standard ve calibrated yaklaşık puandır; panelde yaklaşık rozeti ve içi boş bir nokta alır. score_low ve score_high geldiğinde puanın beklenen aralığını verir; panel bu aralığı kadranda bir yay olarak çizer. İkisi de null ise aralık bildirilmiyordur, sıfır genişlikte bir aralık anlamına gelmez.
Paneldeki referans sayısı API'dekinden neden farklı olabilir?
referring_domains her zaman link endeksinde sayılan referans alan adlarıdır; backlinks ucu bu alan adlarını adıyla listeler. Panel başlıkta tek bir sayı gösterir: alan adı için arama verisi açıldıysa o sayıyı, açılmadıysa link endeksi sayısını. Arama verisi başlıkta olduğunda link endeksi sayısı kartın altındaki ayrıntıda, “adıyla listeleyebildiğimiz” sayı olarak durur. İki sayı farklı yöntemle ölçülür; biri diğerini yanlışlamaz.
Spam denetimi neden bu kadar yavaş olabiliyor?
İlk sorguda alan adının arşiv, tarama ve canlı sayfa verisi okunur; 25 saniyeye kadar sürebilir. Sonuç 24 saat önbellekte tutulur (cached: true). İstemci zaman aşımını en az 30 saniyeye ayarlayın. fresh=1 önbelleği atlar ve yeniden tarar.
Tarayıcıdan, kendi sitemden çağırabilir miyim?
Hayır. API CORS başlığı göndermez ve başka siteden gelen tarayıcı isteklerini reddeder. Anahtarını tarayıcıdaki koda koymak zaten güvenli olmaz; çağrıyı kendi sunucundan yap. Bu sayfadaki Dene paneli aynı adresten çalıştığı için istisnadır.
Anahtarımı kaybettim.
Anahtar kurtarılamaz; yalnızca özeti saklanır. Yeni bir anahtar oluştur, betiğini güncelle ve eskisini iptal et.
Sınırımı nasıl görürüm?
GET /api/v1/usage anahtarının toplam istek sayısını ve geçerli dakikalık pencerenin durumunu verir. Hesap modunda başarılı yanıtlarda X-Quota-* başlıkları son sayılan kotanın kalan hakkını gösterir; ayrıntı hesap sayfanızdadır.
Zaman damgaları hangi saat diliminde?
Yanıtlardaki tarih alanları UTC'dir (2026-11-10T09:40:36.000Z gibi). Günlük ve aylık kotalar Türkiye saatine (UTC+3) göre yenilenir.