API dokümantasyonu

Tüm veri uçları X-API-Key başlığı ister. Anahtarlar konsoldan üretilir ve seçtiğin API ürünlerine (kapsamlara) yetkilendirilir. Yanıtlar JSON; liste uçları data ve count alanlarıyla, sayfalı uçlar ayrıca total ile döner.

v1 · stabilhttps://api.apikapi.com/v1Konsolda deneOpenAPI JSON

Kimlik doğrulama

Kayıt ol, konsolda bir anahtar üret ve her isteğe X-API-Key başlığı ekle. Anahtar yalnızca oluşturulurken tam görünür. Sandbox anahtarları kotadan düşmez, 10 istek/dk ile sınırlıdır ve anahtar limitine sayılmaz.

curl
curl "https://api.apikapi.com/v1/provinces?region=Akdeniz" \
  -H "X-API-Key: apk_…"

Hız limitleri ve kotalar

Kotalar kullanıcı başına toplamdır; aynı hesaptaki tüm anahtarların kullanımı birlikte sayılır. Gün UTC gece yarısı, hafta pazartesi, ay takvim ayı başında sıfırlanır. Aşımda istekler 429 döner, veri kesilmez. Veri yanıtları ETag taşır; If-None-Match ile 304 alırsın — bu çağrılar da kotadan düşer, istemci tarafında önbellekle.

FreeProEnterprise
Hız limiti60 / dk600 / dkÖzel
Günlük istek20020.000Özel
Haftalık istek1.000100.000Özel
Aylık istek2.000300.000Özel
Maks. API anahtarı210Özel
İstek logları7 gün7 gün7 gün
DestekToplulukE-postaAyrılmış kanal

API bazlı aylık limitler (free): İl & İlçe 2.000, Posta Kodları & Mahalleler 1.000, Nüfus Serileri 2.000, İstatistik Göstergeleri 2.000, Sınırlar (GeoJSON) 1.000 istek/ay. Kullanımını konsolda ürün kırılımıyla görürsün.

Hata kodları

Hatalar tek biçimde döner: { "error": "…" }. Kod ham sayı olarak gösterilir; mesaj Türkçedir.

KodAnlamı
400Geçersiz istek gövdesi ya da parametre. Mesaj alanında neyin yanlış olduğu yazar.
401X-API-Key eksik ya da geçersiz; hesap uçlarında oturum gerekli.
403Anahtar bu API için yetkili değil; konsoldan kapsam ekle.
404Kayıt yok ya da uç henüz yayında değil.
423Hesap kilitli: 5 hatalı girişten sonra 15 dk bekle.
429Hız limiti ya da dönemsel kota aşıldı. Retry-After başlığına bak; veri kesilmez.
500Beklenmeyen hata. Tekrar dene; sürerse destek yaz.
429 örneği
HTTP/1.1 429 Too Many Requests
Retry-After: 3600
Content-Type: application/json

{ "error": "günlük kota aşıldı" }

Sürümler ve geçmiş veri

Her veri çekimi bir sürüm bırakır, eski sürümler sorgulanabilir kalır. Sürüm listesi açık uçtadır: GET /v1/releases anahtar istemez, bir saat önbelleklenir ve en yeni sürüm başta döner. Her satırda sürüm slug'ı (2026-09), çekilme zamanı, kaynak dönemi ve kapsam sayıları vardır.

İl, ilçe, mahalle, posta kodu ve sınır uçlarına ?release=2026-09 eklersen listeyi ve sınırları o sürümdeki haliyle alırsın. Parametreyi göndermezsen her zaman güncel sürüm döner; bilinmeyen bir sürüm 404 verir. Nüfus ve gösterge uçları zaten dönemseldir, sürüm parametresi almaz: gönderirsen 400 döner, geçmişi from, to ve period ile seçersin.

Yanıtın hangi sürümden geldiğini meta.release alanında ve X-Dataset-Release başlığında görürsün.

MethodAçıklamaKimlik
GET/v1/releasesVeri sürümleri; en yeni başta, kapsam sayılarıylaherkese açık

Yayındaki sürümler: Eylül 2026 (güncel)

curl
curl "https://api.apikapi.com/v1/releases"

curl "https://api.apikapi.com/v1/provinces?release=2026-09" \
  -H "X-API-Key: apk_…"

Hesap uçları

