Yeni sızıntı olaylarını izleyin
Son kontrolden bu yana gelen olayları düzenli aralıklarla çekip kendi uyarı sisteminize ya da talep kuyruğunuza aktarın.
İsteği kurun
startDate ile son kontrol zamanını verin; süzgeç olayın tarihine (eventDate) uygulanır. status=open yalnız henüz ele alınmamış olayları getirir. sortBy=date-asc eskiden yeniye sıralar, böylece olaylar oluştukları sırayla işlenir.
curl -G "https://api.darkradar.com/api/public/v1/leak-events" \ -H "x-api-key: $DARKRADAR_API_KEY" \ --data-urlencode "startDate=2026-09-18T00:00:00Z" \ --data-urlencode "status=open" \ --data-urlencode "sortBy=date-asc" \ --data-urlencode "limit=100"
Yanıtı okuyun
Her olayda iş için gereken alanlar: eventId (sonraki çağrılarda kullanılan kimlik), leakType (sızan değerin türü), type (çalışan, üçüncü taraf ya da müşteri), severity ve eventDate. Örnek yanıt, kısaltılmış:
{
"success": true,
"data": {
"events": [
{
"eventId": "64b1f0c2a9e4d21f8c3b9005",
"leakType": "email",
"type": "employee",
"severity": "high",
"stealerFamily": "GENERIC STEALER",
"eventDate": "2026-09-18T14:54:04.834Z",
"status": "open",
"actionTaken": false
}
]
}
}Bütün sayfaları dolaşın
Olay listesi toplam sayı döndürmez. page değerini birer artırın; dönen olay sayısı limit’ten azsa son sayfadasınız.
const since = '2026-09-18T00:00:00Z';
for (let page = 1; ; page++) {
const url = new URL('https://api.darkradar.com/api/public/v1/leak-events');
url.search = new URLSearchParams({ startDate: since, status: 'open', sortBy: 'date-asc', limit: '100', page: String(page) });
const res = await fetch(url, { headers: { 'x-api-key': process.env.DARKRADAR_API_KEY } });
const { data } = await res.json();
for (const event of data.events) await handle(event);
if (data.events.length < 100) break;
}Bir sonraki çalıştırmada
startDate olarak bu çalıştırmanın başladığı zamanı kullanın. Sınırdaki olayı iki kez işlememek için eventId ile tekilleştirin.