Bu yazı 9 Ağustos 2026'da baştan yazıldı. Önceki sürümü, NVİ'nin herkese açık
KPSPublic.asmxservisine entegrasyon anlatıyordu. O servis 30 Eylül 2025 itibarıyla kapatıldı. Eski protokol ayrıntıları, arşiv değeri taşıdıkları için yazının sonundaki *"30 Eylül 2025 öncesi nasıl çalışıyordu"* bölümünde duruyor — ama bugün uygulanamazlar.
Kısa cevap
Nüfus ve Vatandaşlık İşleri Genel Müdürlüğü'nün (NVİ) herkese açık §§T0§§ web servisleri 30 Eylül 2025 tarihinde hizmet vermeyi durdurdu. O tarihe kadar kimlik doğrulama, kayıt gerektirmeyen bir SOAP çağrısıyla yapılabiliyordu.
Bugün "bu TC kimlik numarası gerçekten bu kişiye mi ait?" sorusunu resmî olarak yanıtlamanın yolu Kimlik Paylaşımı Sistemi (KPS) kurumsal üyeliğidir ve bu üyelik herkese açık değildir.
Bu iki şeyi karıştırmayın:
| Format doğrulama | Kimlik doğrulama | |
|---|---|---|
| Neyi söyler | Numara checksum kurallarına uyuyor mu | Numara gerçekten o kişiye mi ait |
| Nerede çalışır | Tarayıcıda / kendi sunucunuzda, çevrimdışı | Yalnızca NVİ kayıtlarına erişimle |
| Kimler yapabilir | Herkes | KPS kurumsal üyeliği olan kurumlar |
| Maliyet | Sıfır | Üyelik süreci + tarifeye tabi sorgu ücreti |
| Bu sitedeki karşılığı | TCKN Doğrulayıcı | Yok — ve olamaz |
Bu sitedeki araçlar yalnızca birinci sütunu yapar. Hiçbir zaman NVİ'ye sorgu göndermedik, göndermiyoruz.
Ne değişti?
NVİ, https://tckimlik.nvi.gov.tr/ adresi üzerinden sunduğu public web servislerini 30.09.2025 tarihi itibarıyla kullanıma kapattı. Kapanış, servisi çağıran tüm entegrasyonları aynı anda etkiledi; bir geçiş dönemi ya da kademeli kısıtlama uygulanmadı.
Pratikte bu şu anlama geliyor:
- Eski
KPSPublic.asmxendpoint'ine yapılan istekler artık çalışmıyor. - Kodunuzda bu entegrasyon duruyorsa, sessizce başarısız oluyor ya da hata sayfası döndürüyor olabilir. Yanıtı §§T0§§ sanıp kullanıcıyı reddeden bir akışınız varsa bu bir üretim hatasıdır — hemen kontrol edin.
- "Ücretsiz TC kimlik doğrulama API'si" vaat eden üçüncü taraf servisler, ya KPS üyeliği olan bir kurumun arkasındadır ya da gerçekte yalnızca format doğrulaması yapmaktadır. Hangisi olduğunu sözleşmesinde açıkça yazmıyorsa, ikincisi olduğunu varsayın.
Bugün TC kimlik doğrulaması nasıl yapılır?
KPS kurumsal üyeliği
Kimlik Paylaşımı Sistemi, NVİ'nin nüfus kayıtlarını yetkili kurumlarla paylaştığı sistemdir. Kimlik doğrulama servisleri bugün yalnızca bu sistem üzerinden sunuluyor.
Kimler başvurabilir: Kimlik Paylaşımı Sistemi Yönetmeliği "alıcı kurum"u, sistemden yararlanan kurumlar ve kamu hizmeti sunan tüzel kişilikler olarak tanımlıyor. Yani bu, "bir API anahtarı alıp entegre olma" süreci değil; kurumsal bir yetkilendirme süreci.
Başvuruda ne isteniyor: Alıcı kurumlar Genel Müdürlüğe yazılı olarak veya elektronik ortamda talepte bulunur. Başvuruda üç şey zorunludur:
- Talep edilen bilgilerin kullanılma gerekçesinin açık, net ve somut olması
- Kurumun bu bilgileri almasına esas olan yasal dayanağın belirtilmesi
- Genel Müdürlük tarafından talep edilen belgelerin gönderilmesi
Bu üç madde, kapanışın gerekçesini de açıklıyor: herkese açık servis, hukuki dayanağı denetlenmeyen sorgulara izin veriyordu.
Başvuru kanalı: kpsbasvuru.nvi.gov.tr. Sistem hakkında genel bilgi için NVİ — Kimlik Paylaşımı Sistemi sayfasına bakın.
Ücretlendirme: KPS erişimi ücretsiz değildir; sorgulama, yürürlükteki tarifeye göre ücretlendirilir. Güncel birim fiyatı bu yazıda vermiyoruz — tarife değişebilir ve yanlış bir rakam bütçe planınızı bozar. Başvuru sürecinde NVİ'den yazılı olarak teyit alın.
Kurumsal üyeliğiniz yoksa
Çoğu geliştirici için gerçekçi seçenekler şunlar:
- Kullanıcının kendisine doğrulatın. e-Devlet Kapısı ile kimlik doğrulama, mobil imza veya e-imza akışlarında kimliği doğrulayan taraf sizin sisteminiz değil, kullanıcının kendi oturumudur. Kendi başınıza nüfus kaydı sorgulamanız gerekmez. KVKK açısından da en temiz yoldur: veriyi siz toplamazsınız.
- Yetkili bir entegratörle çalışın. KPS üyeliği olan kurumlar, sözleşme kapsamında doğrulama hizmeti sunabilir. Sözleşme yaparken iki şeyi yazılı isteyin: hangi yasal dayanakla eriştikleri ve verinin nerede saklandığı.
- İhtiyacınız gerçekten kimlik doğrulama mı? Pek çok akış için değil. Aşağıdaki bölüm bunu ayrıştırıyor.
Format mu, kimlik mi? Her adımda sorun
İş akışınızın her adımında şu soruyu sorun: *"Buraya format mı lazım, kimlik mi?"*
- Kullanıcı formu gönderdi → format (anında, yerel, ücretsiz)
- Sigorta teklifi oluşturma → format (henüz sözleşme yok)
- Üyelik açma, fatura kesme → kimlik (KPS ya da e-Devlet tabanlı akış)
- Para transferi, yüksek risk → kimlik + ek katman (SMS OTP, video KYC)
En ucuz katmandan başlayıp gerektikçe derinleşmek hem kullanıcı deneyimi hem maliyet açısından doğrudur. Format katmanını atlayanlar, doğrulama servisine gereksiz trafik gönderir ve yazım hatalarını ücretli sorguyla yakalar. Kimlik katmanını hiç kurmayanlar ise gerçek olmayan kimliklerle sistemlerini doldurur.
Format katmanını TCKN Doğrulayıcı ile deneyebilir, algoritmanın kendisini TC algoritması yazısında okuyabilirsiniz.
KVKK notları
Kimlik doğrulama çağrısı yapmak, hangi kanaldan olursa olsun bir kişisel veri işleme faaliyetidir:
- Sorguladığınız TC kimlik numarasını log'da maskeleyin.
- Aydınlatma metninizde doğrulamanın hangi kanalla yapıldığı yazmalı. Eski metinlerinizde "NVİ MERNİS servisi ile doğrulama yapılır" ifadesi varsa ve o entegrasyon artık çalışmıyorsa, metin de gerçeği yansıtmıyor demektir — güncelleyin.
- Hukuki sebebi kurumunuzun yasal dayanağına göre belirleyin; KPS başvurusunda zaten bunu beyan etmiş olacaksınız.
- Yanıtları cache'liyorsanız anahtarı düz TCKN ile kurmayın ve saklama süresini sınırlayın.
Ayrıntı: KVKK uyumlu kimlik doğrulama rehberi.
Arşiv: 30 Eylül 2025 öncesi nasıl çalışıyordu
Aşağıdaki bölüm tarihsel kayıttır. Anlatılan endpoint kapalıdır; buradaki hiçbir adım bugün uygulanamaz. Eski bir entegrasyonu teşhis ederken işinize yarayabilir.
Servis SOAP 1.1/1.2 üzerinden çalışıyordu. Ana adres https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx, method TCKimlikNoDogrula idi. Dört parametre alıyordu: TCKimlikNo, Ad, Soyad, DogumYili; dönüş değeri tek bir true/false idi — hangi alanın tutmadığını söylemezdi.
Uygulamada en sık karşılaşılan tuzaklar şunlardı ve bir kısmı bugün de öğreticidir:
- Ad/soyad büyük harfe çevrilmemişti →
false, gerekçe belirtilmeden. - Türkçe karakter dönüşümü → "Ğ" yerine "G" gönderilirse eşleşme başarısız. Nüfus kaydındaki yazımın birebir aynısı gerekirdi.
- §§T0§§ nüfus kaydıyla uyuşmuyordu → yine
false. - Format olarak geçerli ama gerçek olmayan numara → format katmanı geçer, servis
falsederdi. İki katmanın farkını en net gösteren durum buydu. - §§T0§§ header'ı eksikti → HTTP 500.
Yabancı Kimlik Numarası için ayrı bir method vardı (YabanciKimlikNoDogrula) ve tam doğum tarihi ile kimlik seri numarası isterdi. YKN'nin 99 ile başlayan 11 haneli yapısı ve TCKN ile aynı checksum kurallarına tabi olması bugün de geçerlidir — bu, servise değil numaranın kendisine ait bir özellik. Ayrıntı: TCKN nedir, TCKN/YKN farkı.
Sonuç
Herkese açık NVİ servisi kapandı ve geri gelmesini beklemeyin; kapanışın gerekçesi teknik değil, erişimin hukuki dayanağının denetlenememesiydi.
Bugün doğru kurgu şu: format doğrulamasını kendiniz yapın — ücretsiz, anında ve hiçbir kişisel veri hareket etmeden. Kimlik doğrulamasına gerçekten ihtiyacınız varsa ya KPS kurumsal üyeliği alın ya da kullanıcının kendi kimliğini doğruladığı bir akışa (e-Devlet, mobil imza) geçin.
- Format katmanı: TC algoritması · TCKN Doğrulayıcı
- Toplu akışlar: Toplu TCKN/VKN doğrulama · Toplu Doğrulama
- Uyum: KVKK uyumlu kimlik doğrulama
- Kaynaklar: NVİ — Kimlik Paylaşımı Sistemi · KPS başvuru