Kayıt, giriş ve anahtar yönetimi Authorization: Bearer ses_… oturum token'ı ister. Konsol bu uçları tarayıcıdan doğrudan değil, aynı origin'deki oturum vekili üzerinden çağırır; token httpOnly çerezde kalır.

MethodAçıklamaKimlik
POST/v1/auth/registerKayıt: e-posta, şifre, ad, soyad; oturum token'ı döner
POST/v1/auth/loginGiriş; oturum token'ı döner
POST/v1/auth/logoutÇıkışBearer
GET/v1/meHesap + anahtar listesiBearer
GET/v1/me/avatarProfil fotoğrafı (görsel)Bearer
GET/v1/me/usageGünlük/haftalık/aylık kullanım, limitler, sıfırlanma zamanları, 30 günlük seri, ürün ve anahtar kırılımıBearer
GET/v1/me/requestsSon istek logları (7 gün)Bearer
GET/v1/me/auditHesap hareketleri (IP + lokasyon), sayfalıBearer
GET/v1/me/sessionsAktif oturumlarBearer
DELETE/v1/me/sessions/{id}Oturumu uzaktan kapatBearer
POST/v1/me/keysYeni anahtar: {name?, scopes[], expires_at?, sandbox?}Bearer
DELETE/v1/me/keys/{id}Anahtarı silBearer
POST/v1/me/keys/{id}/rotateAnahtarı yenile; eski değer geçersizleşirBearer
PUT/v1/me/keys/{id}/scopesYetkili API'leri değiştirBearer
PUT/v1/me/keys/{id}/expirySon kullanma tarihini değiştir (null = süresiz)Bearer
PUT/v1/me/keys/{id}/nameAnahtar ismini değiştir (en fazla 60 karakter)Bearer
PUT/v1/me/profileAd soyad güncelleBearer
PUT/v1/me/passwordŞifre değiştir; diğer oturumlar kapanırBearer
PUT/v1/me/avatarProfil fotoğrafı (png/jpeg/webp, en fazla 512 KB)Bearer
DELETE/v1/meHesabı sil (KVKK), şifre doğrulamalıBearer
GET/v1/productsYetkilendirilebilir API kataloğuBearer
GET/v1/releasesVeri sürümleri: slug, çekilme zamanı, kaynak dönemi ve kapsam sayıları; en yeni baştaherkese açık
GET/v1/openapi.jsonOpenAPI 3 spesifikasyonuherkese açık

İl & İlçe

freeYayındakapsam: geo · 11 endpoint · TÜİK · ubeydeozdmr/turkiye-api veri setiÜrün sayfası →

Güncellendi 7 Eyl 2026 · yılda bir

TÜİK il ve ilçe kodları, plaka ve telefon alan kodları, nüfus, yüzölçümü, rakım, bölge ve NUTS sınıflaması, koordinat. Koordinattan en yakın il ve isim araması dahil.

GET

/v1/provinces

Dene

Tüm iller — 81 il; nüfus, yüzölçümü, rakım, bölge, NUTS, koordinat ve alan kodu ile.

ParametreTipYerZorunluAçıklama
regionstringsorguHayırBölge adı ile filtrele. · örn. Akdeniz
metropolitanbooleansorguHayırYalnızca büyükşehirler. · örn. true
coastalbooleansorguHayırYalnızca kıyı illeri. · örn. true
releasestringsorguHayırVeri sürümü; boşsa güncel sürüm döner. Bilinmeyen sürüm 404 verir. · örn. 2026-09
curl "https://api.apikapi.com/v1/provinces?region=Akdeniz" \
  -H "X-API-Key: apk_…"
/v1/provinces · 200
1{
2 "data": [
3 {
4 "code": 6,
5 "name": "Ankara",
6 "slug": "ankara",
7 "population": 5910320,
8 "area_km2": 25632,
9 "altitude_m": 905,
10 "phone_area_codes": [
11 312
12 ],
13 "is_coastal": false,
14 "is_metropolitan": true,
15 "region_tr": "İç Anadolu",
16 "region_en": "Central Anatolia",
17 "nuts1": "TR5",
18 "nuts2": "TR51",
19 "nuts3": "TR510",
20 "lat": 39.9207759,
21 "lng": 32.8540497,
22 "neighbors": [
23 14,
24 18,
25 26,
26 40,
27 42,
28 68,
29 71
30 ],
31 "density": 230.3,
32 "district_count": 25
33 }
34 ],
35 "count": 81
36}
GET

