API dokümantasyonu

Tüm uçlar GET ile çağrılır ve JSON döner. Parametre ve yanıt şemalarının tamamı OpenAPI belgesinde (tarayıcıdan deneyebilirsiniz).

1. Başlangıç

  1. Ücretsiz hesap açın (e-posta ya da Google ile).
  2. Panelde Yeni anahtar ile API anahtarı oluşturun. Anahtar va_ ile başlar ve yalnızca bir kez gösterilir.
  3. İlk isteği gönderin:
curl -H "X-API-Key: ANAHTARINIZ" "https://api.veriapi.pro/v1/namaz?il=duzce&ilce=akcakoca&gun=1"

Hemen deneyin

Anahtarınızı bir kez girin: bu sayfadaki örnekler anahtarınızla görünür, kopyaladığınız kod doğrudan çalışır. Aşağıdaki uç listesinde her satırın yanındaki Dene ile isteği buradan gönderebilirsiniz. Anahtarınız yalnızca bu tarayıcıda kalır; denemeler anahtarın kotasından düşer.

Anahtarınız yok mu? Ücretsiz hesap açın · Panelde anahtar oluşturun
GET https://api.veriapi.pro

            
          

2. Kimlik doğrulama

Anahtarı her istekte X-API-Key başlığında gönderin. Başlık eklenemeyen ortamlarda ?anahtar=… parametresi de kabul edilir, ama adres loglara düşebileceği için başlık önerilir.

  • Anahtar size özeldir. Herkese açık JavaScript'e ya da mobil uygulama paketine yazmayın; tarayıcıda göstermek için widget'ları kullanın.
  • Alan adı kısıtı: anahtara alan adı yazarsanız, tarayıcıdan gelen ve Origin başlığı başka bir alan adı olan istekler reddedilir. Alt alan adları da geçerlidir.
  • Sızan anahtarı panelden iptal edip yenisini oluşturun.

3. Yanıt biçimi

Başarılı yanıtlar aynı zarfla döner:

{
  "veri": { … },
  "kaynak": [{"kod": "met", "ad": "MET Norway", "lisans": "CC BY 4.0 / NLOD 2.0",
              "atif": "Data from MET Norway", "url": "https://api.met.no/"}],
  "guncelleme": "2026-11-01T12:05:00",
  "bayat": false
}
  • guncelleme: verinin kaynaktan son alındığı an (Türkiye saati).
  • bayat: true: kaynak şu an güncellenemiyor, son başarılı veri dönüyor. Gösterebilirsiniz, ama yanına “güncel olmayabilir” notu düşmeniz iyi olur.
  • Tarih ve saatler ISO 8601 biçiminde, Türkiye saatiyle (UTC+3) gelir.

4. Konum parametreleri

Namaz, güneş ve hava uçları konumu dört yoldan biriyle alır:

?il=duzceİl adı, slug'ı ya da plaka kodu (?il=81): il merkezi
?il=duzce&ilce=akcakocaİlçe merkezi
?konum=duzce-akcakocaKonum slug'ı (/v1/konumlar/iller ve /ilceler yanıtlarında)
?enlem=40.84&boylam=31.16En yakın il/ilçe merkezi (60 km içinde)

5. Kota ve hız sınırı

Kota anahtar başınadır. Günlük kota istek birimiyle düşer: uçların çoğu 1 birim, anlık / lisanslı veri ve ağır uçlar daha fazla (tablo aşağıda). Dakikalık sınır istek sayısıdır. Kalan haklar ve isteğin maliyeti her yanıtın başlıklarında gelir (hata yanıtlarında da):

X-RateLimit-Limit-Day: 500
X-RateLimit-Remaining-Day: 482
X-RateLimit-Limit-Minute: 20
X-RateLimit-Remaining-Minute: 19
X-Istek-Maliyeti: 1
UçBirim
/v1/oyun/ara10
/v1/piyasa/grafik5
/v1/piyasa/takvim5
/v1/sarj/yakin5
/v1/piyasa*2
/v1/altin2
/v1/akaryakit*2
/v1/sarj/istasyonlar*2
/v1/oyun/firsatlar2
/v1/oyun/ucretsiz2
/v1/oyun/{oyun_id}10
/v1/besin/hesapla2
/v1/trafik*5
/v1/eczane*2
/v1/hava/detay2
/v1/hava/yagis2
/v1/hava-kalitesi2
Diğer tüm uçlar1

