Başlangıç
Deprem API, Türkiye ve dünya genelindeki deprem verilerine programatik erişim sağlar. API, AFAD ve Kandilli Rasathanesi verilerini kullanarak güncel deprem bilgilerini JSON formatında sunar.
Base URL
https://api.ygtdmrlp.site
Desteklenen Formatlar
- JSON (varsayılan)
- XML (isteğe bağlı)
Kimlik Doğrulama
Şu anda API açık erişimlidir ve kimlik doğrulama gerektirmez. Gelecekte API anahtarı sistemi eklenebilir.
API Endpoints
GET
/deprem/son
Açıklama: Son 24 saatteki tüm depremleri getirir.
Parametreler: Yok
Örnek İstek:
GET https://api.ygtdmrlp.site/deprem/son
GET
/deprem/buyuk
Açıklama: 4.0 ve üzeri büyüklükteki depremleri getirir.
Query Parametreleri:
| Parametre | Tip | Açıklama | Varsayılan |
|---|---|---|---|
| min_buyukluk | float | Minimum deprem büyüklüğü | 4.0 |
| limit | integer | Maksimum sonuç sayısı | 100 |
GET
/deprem/il/{il_adi}
Açıklama: Belirli bir ile ait deprem verilerini getirir.
Path Parametreleri:
| Parametre | Tip | Açıklama | Örnek |
|---|---|---|---|
| il_adi | string | İl adı (Türkçe karakterler desteklenir) | istanbul, ankara, izmir |
Örnek İstek:
GET https://api.ygtdmrlp.site/deprem/il/istanbul
GET
/deprem/tarih/{tarih}
Açıklama: Belirli bir tarihteki depremleri getirir.
Path Parametreleri:
| Parametre | Tip | Format | Örnek |
|---|---|---|---|
| tarih | string | YYYY-MM-DD | 2024-01-21 |
Yanıt Formatı
Başarılı Yanıt
{
"status": "success",
"message": "Veriler başarıyla getirildi",
"data": [
{
"id": "12345",
"tarih": "2024-01-21T14:30:00Z",
"yer": "Kahramanmaraş Merkez",
"buyukluk": 4.2,
"derinlik": 10.5,
"enlem": 37.5847,
"boylam": 36.9250,
"kaynak": "AFAD",
"revize": false
}
],
"count": 1,
"timestamp": "2024-01-21T15:00:00Z"
}
Veri Alanları
| Alan | Tip | Açıklama |
|---|---|---|
| id | string | Benzersiz deprem kimliği |
| tarih | string | Deprem tarihi ve saati (ISO 8601) |
| yer | string | Deprem merkez üssü |
| buyukluk | float | Deprem büyüklüğü (Richter ölçeği) |
| derinlik | float | Derinlik (km) |
| enlem | float | Enlem koordinatı |
| boylam | float | Boylam koordinatı |
| kaynak | string | Veri kaynağı (AFAD, Kandilli) |
| revize | boolean | Revize edilmiş veri mi? |
Hata Kodları
| HTTP Kodu | Açıklama | Örnek Yanıt |
|---|---|---|
| 200 | Başarılı | Normal veri yanıtı |
| 400 | Geçersiz istek | {"status": "error", "message": "Geçersiz parametre"} |
| 404 | Bulunamadı | {"status": "error", "message": "Veri bulunamadı"} |
| 429 | Çok fazla istek | {"status": "error", "message": "Rate limit aşıldı"} |
| 500 | Sunucu hatası | {"status": "error", "message": "İç sunucu hatası"} |
Rate Limits
API kullanımında aşağıdaki limitler geçerlidir:
- Dakikada: 60 istek
- Saatte: 1000 istek
- Günlük: 10000 istek
Rate limit aşıldığında HTTP 429 hatası döner ve yanıt header'larında limit bilgileri bulunur:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1642781400
Kod Örnekleri
cURL
# Son depremleri getir
curl -X GET "https://api.ygtdmrlp.site/deprem/son"
# İstanbul depremlerini getir
curl -X GET "https://api.ygtdmrlp.site/deprem/il/istanbul"
# Büyük depremleri getir (min 5.0)
curl -X GET "https://api.ygtdmrlp.site/deprem/buyuk?min_buyukluk=5.0&limit=50"
Node.js
const axios = require('axios');
async function getEarthquakes() {
try {
const response = await axios.get('https://api.ygtdmrlp.site/deprem/son');
console.log('Depremler:', response.data);
} catch (error) {
console.error('Hata:', error.response?.data || error.message);
}
}
getEarthquakes();