/v1/provinces/{code}

Dene

İl detayı — Plaka / TÜİK il koduyla tek il.

ParametreTipYerZorunluAçıklama
codeintegeryolEvetPlaka kodu (1–81). · örn. 6
releasestringsorguHayırVeri sürümü; boşsa güncel sürüm döner. Bilinmeyen sürüm 404 verir. · örn. 2026-09
curl "https://api.apikapi.com/v1/provinces/6" \
  -H "X-API-Key: apk_…"
/v1/provinces/6 · 200
1{
2 "data": {
3 "code": 6,
4 "name": "Ankara",
5 "slug": "ankara",
6 "population": 5910320,
7 "area_km2": 25632,
8 "altitude_m": 905,
9 "phone_area_codes": [
10 312
11 ],
12 "is_coastal": false,
13 "is_metropolitan": true,
14 "region_tr": "İç Anadolu",
15 "region_en": "Central Anatolia",
16 "nuts1": "TR5",
17 "nuts2": "TR51",
18 "nuts3": "TR510",
19 "lat": 39.9207759,
20 "lng": 32.8540497,
21 "neighbors": [
22 14,
23 18,
24 26,
25 40,
26 42,
27 68,
28 71
29 ],
30 "density": 230.3,
31 "district_count": 25
32 }
33}
GET

/v1/provinces/{code}/districts

Dene

İlin ilçeleri

ParametreTipYerZorunluAçıklama
codeintegeryolEvetPlaka kodu. · örn. 6
releasestringsorguHayırVeri sürümü; boşsa güncel sürüm döner. Bilinmeyen sürüm 404 verir. · örn. 2026-09
curl "https://api.apikapi.com/v1/provinces/6/districts" \
  -H "X-API-Key: apk_…"
/v1/provinces/6/districts · 200
1{
2 "data": [
3 {
4 "code": 1872,
5 "province_code": 6,
6 "name": "Akyurt",
7 "slug": "akyurt",
8 "population": 46956,
9 "area_km2": 369,
10 "lat": 40.11074,
11 "lng": 33.14798,
12 "is_central": false,
13 "neighbors": [
14 1130,
15 1260
16 ],
17 "density": 127.9
18 },
19 {
20 "code": 1231,
21 "province_code": 6,
22 "name": "Çankaya",
23 "slug": "cankaya",
24 "population": 952198,
25 "area_km2": 483,
26 "lat": 39.81167,
27 "lng": 32.89236,
28 "is_central": false,
29 "neighbors": [
30 1130,
31 1167
32 ],
33 "density": 1965.7
34 }
35 ],
36 "count": 25
37}
GET

/v1/districts/{code}

Dene

İlçe detayı

ParametreTipYerZorunluAçıklama
codeintegeryolEvetTÜİK ilçe kodu. · örn. 1231
releasestringsorguHayırVeri sürümü; boşsa güncel sürüm döner. Bilinmeyen sürüm 404 verir. · örn. 2026-09
curl "https://api.apikapi.com/v1/districts/1231" \
  -H "X-API-Key: apk_…"
/v1/districts/1231 · 200
1{
2 "data": {
3 "code": 1231,
4 "province_code": 6,
5 "name": "Çankaya",
6 "slug": "cankaya",
7 "population": 952198,
8 "area_km2": 483,
9 "lat": 39.81167,
10 "lng": 32.89236,
11 "is_central": false,
12 "neighbors": [
13 1130,
14 1167,
15 1302
16 ],
17 "density": 1965.7
18 }
19}
GET

/v1/provinces/nearest

Dene

Koordinata en yakın il

ParametreTipYerZorunluAçıklama
latnumbersorguEvetEnlem (-90…90). · örn. 39.92
lngnumbersorguEvetBoylam (-180…180). · örn. 32.85
releasestringsorguHayırVeri sürümü; boşsa güncel sürüm döner. Bilinmeyen sürüm 404 verir. · örn. 2026-09
curl "https://api.apikapi.com/v1/provinces/nearest?lat=39.92&lng=32.85" \
  -H "X-API-Key: apk_…"
