Örnekler
Bu sayfa pratik v2 kullanım akışlarını gösterir. Her örnek küçük bir yanıt yapısı kullanır; aynı kalıbı frontend formlarında, backend servislerinde, script'lerde veya veri pipeline'larında uyarlayabilirsiniz.
Hiyerarşik Adres Seçici
İl -> ilçe -> mahalle formlarında her child koleksiyonu yalnızca kullanıcı parent kaydı seçtikten sonra yükleyin.
curl "https://api.turkiyeapi.dev/v2/provinces?fields=id,name&sort=name"Kullanıcı İstanbul'u (34) seçtikten sonra:
curl "https://api.turkiyeapi.dev/v2/provinces/34/districts?fields=id,name"Kullanıcı Adalar'ı (1103) seçtikten sonra:
curl "https://api.turkiyeapi.dev/v2/districts/1103/neighborhoods?fields=id,name,postalCode,postalCodeStatus"Dropdown ve adım adım seçiciler için bu nested kalıbı kullanın. Daha geniş bir sonuç kümesinde arama, filtreleme, sıralama veya sayfalama gerekiyorsa collection endpoint'lerini kullanın.
İstanbul'un İlçeleri
İstanbul'un il ID'si 34'tür. İlçelerini listelemek için:
curl "https://api.turkiyeapi.dev/v2/districts?provinceId=34&fields=id,name,population&sort=name"const response = await fetch(
'https://api.turkiyeapi.dev/v2/districts?provinceId=34&fields=id,name,population&sort=name',
);
const { data } = await response.json();
console.log(data);Nested endpoint de kullanılabilir:
curl "https://api.turkiyeapi.dev/v2/provinces/34/districts?fields=id,name,population"Kullanıcı az önce bir il seçtiyse nested endpoint'i tercih edin. Parent filtresiyle birlikte search, sort, sayfalama veya nüfus filtreleri kullanmak istiyorsanız collection query daha pratiktir.
Belediyeye Göre Mahalleler
Kullanıcı bir belediye seçtiğinde mahalleleri municipalityId ile yükleyin.
curl "https://api.turkiyeapi.dev/v2/neighborhoods?municipalityId=937&fields=id,name,postalCode,postalCodeStatus&sort=name&limit=100"Bu akış adres formları için kullanışlıdır:
İl -> İlçe -> Belediye -> MahalleZaten belediye detay sayfasındaysanız nested endpoint de kullanılabilir:
curl "https://api.turkiyeapi.dev/v2/municipalities/937/neighborhoods?fields=id,name,postalCode,postalCodeStatus"İl Seçici
Kompakt bir il seçici için yalnızca id ve name isteyin:
curl "https://api.turkiyeapi.dev/v2/provinces?fields=id,name&sort=name&limit=100"Yanıtta yine meta bulunur; böylece seçiciyi hangi veri seti sürümünün doldurduğunu doğrulayabilirsiniz.
Nüfus Aralığındaki İlçeler
İstanbul'da nüfusu 100000 ile 500000 arasında olan ilçeleri bulmak için:
curl "https://api.turkiyeapi.dev/v2/districts?provinceId=34&minPopulation=100000&maxPopulation=500000&fields=id,name,population&sort=-population"Bu kalıp dashboard ve raporlama araçları için kullanışlıdır.
Minimum değer maksimum değerden büyükse API 400 INVALID_RANGE_FILTER döndürür.
Posta Kodu Filtreleme
Tam posta koduyla kayıt bulmak için:
curl "https://api.turkiyeapi.dev/v2/neighborhoods?postalCode=01020&fields=id,name,provinceId,districtId,postalCode"Kısmi posta kodu girişini desteklemek için:
curl "https://api.turkiyeapi.dev/v2/villages?postalCodePrefix=020&fields=id,name,provinceId,districtId,postalCode"Yalnızca resmi PTT posta kodu verisine dayanan kayıtları istiyorsanız postalCodeStatus=official ekleyin.
Tipe Göre Belediyeler
Belde belediyelerini listelemek için:
curl "https://api.turkiyeapi.dev/v2/municipalities?type=town&fields=id,name,provinceId,districtId,population&limit=50"İzin verilen belediye tipleri province_center, district_center ve town değerleridir.
İlişkili Verilerle Kaynak Detayı
Parent kaynaklara ihtiyaç duyan detay ekranları için include kullanın:
curl "https://api.turkiyeapi.dev/v2/neighborhoods/3?include=province,district,municipality"Bu istek mahalleyi; il, ilçe ve belediye bilgileriyle birlikte tek yanıtta döndürür.
Liste ekranları ve dropdown'larda büyük ilişkili dizileri include ile yüklemek yerine parent filtrelerini veya nested child route'ları tercih edin.
Statik Veri Seti İndirme
Tüm il kayıtlarına yerelde ihtiyacınız varsa:
curl "https://api.turkiyeapi.dev/v2/datasets/provinces.json"Sabit bir snapshot için:
curl "https://api.turkiyeapi.dev/v2/datasets/2025/provinces.json"Tam import işlemleri için statik dosyaları, filtrelenmiş ve sayfalanmış uygulama akışları için API endpoint'lerini kullanın.
