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();

PHP