/v1/provinces/nearest · 200
1{
2 "data": {
3 "distance_km": 0.356,
4 "province": {
5 "code": 6,
6 "name": "Ankara",
7 "slug": "ankara",
8 "population": 5910320,
9 "region_tr": "İç Anadolu",
10 "nuts2": "TR51",
11 "lat": 39.9207759,
12 "lng": 32.8540497,
13 "district_count": 25
14 }
15 }
16}
GET

/v1/regions

Dene

İBBS bölgeleri — Düzey-1 (12) ve düzey-2 (26) İBBS/NUTS bölgeleri; koordinat, yüzölçümü ve nüfusla.

ParametreTipYerZorunluAçıklama
levelintegersorguHayırYalnızca bir düzey: 1 ya da 2; boşsa 38 bölgenin tümü. · örn. 1
releasestringsorguHayırVeri sürümü; boşsa güncel sürüm döner. Bilinmeyen sürüm 404 verir. · örn. 2026-09
curl "https://api.apikapi.com/v1/regions" \
  -H "X-API-Key: apk_…"
/v1/regions · 200
1{
2 "data": [
3 {
4 "code": "TR1",
5 "name": "İstanbul",
6 "level": 1,
7 "parent_code": null,
8 "lat": 41.15052,
9 "lng": 28.81037,
10 "area_km2": 5454.8,
11 "population": 15754053
12 },
13 {
14 "code": "TR51",
15 "name": "Ankara",
16 "level": 2,
17 "parent_code": "TR5",
18 "lat": 39.6,
19 "lng": 32.7,
20 "area_km2": 25632,
21 "population": 5910320
22 }
23 ],
24 "count": 38
25}
GET

/v1/regions/{code}

Dene

Bölge detayı

ParametreTipYerZorunluAçıklama
codestringyolEvetİBBS kodu (TR1…TR9, TRA…TRC; düzey-2 için TR10, TR51…). · örn. TR5
releasestringsorguHayırVeri sürümü; boşsa güncel sürüm döner. Bilinmeyen sürüm 404 verir. · örn. 2026-09
curl "https://api.apikapi.com/v1/regions/TR5" \
  -H "X-API-Key: apk_…"
/v1/regions/TR5 · 200
1{
2 "data": {
3 "code": "TR5",
4 "name": "Batı Anadolu",
5 "level": 1,
6 "parent_code": null,
7 "lat": 38.52131,
8 "lng": 32.66896,
9 "area_km2": 75157.6,
10 "population": 8516084
11 }
12}
GET

/v1/regions/{code}/provinces

Dene

Bölgenin illeri

ParametreTipYerZorunluAçıklama
codestringyolEvetİBBS kodu. · örn. TR5
releasestringsorguHayırVeri sürümü; boşsa güncel sürüm döner. Bilinmeyen sürüm 404 verir. · örn. 2026-09
curl "https://api.apikapi.com/v1/regions/TR5/provinces" \
  -H "X-API-Key: apk_…"
/v1/regions/TR5/provinces · 200
1{
2 "data": [
3 {
4 "code": 6,
5 "name": "Ankara",
6 "slug": "ankara",
7 "population": 5910320,
8 "nuts1": "TR5",
9 "nuts2": "TR51",
10 "district_count": 25
11 },
12 {
13 "code": 42,
14 "name": "Konya",
15 "slug": "konya",
16 "population": 2343409,
17 "nuts1": "TR5",
18 "nuts2": "TR52",
19 "district_count": 31
20 }
21 ],
22 "count": 3
23}
GET

/v1/provinces/{code}/neighbors

Dene

Komşu iller

ParametreTipYerZorunluAçıklama
codeintegeryolEvetPlaka kodu. · örn. 6
releasestringsorguHayırVeri sürümü; boşsa güncel sürüm döner. Bilinmeyen sürüm 404 verir. · örn. 2026-09
curl "https://api.apikapi.com/v1/provinces/6/neighbors" \
  -H "X-API-Key: apk_…"
/v1/provinces/6/neighbors · 200
1{
2 "data": [
3 {
4 "code": 14,
5 "name": "Bolu",
6 "slug": "bolu",
7 "population": 327173,
8 "region_tr": "Karadeniz",
9 "neighbors": [
10 6,
11 11,
12 67,
13 81
14 ],
15 "density": 39.4,
16 "district_count": 9
17 },
18 {
19 "code": 18,
20 "name": "Çankırı",
21 "slug": "cankiri",
22 "population": 200549
23 }
24 ],
25 "count": 7
26}
GET

