Skip to content

open-admin-data/turkey-administrative-divisions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Turkey Administrative Divisions / Türkiye

Overview

Item Details
Province 81
District 973
Town 2,469
Coordinates ✅ Included (all levels)
Postal Codes ✅ Included (town level)
Formats JSON, NDJSON, CSV
License CC-BY-4.0
Last Updated 2026-06-19
Website openadmindata.org/tr
API openadmindata.org/api/tr

Browse by Province

# Province Districts Towns Link
1 Adana 15 65 Browse
2 Adiyaman 9 31 Browse
3 Afyonkarahi̇sar (Afyonkarahisar) 18 49 Browse
4 Ağri (Agri) 8 20 Browse
5 Aksaray 8 18 Browse
6 Amasya 7 16 Browse
7 Ankara 25 84 Browse
8 Antalya 19 63 Browse
9 Ardahan 6 14 Browse
10 Artvi̇n (Artvin) 9 23 Browse
11 Aydin 17 25 Browse
12 Balikesi̇r (Balikesir) 20 65 Browse
13 Bartin 4 11 Browse
14 Batman 6 15 Browse
15 Bayburt 3 7 Browse
16 Bi̇leci̇k (Bilecik) 8 15 Browse
17 Bi̇ngöl (Bingol) 8 18 Browse
18 Bi̇tli̇s (Bitlis) 7 19 Browse
19 Bolu 9 22 Browse
20 Burdur 11 27 Browse
21 Bursa 17 67 Browse
22 Çanakkale (Canakkale) 12 37 Browse
23 Çankiri (Cankiri) 12 25 Browse
24 Çorum (Corum) 14 32 Browse
25 Deni̇zli̇ (Denizli) 19 31 Browse
26 Di̇yarbakir (Diyarbakir) 17 19 Browse
27 Düzce (Duzce) 8 20 Browse
28 Edi̇rne (Edirne) 9 26 Browse
29 Elaziğ (Elazig) 11 32 Browse
30 Erzi̇ncan (Erzincan) 9 22 Browse
31 Erzurum 20 23 Browse
32 Eski̇şehir (Eskisehir) 14 39 Browse
33 Gazi̇antep (Gaziantep) 9 26 Browse
34 Gi̇resun (Giresun) 16 33 Browse
35 Gümüşhane (Gumushane) 6 12 Browse
36 Hakkari̇ (Hakkari) 5 12 Browse
37 Hatay 15 23 Browse
38 Iğdir (Igdir) 4 8 Browse
39 Isparta 13 25 Browse
40 İstanbul (Istanbul) 39 266 Browse
41 İzmi̇r (Izmir) 30 101 Browse
42 Kahramanmaraş (Kahramanmaras) 11 17 Browse
43 Karabük (Karabuk) 6 12 Browse
44 Karaman 6 17 Browse
45 Kars 8 16 Browse
46 Kastamonu 20 41 Browse
47 Kayseri̇ (Kayseri) 16 38 Browse
48 Ki̇li̇s (Kilis) 4 8 Browse
49 Kirikkale 9 21 Browse
50 Kirklareli̇ (Kirklareli) 8 25 Browse
51 Kirşehi̇r (Kirsehir) 7 15 Browse
52 Kocaeli̇ (Kocaeli) 12 32 Browse
53 Konya 31 78 Browse
54 Kütahya (Kutahya) 13 29 Browse
55 Malatya 13 32 Browse
56 Mani̇sa (Manisa) 17 70 Browse
57 Mardi̇n (Mardin) 10 15 Browse
58 Mersi̇n (Mersin) 13 60 Browse
59 Muğla (Mugla) 13 13 Browse
60 Muş (Mus) 6 17 Browse
61 Nevşehi̇r (Nevsehir) 8 30 Browse
62 Ni̇ğde (Nigde) 6 15 Browse
63 Ordu 19 23 Browse
64 Osmani̇ye (Osmaniye) 7 15 Browse
65 Ri̇ze (Rize) 12 28 Browse
66 Sakarya 16 18 Browse
67 Samsun 17 28 Browse
68 Şanliurfa (Sanliurfa) 13 18 Browse
69 Si̇i̇rt (Siirt) 7 18 Browse
70 Si̇nop (Sinop) 9 18 Browse
71 Şirnak (Sirnak) 7 14 Browse
72 Si̇vas (Sivas) 17 41 Browse
73 Teki̇rdağ (Tekirdag) 11 17 Browse
74 Tokat 12 25 Browse
75 Trabzon 18 21 Browse
76 Tunceli̇ (Tunceli) 8 18 Browse
77 Uşak (Usak) 6 10 Browse
78 Van 13 13 Browse
79 Yalova 6 12 Browse
80 Yozgat 14 26 Browse
81 Zonguldak 8 19 Browse

Data Files

File Format Description
all-province.json JSON All 81 province records
all-district.json JSON All 973 district records
all-town.json JSON All 2,469 town records
all-flat.json JSON Levels 1-2 flat array
all-flat.ndjson NDJSON Streaming format
all-flat.csv CSV Spreadsheet format
hierarchy.json JSON Nested tree
schema.json JSON Schema Data schema

Quick Start

Python

import json

with open("data/all-province.json", "r", encoding="utf-8") as f:
    data = json.load(f)

for r in data:
    print(f"{r['name']['local']} ({r['name']['en']}) — {r['children_count']['district']} districts")

JavaScript

import { readFileSync } from "fs";

const data = JSON.parse(readFileSync("data/all-province.json", "utf-8"));
console.log(`Total: ${data.length} provinces`);

Schema

Field Type Description
id string Unique identifier
level integer 1=province, 2=district, 3=town
level_name object Level label (local + English)
name.local string Name in local script
name.en string English name
name.slug string URL-safe slug
parent object/null Parent division reference
ancestors array Full ancestor chain
children_count object Count of children per level
zip_codes array Postal codes (where available)
geo.lat string Latitude (WGS84)
geo.lon string Longitude (WGS84)

Full schema: data/schema.json

Hierarchy Browse

divisions/{province-slug}/
divisions/{province-slug}/{district-slug}/

Towns are listed inline in each district's README.

AI Integration

Citation

Turkey Administrative Divisions Dataset (CC-BY-4.0)
URL: https://github.com/open-admin-data/turkey-administrative-divisions

See CITATION.cff for machine-readable citation.

License

Related

  • Open Admin Data — Browse, search and explore administrative divisions for every country
  • open-admin-data — GitHub organization with all country repos
  • ListBase — Structured reference data for every country

About

Turkey administrative divisions: 81 provinces, 973 districts, 2,469 towns with postal codes — Open Admin Data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors