İsimden cinsiyet bulma API'si
Bir isim gönderin; cinsiyeti, olasılığı, örneklem büyüklüğünü, güven düzeyini ve verinin kaynağını alın. Türkçe karakterli ve karaktersiz yazımı tanır, tam addan adı ve soyadı ayırır, toplu istekte sırayı korur.
Bu istatistiksel bir tahmin, kimlik tespiti değil. Veri özetleri, kitle analizi ve "bilinmiyor" sonucunu kabul edebilen akışlar için uygundur; tek bir kişi hakkında karar vermek için uygun değildir.
Kredi kartı gerekmez. Satın aldığınız krediler ay sonunda silinmez.
İlk istek
Panelden anahtar oluşturup doğrudan çağırın. Burada JSON gövdeli POST kullanıyoruz; böylece ö, ç, ş gibi harflerin URL kodlamasıyla uğraşmazsınız. GET de çalışır.
curl -X POST "https://namegender.com/api/v1/gender" \
-H "Authorization: Bearer ng_live_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"name":"Özge","country":"TR"}'
Kopyalanamadı. Metni seçip kopyalayın.
{
"query": "Özge",
"name": "Özge",
"gender": "female",
"probability": 95,
"sample_size": 0,
"confidence": "unverified",
"country": "TR",
"source": "db",
"matched_as": null
}
Kopyalanamadı. Metni seçip kopyalayın.
`sample_size` değerinin `0`, `confidence` değerinin `unverified` olduğuna dikkat edin. Türkiye isim bazında sayım yayımlamıyor; bu sonuç sayılmış kayda değil, isim listelerine dayanıyor. Cevap doğru olabilir, ama arkasında sayım yok. Bunu gizlemek yerine yanıtın içinde söylüyoruz.
Yanıt alanları ne anlama geliyor
Üretim kodu yalnızca `gender` alanını okumamalı. Aşağıdaki alanları birlikte saklarsanız eşiği sonradan değiştirebilir, tüm listeyi yeniden sorgulamak zorunda kalmazsınız.
| Alan | Geliştirici için anlamı |
|---|---|
| gender | Kanıt eşiği aştığında baskın istatistiksel kategori; aşmadığında null. |
| probability | Veride baskın kategorinin payı. Bu kişi hakkındaki kesinlik değil. |
| sample_size | Sonucu destekleyen sayılmış kayıt sayısı. 0, kaynağın denetlenebilir bir sayı yayımlamadığı anlamına gelir. |
| confidence | Kanıt miktarına göre high, medium, low, unverified ya da unknown. |
| source | Sonucun veritabanından mı, yazı kurallarından mı, bulanık eşleşmeden mi, dil modelinden mi geldiği ya da hiç sonuç olmadığı. |
| matched_as | Gerçekte eşleşen kayıt. Girdiden farklıysa harf dönüşümü ya da bulanık eşleşme olmuştur. |
`probability: 90` "bu kişi %90 ihtimalle bu cinsiyette" demek değil. Bu ismin mevcut veride baskın kategoriyle ne oranda ilişkili olduğunu gösterir. İkisini karıştırmak, isimden cinsiyet verisinin en yaygın yanlış kullanımıdır.
Türkçe karakterler, unisex isimler ve ad sırası
Türkçe isimlerde zorluk sözlükte bulmak değil, girdinin kendisi. Aynı isim CRM'de "Özge", Excel'de "OZGE", e-Devlet çıktısında "YILMAZ ÖZGE" olarak gelebilir.
Özge ile Ozge, Çağrı ile Cagri aynı sonucu döner. Büyük harfle yazılmış ISMAIL de İsmail olarak tanınır. Verinizi önceden Türkçe karaktere çevirmeniz gerekmez.
Resmî listeler ve bazı İK sistemleri soyadını önce yazar. "Yılmaz Ayşe" gönderildiğinde ilk kelime ad sayılır ve Yılmaz erkek adı olarak da kullanıldığı için sonuç male döner. Ad ve soyad ayrı sütunlardaysa yalnızca adı gönderin.
Deniz, Evrim, Ege, Derin, Meriç iki cinsiyette de kullanılır. Deniz için olasılık %75, Evrim için %68 döner; tek cinsiyetli isimlerde bu değer %95'tir. Düşük olasılık bir hata değil, verinin size "bu isim karışık" demesidir. Eşiğinizi buna göre koyun.
Türkiye isim bazında sayım yayımlamıyor; bu yüzden sample_size çoğunlukla 0, confidence unverified döner. Bu, sonucun yanlış olduğu anlamına gelmez; arkasında sayılmış kayıt olmadığını gösterir.
# Ad önce: soyadı doğru ayrılıyor
{"query": "Ayşe Yılmaz", "first_name": "Ayşe", "last_name": "Yılmaz",
"gender": "female", "probability": 95, "source": "db"}
# Soyad önce (resmî listelerdeki gibi): sonuç tersine dönüyor
{"query": "Yılmaz Ayşe", "first_name": "Yılmaz", "last_name": "Ayşe",
"gender": "male", "probability": 95, "source": "db"}
Kopyalanamadı. Metni seçip kopyalayın.
Bunlar gerçek yanıtlar, temsilî değil. Ad önce yazıldığında API Ayşe'yi ad, Yılmaz'ı soyad olarak ayırıyor ve female dönüyor; resmî listelerdeki gibi soyad önce yazıldığında ilk kelime ad sayılıyor ve sonuç male oluyor. Fark veride değil, girdide.
Türkçe isimlerde ölçülen başarı
Herkese açık sabit test kümesinde Türkiye grubu 61 isimden oluşuyor. Kapsam %98,4, cevap verilen isimlerde doğruluk %93,3; cevapsızları da hata sayan uçtan uca doğruluk %91,8.
Hataların tamamı unisex isimlerde: Deniz, Ege, Derin ve Meriç test kümesinde erkek olarak etiketli, API kadın döndü. Bu bir nüfus sayımı değil, tekrarlanabilir bir ürün testi. Karar vermeden önce kendi etiketli küçük bir örneğinizle deneyin; bu, herhangi bir sağlayıcının verdiği genel doğruluk oranından daha çok şey söyler.
Ölçüm yöntemini görünToplu isimden cinsiyet tespiti
Her isim için ayrı bağlantı açmayın. Toplu uç tek istekte 100 isme kadar kabul eder ve sonuçları girdiyle aynı sırada döner. Kod yazmadan çalışmak isterseniz panelden Excel ya da CSV dosyası yükleyebilirsiniz.
curl -X POST "https://namegender.com/api/v1/gender/bulk" \
-H "Authorization: Bearer ng_live_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"names":["Özge","Cagri","Deniz","Ayşe Yılmaz"],"country":"TR"}'
Kopyalanamadı. Metni seçip kopyalayın.
Nerede kullanılmamalı
İsimden cinsiyet tespiti olasılığa dayalı bir tahmindir. Aşağıdaki kurallar bir sorumluluk reddi değil; belgelerde, API'de ve yanıtlarda kendimizin de uyduğu kurallar.
- —İşe alım, sağlık, finans, sigorta, hukuk ya da uygunluk kararlarında kullanmayın.
- —Arayüzde ve veritabanında "bilinmiyor" değerini koruyun; null sonucu olasılığı yüksek tarafa kendiliğinden çevirmeyin.
- —Olasılık eşiğini kendi verinize göre seçin; genel bir rakamı olduğu gibi almayın.
- —Kapsamı ve cevaplananlardaki doğruluğu birlikte izleyin; yalnızca birine bakmak yanlış sonuca götürür.
- —Türkçe verinizde ad-soyad sırasını ve unisex isimleri ayrıca test edin.
Sık sorulan sorular
Evet. Türkçe karakterli, karaktersiz ve büyük harfli yazım aynı sonucu verir: Özge, Ozge ve OZGE aynı kayda eşleşir.
API baskın kategoriyi döner ama olasılık belirgin biçimde düşer (Deniz %75, Evrim %68). Bu değeri eşiğinizle karşılaştırın; eşiğin altında kalan sonuçları "bilinmiyor" olarak bırakmak çoğu zaman doğru seçimdir.
61 Türkçe isimlik sabit test kümesinde kapsam %98,4, cevaplananlarda doğruluk %93,3, uçtan uca doğruluk %91,8. Test kümesi ve yöntem herkese açık.
Evet. Panelde "Toplu dosyalar" bölümünden Excel ya da CSV yükleyin; sonuç sütunları eklenmiş dosyayı indirirsiniz. Google E-Tablolar eklentisi de var.
Her API anahtarı için "girdileri saklama" ayarını kapatabilirsiniz; kapalıyken gönderdiğiniz isim istek kaydına hiç yazılmaz, yalnızca sonuç ve kredi hareketi kalır. Toplu dosyalar belirli bir süre sonra silinir. KVKK aydınlatma metni ve veri işleme sözleşmesi sitede yayımlı.
Hayır, hiçbir isim API'si belirleyemez. Dönen değer, bu ismin verideki istatistiksel eğilimidir. Kişiyle ilgili önemli kararlarda kişinin kendi beyanını kullanın.
Önce kendi verinizle deneyin
Kayıttan sonra her gün 100 ücretsiz sorgunuz olur. Etiketli küçük bir isim listesiyle kapsamı ve doğruluğu ölçüp sonra karar verin.
NameGender mühendislik ekibi tarafından tutuluyor · Ölçüm verisi 21 Eyl 2026 tarihinde güncellendi