/v1/districts/{code}/neighbors

Dene

Komşu ilçeler

ParametreTipYerZorunluAçıklama
codeintegeryolEvetTÜİK ilçe kodu. · örn. 1231
releasestringsorguHayırVeri sürümü; boşsa güncel sürüm döner. Bilinmeyen sürüm 404 verir. · örn. 2026-09
curl "https://api.apikapi.com/v1/districts/1231/neighbors" \
  -H "X-API-Key: apk_…"
/v1/districts/1231/neighbors · 200
1{
2 "data": [
3 {
4 "code": 1130,
5 "province_code": 6,
6 "name": "Altındağ",
7 "slug": "altindag",
8 "population": 418072,
9 "area_km2": 123,
10 "lat": 39.99704,
11 "lng": 32.9853,
12 "is_central": false,
13 "density": 3399
14 },
15 {
16 "code": 1302,
17 "province_code": 6,
18 "name": "Elmadağ",
19 "slug": "elmadag",
20 "population": 45644
21 }
22 ],
23 "count": 7
24}

Posta Kodları & Mahalleler

freeYayındakapsam: postal · 4 endpoint · ubeydeozdmr/turkiye-api veri setiÜrün sayfası →

Güncellendi 3 Eyl 2026 · yılda bir

İlçe bazında mahalle, köy ve belediye listeleri; posta kodundan yerleşim çözümleme. Sayfalı ve aramalı.

GET

/v1/districts/{code}/neighborhoods

Dene

İlçenin mahalleleri

ParametreTipYerZorunluAçıklama
codeintegeryolEvetTÜİK ilçe kodu. · örn. 1231
qstringsorguHayırİsimde ara.
pageintegersorguHayırSayfa (varsayılan 1).
per_pageintegersorguHayırSayfa boyu (1–200, varsayılan 50).
releasestringsorguHayırVeri sürümü; boşsa güncel sürüm döner. Bilinmeyen sürüm 404 verir. · örn. 2026-09
curl "https://api.apikapi.com/v1/districts/1231/neighborhoods?per_page=20" \
  -H "X-API-Key: apk_…"
/v1/districts/1231/neighborhoods · 200
1{
2 "data": [
3 {
4 "id": 1614,
5 "name": "100.Yıl",
6 "slug": "100yil",
7 "province_code": 6,
8 "district_code": 1231,
9 "municipality_id": 1155,
10 "population": 5273,
11 "postal_code": "06680",
12 "postal_code_status": "official"
13 }
14 ],
15 "count": 20,
16 "total": 124
17}
GET

/v1/districts/{code}/villages

Dene

İlçenin köyleri

ParametreTipYerZorunluAçıklama
codeintegeryolEvetTÜİK ilçe kodu.
qstringsorguHayırİsimde ara.
pageintegersorguHayırSayfa.
per_pageintegersorguHayırSayfa boyu.
releasestringsorguHayırVeri sürümü; boşsa güncel sürüm döner. Bilinmeyen sürüm 404 verir. · örn. 2026-09
curl "https://api.apikapi.com/v1/districts/1872/villages" \
  -H "X-API-Key: apk_…"
/v1/districts/1872/villages · 200
1{
2 "data": [
3 {
4 "id": 9876,
5 "name": "Çardakbağı",
6 "slug": "cardakbagi",
7 "province_code": 6,
8 "district_code": 1872,
9 "population": 312,
10 "postal_code": "06750",
11 "postal_code_status": "official"
12 }
13 ],
14 "count": 1,
15 "total": 1
16}
GET

/v1/districts/{code}/municipalities

Dene

İlçenin belediyeleri

ParametreTipYerZorunluAçıklama
codeintegeryolEvetTÜİK ilçe kodu. · örn. 1231
releasestringsorguHayırVeri sürümü; boşsa güncel sürüm döner. Bilinmeyen sürüm 404 verir. · örn. 2026-09
curl "https://api.apikapi.com/v1/districts/1231/municipalities" \
  -H "X-API-Key: apk_…"
/v1/districts/1231/municipalities · 200
1{
2 "data": [
3 {
4 "id": 1155,
5 "name": "Çankaya",
6 "slug": "cankaya",
7 "province_code": 6,
8 "district_code": 1231,
9 "type": "district_center",
10 "population": 952198
11 }
12 ],
13 "count": 1
14}
GET

/v1/postal-codes/{code}

