Hava Tahmini

Hava Tahmini

Hava Durumu Tarım Kredi / istek: 2

Bir nokta için 10 güne kadar günlük ve 96 saate kadar saatlik hava tahmini.

GET https://api.apikodu.com/api/v1/weather/forecast
Dokümantasyon
Genel bakış

Bir nokta için 10 güne kadar günlük ve 96 saate kadar saatlik hava tahmini. Baltık/Nordik noktalarda MET Norway, diğer yerlerde Open-Meteo (ICON-EU) tercih edilir.

Kimlik doğrulama

Her istekte x-api-key başlığı zorunludur. Kullanılan kredi ve kalan kota yanıt başlıklarında (x-api-credits-used, x-api-remaining-credits, x-rate-limit-*) döner.

İstek
GET https://api.apikodu.com/api/v1/weather/forecast?latitude=39.92&longitude=32.87&granularity=both
GET query.
Parametreler
Ad Tip Zorunlu Varsayılan Seçenekler Açıklama
latitude number * Zorunlu — — Nokta enlemi -90..90.
longitude number * Zorunlu — — Nokta boylamı -180..180.
granularity string Opsiyonel daily daily hourly both daily, hourly veya both. Varsayılan daily.
days integer Opsiyonel 10 — Günlük tahmin gün sayısı 1–10. Varsayılan 10.
hours integer Opsiyonel 96 — Saatlik tahmin saat sayısı 1–96. Varsayılan 96.
fields string Opsiyonel — temp tmin tmax tmean precip precipprob snow wind windgust winddir humidity pressure cloud uvi dewpoint et0 sunrise sunset daylight weathercode Virgüllü alan listesi. Boşsa tüm alanlar. Geçerli anahtarlar yandaki listede (tmin/tmax/tmean... yalnız daily, temp yalnız hourly).
Yanıt
Ad Tip Açıklama
granularity string Kullanılan çözünürlük.
fromDate string İlk günlük tarih (daily/both).
toDate string Son günlük tarih (daily/both).
fromTime string İlk saatlik zaman UTC ISO (hourly/both).
toTime string Son saatlik zaman UTC ISO (hourly/both).
daysReturned integer Dönen günlük satır sayısı.
hoursReturned integer Dönen saatlik satır sayısı.
gridLatitude number İsteği çevreleyen 0.1° grid köşesinin enlemi (interpolasyon referansı).
gridLongitude number 0.1° grid köşesinin boylamı.
gridInterpolated boolean true: değerler çevre 4 hücreden bilineer harmanlandı. false: tek hücre.
sources array Yanıta katkı veren veri kaynakları: copernicus-era5-land, open-meteo, openweather, met-norway. Geçmiş günlerde (yaklaşık bir haftadan eski) Copernicus ERA5 / ERA5-Land önceliklidir; UV, yağış olasılığı ve yağışlı saat / günlerin hava kodu ERA5-Land değişkenlerinden türetilir, rüzgâr hamlesi ERA5'ten (0,25°) gelir; bulut oranı ve yağışsız hava kodu varsa diğer kaynaklardan tamamlanır. Kıyı / deniz noktalarında ERA5-Land değerleri en yakın kara ızgara noktasından alınır.
disclaimer string Karar destek uyarısı ve kaynak atfı.
daily array granularity daily ise günlük satırlar.
daily[].date string Gün YYYY-MM-DD (UTC).
daily[].tmin number Minimum sıcaklık °C.
daily[].tmax number Maksimum sıcaklık °C.
daily[].tmean number Ortalama sıcaklık °C.
daily[].precipMm number Toplam yağış mm.
daily[].snowMm number Kar mm (su eşdeğeri yaklaşık).
daily[].windKmh number En yüksek rüzgar km/h.
daily[].windGustKmh number En yüksek rüzgar hamlesi km/h. Geçmiş günlerde ERA5 (0,25° ızgara, saat sonu damgalı saatlik hamlelerin günlük max'ı); ortalama rüzgârdan (windKmh, 0,1° ERA5-Land) düşük çıkabilir. Boş olabilir.
daily[].windDirectionDeg number Baskın rüzgar yönü derece.
daily[].humidityPercent number Ortalama bağıl nem %.
daily[].pressureHpa number Ortalama basınç hPa.
daily[].cloudPercent number Ortalama bulut oranı %. Boş olabilir.
daily[].uvi number En yüksek UV indeksi (yalnızca tahmin).
daily[].dewPointC number Ortalama çiy noktası °C.
daily[].et0Mm number Referans evapotranspirasyon ET0 mm (FAO-56).
daily[].sunrise string Gün doğumu UTC ISO.
daily[].sunset string Gün batımı UTC ISO.
daily[].daylightMinutes integer Gündüz süresi dakika.
daily[].weatherCode integer OpenWeather tarzı koşul kodu (800 açık, 5xx yağmur ...).
hourly array granularity hourly/both ise saatlik satırlar.
hourly[].time string Saat UTC ISO.
hourly[].tempC number Sıcaklık °C.
hourly[].humidityPercent number Bağıl nem %.
hourly[].windKmh number Rüzgar km/h.
hourly[].windGustKmh number Rüzgar hamlesi km/h (önceki saatin en yüksek hamlesi). Boş olabilir.
hourly[].precipMm number O saatteki yağış mm.
hourly[].precipProbability number Yağış olasılığı 0–1 (varsa).
hourly[].cloudPercent number Bulut oranı %. Boş olabilir.
hourly[].weatherCode integer OpenWeather tarzı koşul kodu.
Hatalar
HTTP code Açıklama
400 -257 latitude/longitude yok veya aralık dışında (enlem -90..90, boylam -180..180).
400 -258 Tarih parametresi geçersiz.
400 -259 granularity/days/hours/metric/op/comparator geçersiz.
429 -316 Firmanın günlük yeni konum (hücre) limiti (50) doldu. Daha önce sorgulanan konumlar çalışmaya devam eder; yeni konum ertesi gün (UTC). Retry-After başlığı gün sonuna kalan saniye.
503 -261 Bu konum için henüz saklı veri yok. Hücreler oluşturuldu, toplayıcı dolduruyor. Kısa süre sonra tekrar dene.
401 -100 x-api-key yok, boş, prefix/uzunluk hatalı, pasif, yasaklı, süresi dolmuş, IP kısıtına takıldı veya bu API anahtara izinli değil.
429 -221 Dakikalık istek limiti aşıldı. Yanıt başlıkları: x-rate-limit-limit, x-rate-limit-remaining, x-rate-limit-reset.
429 — Paket kredi kotası bu isteğin kredisini karşılamıyor. Gövde { error, limit, currentUsage, requestCost } olabilir (code alanı yok).
500 -1 Beklenmeyen sunucu hatası. message genel bir hata metnidir; teknik ayrıntı içermez.
Notlar
  • Başarılı gövde { data: { ... } } şeklindedir. Hata gövdesi { code, message } şeklindedir. code alanı ApiResponseCode enum değeridir (negatif tam sayı).

Örnek yanıt

{
  "data": {
    "gridLatitude": 39.90,
    "gridLongitude": 32.90,
    "gridInterpolated": true,
    "granularity": "both",
    "fromDate": "2026-08-30",
    "toDate": "2026-09-08",
    "fromTime": "2026-08-30T02:00:00Z",
    "toTime": "2026-09-03T02:00:00Z",
    "daysReturned": 10,
    "hoursReturned": 96,
    "daily": [
      {
        "date": "2026-08-30",
        "tmin": 16.4,
        "tmax": 31.2,
        "tmean": 23.8,
        "precipMm": 0.0,
        "precipProbability": 0.05,
        "windKmh": 12.8,
        "et0Mm": 5.90,
        "weatherCode": 801
      }
    ],
    "hourly": [
      {
        "time": "2026-08-30T02:00:00Z",
        "tempC": 18.1,
        "humidityPercent": 62.0,
        "windKmh": 9.4,
        "precipMm": 0.0,
        "cloudPercent": 20.0,
        "weatherCode": 800
      }
    ],
    "sources": [
      "met-norway",
      "open-meteo"
    ],
    "disclaimer": "Weather data aggregated from Copernicus ERA5 / ERA5-Land, Open-Meteo, OpenWeather and MET Norway. Contains modified Copernicus Climate Change Service information. Decision support only."
  }
}

Kod örnekleri

  
      const response = await fetch('https://api.apikodu.com/api/v1/weather/forecast', {
        method: 'GET',
        headers: {
          'x-api-key': 'YOUR_API_KEY'
        }
      });

      const data = await response.json();
      console.log(data);
  
  
      import requests

      headers = {
          'x-api-key': 'YOUR_API_KEY'
      }

      response = requests.get('https://api.apikodu.com/api/v1/weather/forecast', headers=headers)
      print(response.json())
  
  
      using var client = new HttpClient();
      client.DefaultRequestHeaders.Add("x-api-key", "YOUR_API_KEY");

      var response = await client.GetStringAsync("https://api.apikodu.com/api/v1/weather/forecast");
      Console.WriteLine(response);
  
  
      $response = file_get_contents('https://api.apikodu.com/api/v1/weather/forecast', false, stream_context_create([
          'http' => [
              'header' => "x-api-key: YOUR_API_KEY"
          ]
      ]));

      print_r(json_decode($response, true));
  
  
      curl -X GET 'https://api.apikodu.com/api/v1/weather/forecast' \
        -H 'x-api-key: YOUR_API_KEY'
  

Hemen denemeye başlayın

Ücretsiz hesap açın, API anahtarınızı alın ve ilk isteğinizi dakikalar içinde gönderin.

Ücretsiz başla