API rehberi
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ıç
- Ücretsiz hesap açın (e-posta ya da Google ile).
- Panelde Yeni anahtar ile API anahtarı oluşturun. Anahtar
va_ile başlar ve yalnızca bir kez gösterilir. - İ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.
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
Originbaş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-akcakoca | Konum slug'ı (/v1/konumlar/iller ve /ilceler yanıtlarında) |
| ?enlem=40.84&boylam=31.16 | En 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/ara | 10 |
| /v1/piyasa/grafik | 5 |
| /v1/piyasa/takvim | 5 |
| /v1/sarj/yakin | 5 |
| /v1/piyasa* | 2 |
| /v1/altin | 2 |
| /v1/akaryakit* | 2 |
| /v1/sarj/istasyonlar* | 2 |
| /v1/oyun/firsatlar | 2 |
| /v1/oyun/ucretsiz | 2 |
| /v1/oyun/{oyun_id} | 10 |
| /v1/besin/hesapla | 2 |
| /v1/trafik* | 5 |
| /v1/eczane* | 2 |
| /v1/hava/detay | 2 |
| /v1/hava/yagis | 2 |
| /v1/hava-kalitesi | 2 |
| Diğer tüm uçlar | 1 |
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.
| Paket | Günlük (birim) | Dakikalık | Anahtar |
|---|---|---|---|
| Ücretsiz | 500 | 20 | 1 |
| Başlangıç | 10.000 | 60 | 3 |
| Profesyonel | 50.000 | 300 | 10 |
| Kurumsal | 250.000 | 1.000 | 50 |
6. Hata kodları
Hatalar {"hata": {"kod": 404, "mesaj": "…"}} biçiminde döner. Mesajlar Türkçedir ve kullanıcıya gösterilebilir.
| 401 | Anahtar yok, geçersiz ya da iptal edilmiş. |
| 403 | Alan 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ı. |
| 422 | Geçersiz parametre. mesaj.alanlar hangi parametrenin hatalı olduğunu söyler. |
| 429 | Dakikalık ya da günlük sınır aşıldı. Retry-After başlığına bakın. |
| 503 | Veri 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[].atifmetnini 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-srcveconnect-src'yeveriapi.proeklenmelidir. Stil kutunun içinde kalır, sitenizi etkilemez. - iframe ile: CSP'ye dokunamıyorsanız
frame-src veriapi.proyeterlidir.
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°er=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 |