Dene

Posta kodundan yerleşim

ParametreTipYerZorunluAçıklama
codestringyolEvet5 haneli posta kodu. · örn. 06420
releasestringsorguHayırVeri sürümü; boşsa güncel sürüm döner. Bilinmeyen sürüm 404 verir. · örn. 2026-09
curl "https://api.apikapi.com/v1/postal-codes/06420" \
  -H "X-API-Key: apk_…"
/v1/postal-codes/06420 · 200
1{
2 "data": {
3 "postal_code": "06420",
4 "neighborhoods": [
5 {
6 "id": 1534,
7 "name": "Cumhuriyet",
8 "slug": "cumhuriyet",
9 "province_code": 6,
10 "district_code": 1231,
11 "municipality_id": 1155,
12 "population": 295,
13 "postal_code": "06420",
14 "postal_code_status": "official"
15 }
16 ],
17 "villages": []
18 }
19}

Nüfus Serileri

freeYayındakapsam: population · 4 endpoint · TÜİK ADNKSÜrün sayfası →

Güncellendi 7 Eyl 2026 · yılda bir

TÜİK ADNKS nüfus serileri. İl, ilçe ve İBBS bölgesi düzeyinde yıllık toplam, erkek ve kadın nüfus.

GET

/v1/population

Dene

Düzey ve koda göre nüfus serisi

ParametreTipYerZorunluAçıklama
levelstringsorguEvetprovince | district | region · örn. province
codestringsorguEvetPlaka, TÜİK ilçe ya da İBBS kodu. · örn. 6
fromintegersorguHayırBaşlangıç yılı; boşsa 2007. · örn. 2020
tointegersorguHayırBitiş yılı; boşsa 2025. · örn. 2022
curl "https://api.apikapi.com/v1/population?level=province&code=6" \
  -H "X-API-Key: apk_…"
/v1/population · 200
1{
2 "data": {
3 "code": "6",
4 "level": "province",
5 "name": "Ankara",
6 "series": [
7 {
8 "year": 2007,
9 "total": 4466756,
10 "male": 2225033,
11 "female": 2241723
12 },
13 {
14 "year": 2008,
15 "total": 4548939,
16 "male": 2267779,
17 "female": 2281160
18 }
19 ]
20 },
21 "count": 19
22}
GET

/v1/provinces/{code}/population

Dene

İl nüfus serisi

ParametreTipYerZorunluAçıklama
codeintegeryolEvetPlaka kodu. · örn. 6
fromintegersorguHayırBaşlangıç yılı; boşsa 2007. · örn. 2020
tointegersorguHayırBitiş yılı; boşsa 2025. · örn. 2022
curl "https://api.apikapi.com/v1/provinces/6/population" \
  -H "X-API-Key: apk_…"
/v1/provinces/6/population · 200
1{
2 "data": {
3 "code": "6",
4 "level": "province",
5 "name": "Ankara",
6 "series": [
7 {
8 "year": 2007,
9 "total": 4466756,
10 "male": 2225033,
11 "female": 2241723
12 }
13 ]
14 },
15 "count": 19
16}
GET

/v1/districts/{code}/population

Dene

İlçe nüfus serisi

ParametreTipYerZorunluAçıklama
codeintegeryolEvetTÜİK ilçe kodu. · örn. 1231
fromintegersorguHayırBaşlangıç yılı; boşsa 2007. · örn. 2020
tointegersorguHayırBitiş yılı; boşsa 2025. · örn. 2022
curl "https://api.apikapi.com/v1/districts/1231/population" \
  -H "X-API-Key: apk_…"
/v1/districts/1231/population · 200
1{
2 "data": {
3 "code": "1231",
4 "level": "district",
5 "name": "Çankaya",
6 "series": [
7 {
8 "year": 2007,
9 "total": 792189,
10 "male": 381000,
11 "female": 411189
12 }
13 ]
14 },
15 "count": 19
16}
GET

/v1/regions/{code}/population

Dene

Bölge nüfus serisi

ParametreTipYerZorunluAçıklama
codestringyolEvetİBBS kodu. · örn. TR5
fromintegersorguHayırBaşlangıç yılı; boşsa 2007. · örn. 2020
tointegersorguHayırBitiş yılı; boşsa 2025. · örn. 2022
curl "https://api.apikapi.com/v1/regions/TR5/population" \
  -H "X-API-Key: apk_…"