Sınır aşılınca 429 döner, Retry-After başlığında kaç saniye bekleneceği yazar. Günlük sayaç Türkiye saatiyle gece yarısı sıfırlanır. Öneri: veriyi kendi tarafınızda önbelleğe alın. Hava 5 dakikada, döviz günde birkaç kez, namaz vakti günde bir kez değişir. Her sayfa gösteriminde API'ye gitmeyin.

PaketGünlük (birim)DakikalıkAnahtar
Ücretsiz500201
Başlangıç10.000603
Profesyonel50.00030010
Kurumsal250.0001.00050

6. Hata kodları

Hatalar {"hata": {"kod": 404, "mesaj": "…"}} biçiminde döner. Mesajlar Türkçedir ve kullanıcıya gösterilebilir.

401Anahtar yok, geçersiz ya da iptal edilmiş.
403Alan adı kısıtı, ücretli paket gerektiren uç, atıf bağlantısı bulunamadı ya da ücretsiz anahtarın yenileme süresi doldu. Nedeni mesajda yazar.
404İl/ilçe, şehir ya da kayıt bulunamadı.
422Geçersiz parametre. mesaj.alanlar hangi parametrenin hatalı olduğunu söyler.
429Dakikalık ya da günlük sınır aşıldı. Retry-After başlığına bakın.
503Veri henüz hazır değil (ilk çekme sürüyor) ya da kaynak yapılandırılmamış. Biraz sonra tekrar deneyin.

7. Atıf kuralları

  • Kaynak atfı (her pakette): yanıttaki kaynak[].atif metnini veriyi gösterdiğiniz yerde görünür yazın (ör. “Data from MET Norway”). Bu, verinin asıl sahiplerinin lisans şartıdır.
  • VeriApi.Pro bağlantısı (Ücretsiz pakette): sitenizde VeriApi.Pro'ye görünür bir bağlantı olmalı. Hazır örnekler ve kurallar

8. Kod örnekleri

Sunucu tarafında çağırıp sonucu önbelleğe alma örnekleri (Düzce için bugünün namaz vakitleri):

<?php
// 1 saat dosya önbelleği; anahtar ortam değişkeninde
$cache = sys_get_temp_dir() . '/veriapi_namaz_duzce.json';
if (!is_file($cache) || filemtime($cache) < time() - 3600) {
    $ch = curl_init('https://api.veriapi.pro/v1/namaz?il=duzce');
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT => 10,
        CURLOPT_HTTPHEADER => ['X-API-Key: ' . getenv('VERIAPI_KEY')],
    ]);
    $body = curl_exec($ch);
    if (curl_getinfo($ch, CURLINFO_HTTP_CODE) === 200) {
        file_put_contents($cache, $body);
    }
    curl_close($ch);
}
$data = json_decode(@file_get_contents($cache) ?: '{}', true);
$gun = $data['veri']['gunler'][0] ?? null;
if ($gun) {
    echo 'İmsak ' . $gun['imsak'] . ' · İftar ' . $gun['iftar'];
}
// Sunucu tarafı (Node 18+, Deno, Bun, Cloudflare Workers): anahtarı tarayıcıya göndermeyin
let cache = { at: 0, data: null };

export async function namazVakitleri() {
  if (Date.now() - cache.at < 3600_000 && cache.data) return cache.data;
  const res = await fetch("https://api.veriapi.pro/v1/namaz?il=duzce", {
    headers: { "X-API-Key": process.env.VERIAPI_KEY },
  });
  if (!res.ok) {
    const { hata } = await res.json();
    throw new Error(`${hata.kod}: ${hata.mesaj}`);
  }
  const body = await res.json();
  cache = { at: Date.now(), data: body.veri.gunler[0] };
  return cache.data;
}
import os, time
import httpx  # pip install httpx

_cache = {"at": 0.0, "data": None}

def namaz_vakitleri() -> dict:
    if _cache["data"] and time.time() - _cache["at"] < 3600:
        return _cache["data"]
    r = httpx.get(
        "https://api.veriapi.pro/v1/namaz",
        params={"il": "duzce"},
        headers={"X-API-Key": os.environ["VERIAPI_KEY"]},
        timeout=10,
    )
    if r.status_code != 200:
        hata = r.json()["hata"]
        raise RuntimeError(f"{hata['kod']}: {hata['mesaj']}")
    _cache.update(at=time.time(), data=r.json()["veri"]["gunler"][0])
    return _cache["data"]