/v1/regions/TR5/population · 200
1{
2 "data": {
3 "code": "TR5",
4 "level": "region",
5 "name": "Batı Anadolu",
6 "series": [
7 {
8 "year": 2007,
9 "total": 6560000,
10 "male": 3270000,
11 "female": 3290000
12 }
13 ]
14 },
15 "count": 19
16}

İstatistik Göstergeleri

freeYayındakapsam: stats · 3 endpoint · TÜİK (MEDAS)Ürün sayfası →

Güncellendi 7 Eyl 2026 · göstergeye göre yılda bir; iki seri aylık

TÜİK bölgesel istatistik göstergeleri: gösterge listesi, kapsam ve dönemler; düzey, kod ya da döneme göre değer serileri.

GET

/v1/indicators

Dene

Gösterge listesi

ParametreTipYerZorunluAçıklama
groupstringsorguHayırGrup adıyla filtrele (11 grup); boşsa 80 göstergenin tümü. · örn. Çevre ve Enerji
curl "https://api.apikapi.com/v1/indicators" \
  -H "X-API-Key: apk_…"
/v1/indicators · 200
1{
2 "data": [
3 {
4 "no": "CVRBA-GK1697132-O40508",
5 "name": "Atık hizmeti verilen belediye nüfusunun toplam belediye nüfusuna oranı (%)",
6 "name_en": "Rate of population served by municipal waste services (%)",
7 "group": "Çevre ve Enerji",
8 "source": "medas",
9 "period": "yillik",
10 "decimals": 0,
11 "meta_url": "https://data.tuik.gov.tr/Kategori/GetKategori?p=cevre-ve-enerji-103&dil=1"
12 }
13 ],
14 "count": 80
15}
GET

/v1/indicators/{no}

Dene

Gösterge detayı ve kapsamı

ParametreTipYerZorunluAçıklama
nostringyolEvetGösterge kodu (listeden). · örn. CVRBA-GK1697132-O40508
curl "https://api.apikapi.com/v1/indicators/CVRBA-GK1697132-O40508" \
  -H "X-API-Key: apk_…"
/v1/indicators/CVRBA-GK1697132-O40508 · 200
1{
2 "data": {
3 "no": "CVRBA-GK1697132-O40508",
4 "name": "Atık hizmeti verilen belediye nüfusunun toplam belediye nüfusuna oranı (%)",
5 "group": "Çevre ve Enerji",
6 "source": "medas",
7 "period": "yillik",
8 "decimals": 0,
9 "coverage": [
10 {
11 "level": "province",
12 "periods": [
13 "2001",
14 "2002",
15 "2004"
16 ]
17 },
18 {
19 "level": "region",
20 "periods": [
21 "2001",
22 "2002",
23 "2004"
24 ]
25 }
26 ]
27 }
28}
GET

/v1/indicators/{no}/values

Dene

Gösterge değerleri

ParametreTipYerZorunluAçıklama
nostringyolEvetGösterge kodu. · örn. CVRBA-GK1697132-O40508
levelstringsorguHayırprovince | district | region · örn. province
codestringsorguHayırDüzey kodu (plaka, ilçe ya da İBBS). · örn. 6
periodstringsorguHayırDönem, örn. 2022 — kod yerine dönemle tüm birimler.
limitintegersorguHayırSatır üst sınırı (en fazla 1000). · örn. 100
curl "https://api.apikapi.com/v1/indicators/CVRBA-GK1697132-O40508/values?level=province&code=6" \
  -H "X-API-Key: apk_…"
/v1/indicators/CVRBA-GK1697132-O40508/values · 200
1{
2 "indicator": "CVRBA-GK1697132-O40508",
3 "data": [
4 {
5 "level": "province",
6 "code": "6",
7 "name": "Ankara",
8 "period": "2001",
9 "value": 99
10 },
11 {
12 "level": "province",
13 "code": "6",
14 "name": "Ankara",
15 "period": "2002",
16 "value": 100
17 }
18 ],
19 "count": 14
20}

Sınırlar (GeoJSON)

freeYayındakapsam: boundaries · 4 endpoint · TÜİK Coğrafi İstatistik PortalıÜrün sayfası →

Güncellendi 7 Eyl 2026 · yılda bir

İdari sınırlar GeoJSON formatında (Polygon / MultiPolygon, bbox ile); harita katmanları ve konum sorguları için.

GET

/v1/provinces/{code}/boundary

Dene

İl sınırı

ParametreTipYerZorunluAçıklama
codeintegeryolEvetPlaka kodu. · örn. 6
releasestringsorguHayırVeri sürümü; boşsa güncel sürüm döner. Bilinmeyen sürüm 404 verir. · örn. 2026-09
curl "https://api.apikapi.com/v1/provinces/6/boundary" \
  -H "X-API-Key: apk_…"
/v1/provinces/6/boundary · 200
1{
2 "type": "Feature",
3 "id": "6",
4 "bbox": [
5 30.8198,
6 38.6399,
7 33.9,
8 40.75
9 ],
10 "properties": {
11 "code": "6",
12 "level": "province",
13 "name": "Ankara"
14 },
15 "geometry": {
16 "type": "MultiPolygon",
17 "coordinates": [
18 [
19 [
20 [
21 30.82,
22 39.6
23 ],
24 [
25 31.1,
26 39.4
27 ],
28 [
29 "…"
30 ]
31 ]
32 ]
33 ]
34 }
35}
GET

/v1/districts/{code}/boundary

Dene

İlçe sınırı

ParametreTipYerZorunluAçıklama
codeintegeryolEvetTÜİK ilçe kodu. · örn. 1231
releasestringsorguHayırVeri sürümü; boşsa güncel sürüm döner. Bilinmeyen sürüm 404 verir. · örn. 2026-09
curl "https://api.apikapi.com/v1/districts/1231/boundary" \
  -H "X-API-Key: apk_…"
/v1/districts/1231/boundary · 200
1{
2 "type": "Feature",
3 "id": "1231",
4 "bbox": [
5 32.628,
6 39.677,
7 32.99,
8 39.95
9 ],
10 "properties": {
11 "code": "1231",
12 "level": "district",
13 "name": "Çankaya",
14 "province_code": 6
15 },
16 "geometry": {
17 "type": "Polygon",
18 "coordinates": [
19 [
20 [
21 32.63,
22 39.9
23 ],
24 [
25 32.7,
26 39.68
27 ],
28 [
29 "…"
30 ]
31 ]
32 ]
33 }
34}
GET

/v1/regions/{code}/boundary

Dene

Bölge sınırı (düzey-2)

ParametreTipYerZorunluAçıklama
codestringyolEvetDüzey-2 İBBS kodu (TR10, TR51…); düzey-1 için sınır verisi yok. · örn. TR51
releasestringsorguHayırVeri sürümü; boşsa güncel sürüm döner. Bilinmeyen sürüm 404 verir. · örn. 2026-09
curl "https://api.apikapi.com/v1/regions/TR51/boundary" \
  -H "X-API-Key: apk_…"
/v1/regions/TR51/boundary · 200
1{
2 "type": "Feature",
3 "id": "TR51",
4 "bbox": [
5 30.8198,
6 38.6399,
7 33.9,
8 40.75
9 ],
10 "properties": {
11 "code": "TR51",
12 "level": "region",
13 "name": "Ankara"
14 },
15 "geometry": {
16 "type": "MultiPolygon",
17 "coordinates": [
18 [
19 [
20 [
21 30.82,
22 39.6
23 ],
24 [
25 "…"
26 ]
27 ]
28 ]
29 ]
30 }
31}
GET

/v1/boundaries

Dene

Toplu sınır listesi

ParametreTipYerZorunluAçıklama
levelstringsorguEvetprovince | district | region · örn. region
releasestringsorguHayırVeri sürümü; boşsa güncel sürüm döner. Bilinmeyen sürüm 404 verir. · örn. 2026-09
curl "https://api.apikapi.com/v1/boundaries?level=region" \
  -H "X-API-Key: apk_…"
/v1/boundaries · 200
1{
2 "type": "FeatureCollection",
3 "count": 26,
4 "features": [
5 {
6 "type": "Feature",
7 "id": "TR10",
8 "bbox": [
9 27.9703,
10 40.81,
11 29.94,
12 41.6
13 ],
14 "properties": {
15 "code": "TR10",
16 "level": "region",
17 "name": "İstanbul"
18 },
19 "geometry": {
20 "type": "MultiPolygon",
21 "coordinates": [
22 [
23 "…"
24 ]
25 ]
26 }
27 }
28 ]
29}