9. Widget'lar

Kod yazmadan sitenize namaz vakti / iftar sayacı, hava, döviz, deprem ve takvim kutusu ekleyebilirsiniz. Panelde Widget sayfasında görünümü seçin, kodu kopyalayıp sayfanıza yapıştırın. Widget kodu API anahtarınızı içermez. Herkese açık bir widget kimliği kullanır, istekleri anahtarınızın kotasından düşer.

  • Script ile: sitenizin CSP'si varsa script-src ve connect-src'ye veriapi.pro eklenmelidir. Stil kutunun içinde kalır, sitenizi etkilemez.
  • iframe ile: CSP'ye dokunamıyorsanız frame-src veriapi.pro yeterlidir.

10. Uçlar

/v1/namaz?il=duzce&ilce=akcakoca&gun=7 Namaz vakitleri, iftar ve sahur (31 güne kadar)
/v1/hava?il=81 Anlık hava, UV indeksi, 24 saatlik ve 7 günlük tahmin
/v1/deprem/son?min_buyukluk=3&yurtici=true Son depremler, en yakın il/ilçe ve uzaklık
/v1/doviz?kod=USD,EUR,GBP Döviz kurları (TRY): anlık Kapalıçarşı alış/satış, dakikada bir; ?tur=referans ile merkez bankası kuru
/v1/gunes?enlem=41.01&boylam=28.97 Güneş doğuş / batış, gün uzunluğu
/v1/takvim/tatiller?yil=2027 Resmî tatiller ve dini bayramlar
/v1/takvim/gun?tarih=2026-10-29 Gün bilgisi: hafta numarası, iş günü, tatil
/v1/mevzuat/asgari-ucret Asgari ücret: brüt, net, günlük
/v1/mevzuat/gelir-vergisi?matrah=750000 Gelir vergisi tarifesi ve matrahtan vergi hesabı
/v1/mevzuat/kdv KDV oranları
/v1/mevzuat/isveren-maliyeti?tesvik=genel Brüt ücretin işveren maliyeti (teşvikli / teşviksiz) ücretli paket
/v1/mevzuat/yeniden-degerleme Yeniden değerleme oranı
/v1/takvim/dini-gunler?yil=2027 Kandiller, Ramazan başlangıcı, hicri yılbaşı, bayramlar
/v1/takvim/hicri?tarih=2027-02-08 Miladi tarihin hicri karşılığı (Diyanet takvimi)
/v1/takvim/miladi?yil=1448&ay=9&gun=1 Hicri tarihin miladi karşılığı
/v1/saat?sehir=londra Dünya saatleri: yerel saat, UTC ve Türkiye farkı
/v1/ulkeler?para=EUR Ülkeler: ISO kodları, başkent, para birimi, telefon kodu
/v1/cevir/doviz?miktar=100&kaynak=USD&hedef=TRY Döviz çevirici (anlık kur)
/v1/cevir/birim?miktar=5&kaynak=dekar&hedef=m2 Birim çevirici (uzunluk, kütle, alan, hacim, hız, sıcaklık) ücretli paket
/v1/ulasim/kopruler Köprü geçiş ücretleri
/v1/altin?tur=gram,ceyrek Anlık altın fiyatları: gram, çeyrek, yarım, tam, Cumhuriyet, Ata, Reşat, 22/14 ayar, ons ücretli paket 2 birim
/v1/piyasa/fiyat?grup=doviz Anlık döviz, altın, gümüş, parite, emtia ve kripto (Kapalıçarşı alış/satış) ücretli paket 2 birim
/v1/piyasa/grafik?sembol=GRAM&aralik=1d Mum grafiği: 15 dakika, 1 saat, 1 gün ücretli paket 5 birim
/v1/piyasa/hareketliler?tur=kripto&liste=yukselen Günün en çok yükselen, düşen ve hareketli enstrümanları ücretli paket 2 birim
/v1/piyasa/takvim?ulke=TR&gun=7 Ekonomik takvim: enflasyon, faiz kararları; beklenti ve gerçekleşen ücretli paket 5 birim
/v1/piyasa/haberler?dil=tr Piyasa haberleri (başlık, yayıncı, bağlantı) ücretli paket 2 birim
/v1/altin/turler Altın türleri: ağırlık, ayar, saf altın; /v1/altin/hesapla teorik değer
/v1/konumlar/iller 81 il ve 973 ilçe, koordinatlarıyla
/v1/konumlar/ilceler/{ilce}/yerler İlçenin mahalle ve köyleri (~45.900 yer) ücretli paket
/v1/akaryakit?il=duzce Akaryakıt ve LPG fiyatları: il ve dağıtıcı bazında ücretli paket 2 birim
/v1/sarj/istasyonlar?il=duzce&dc=true Elektrikli araç şarj istasyonları: il / ilçe, operatör, soket, güç ücretli paket 2 birim
/v1/sarj/yakin?enlem=40.84&boylam=31.16 Koordinata en yakın şarj istasyonları ücretli paket 5 birim
/v1/sarj/istatistik?il=duzce Şarj altyapısı özeti: il sıralaması, operatör payı, soket tipleri
/v1/oyun/firsatlar?min_indirim=70 İndirimdeki PC oyunları (Steam, GOG, Epic…), TL karşılığıyla ücretli paket 2 birim
/v1/oyun/ara?q=witcher Oyun ara ve mağaza fiyatlarını karşılaştır ücretli paket 10 birim
/v1/besin/ara?q=mercimek Türkçe besin ve yemek arama (kalori)
/v1/besin/{slug} Besin değerleri: 100 g, porsiyon ya da istenen miktar
/v1/besin/hesapla?liste=mercimek-corbasi,pirinc-pilavi:2x,ayran Öğün kalori hesaplayıcı ücretli paket 2 birim
/v1/hava-kalitesi?il=duzce Hava kalitesi: PM2.5, PM10, NO₂, O₃; Avrupa ve ABD indeksi, 3 günlük tahmin 2 birim
/v1/hava/detay?konum=duzce-akcakoca Ayrıntılı hava: hissedilen, çiy noktası, basınç, görüş, hamle; 16 gün ücretli paket 2 birim
/v1/hava/yagis?il=istanbul Yağış tahmini: 15 dakikalık ve saatlik, olasılık, kar ücretli paket 2 birim
/v1/eczane/nobetci?il=duzce&ilce=akcakoca Nöbetçi eczaneler (il / ilçe) ücretli paket 2 birim
/v1/takvim/ay Ay evresi, aydınlanma yüzdesi, sıradaki dolunay / yeni ay
/v1/takvim/okul?yil=2026-2027 MEB okul takvimi: ara tatiller, yarıyıl, karne günleri
/v1/iban/dogrula?iban=TR330006100519786457841326 IBAN doğrulama ve banka adı
/v1/posta-kodu?kod=81650 Posta kodu → il, ilçe, mahalle
/v1/kargo/takip?no=1234567890 Takip numarasından kargo firması ve takip bağlantısı
/v1/hesapla/kredi?tutar=100000&vade=12&faiz=3.5 Kredi ödeme planı: taksit, faiz, KKDF, BSMV ücretli paket
/v1/hesapla/mevduat?tutar=100000&faiz=45&gun=32 Mevduat getirisi: brüt, stopaj, net ücretli paket
/v1/hesapla/yakit?mesafe=250&tuketim=6.5&il=duzce Yolculuk yakıt maliyeti (ilin güncel fiyatıyla) ücretli paket
/v1/hesapla/mtv?silindir=1598&yas=4&deger=800000 Motorlu Taşıtlar Vergisi (otomobil, elektrikli, motosiklet, panelvan) ücretli paket
/v1/hesapla/kidem?brut=60000&giris=2018-03-01&cikis=2026-10-31 Kıdem tazminatı (tavan, damga, net) ücretli paket
/v1/hesapla/ihbar?brut=50000&giris=2023-01-10&cikis=2026-10-31 İhbar tazminatı (süre, gelir vergisi, net) ücretli paket
/v1/hesapla/issizlik?brut_ortalama=50000&prim_gunu=950 İşsizlik ödeneği: aylık tutar ve süre ücretli paket
/v1/hesapla/emekli?aylik=20000 Emekli aylığı zammı (SSK/Bağ-Kur, memur) ücretli paket

Tüm uçlar, parametreler ve yanıt şemaları (OpenAPI) →