İsteği göndermeden önce
POST https://api.genderapi.io/api/v2/gender adresine JSON gönderin. Authorization: Bearer YOUR_API_KEY başlığında mevcut anahtarınızı ve Content-Type: application/json kullanın. Her istek bağımsız işlenir.
Kod örneğinde dilinizi seçin. Çalıştırmadan önce GENDERAPI_API_KEY ortam değişkenini ayarlayın. Eksik veya tanınmayan anahtarlar ortak IP denemesini kullanabilir; hesap entegrasyonunda meta.access.mode değerinin api_key olduğunu doğrulayın.
İsimden cinsiyet tahmini
| Parametre | Tür | Zorunlu | Varsayılan | Açıklama |
|---|---|---|---|---|
type | string | Evet | — | Girdi türü: name, email veya username. |
value | string | Evet | — | Zorunlu. 1–254 karakter; boş olamaz ve kontrol karakteri içeremez. E-posta değeri geçerli e-posta sözdizimine uymalıdır. |
country | string | Hayır | — | İsteğe bağlı, büyük harfli ISO 3166-1 alpha-2 kodu; örneğin TR veya US. Ülkeye özel sorgu, genel veri kümesine dönebilir. |
forceToGenderize | boolean | Hayır | false | Önce veri kümesine bakılır; sonuç bulunamazsa takma adları yorumlayan yapay zekâ kullanılır. name, email ve username için desteklenir. |
options | object | Hayır | — | Her girdiye ait yapay zekâ seçeneklerini içeren nesne. |
options.ai_mode | string | Hayır | fallback | Geçerli değerler: off, fallback, always. forceToGenderize: true olduğunda bu alanı göndermeyin veya fallback kullanın. |
id | string | Hayır | — | POST JSON içinde isteğe bağlı, 1–64 karakterlik kimlik. Her toplu sonuçta geri döner ve aynı toplu istekte benzersiz olmalıdır. Tekli sorguda kabul edilir ancak yanıtta yer almaz. GET sorgularında desteklenmez. |
Ad veya tam ad için type: name kullanın. Başarılı yanıtta gender: null olabilir. Tekli istekler önce veri kümesini kontrol eder; cinsiyet belirlenemezse varsayılan olarak yapay zekâya sorar.
Programlama dilinizi seçin. API anahtarınızı ayarlayın, ardından örneği sunucunuzda çalıştırın.
Yeniden denemeler dahil her tahmin isteği yeni ve ücretlendirilebilir bir işlemdir. Örnekler otomatik yeniden deneme yapmaz. Yeni istekten önce ücretlendirme durumunu kontrol edin.
Çalıştırmadan önce: erişim ve hata yönetimi
Örnekleri sunucunuzda çalıştırın. İşlem ortamındaki GENDERAPI_API_KEY değişkenini mevcut anahtarınıza ayarlayın. Tanınmayan anahtar IP denemesine yönlenebildiğinden meta.access.mode değerinin api_key olduğunu doğrulayın.
HTTP 4xx ve 5xx JSON yanıtlarında hata gövdesi korunur ve program sıfırdan farklı çıkış koduyla sonlanır. Yeniden denemeden önce code, action ve meta.usage.billing_status alanlarını kontrol edin.
Hata ve yeniden deneme rehberi →POSIX kabuğunda cURL 7.76+. Terminalinizde çalıştırın. Çalıştırma ortamı dokümantasyonu
Node.js 22+; yerleşik fetch. example.mjs olarak kaydedin ve node example.mjs çalıştırın. Çalıştırma ortamı dokümantasyonu
Python 3.10+; standart kütüphane. example.py olarak kaydedin ve python3 example.py çalıştırın. Çalıştırma ortamı dokümantasyonu
cURL uzantılı PHP 8+. example.php olarak kaydedin ve php example.php çalıştırın. Çalıştırma ortamı dokümantasyonu
Java 17+; standart HTTP istemcisi. GenderApiExample.java olarak kaydedin ve java GenderApiExample.java çalıştırın. Çalıştırma ortamı dokümantasyonu
.NET 8+ konsol uygulaması. Konsol projesinde Program.cs olarak kullanın, ardından dotnet run çalıştırın. Çalıştırma ortamı dokümantasyonu
Go 1.22+; standart kütüphane. main.go olarak kaydedin ve go run main.go çalıştırın. Çalıştırma ortamı dokümantasyonu
Örnek yanıt
Bu, 1 Ekim 2026'da API anahtarıyla alınmış gerçek bir yanıttır; yalnızca hesap bakiyesi değiştirilmiştir. Doğruluk ölçüsü değildir ve canlı bir istek farklı bir sonuç döndürebilir. API anahtarlı isteklerde meta.access.mode: api_key döner ve yalnızca denemeye ait kota alanları null olur; IP denemesi isteklerinde ip_trial döner. Tahmini data, işlemin ücretlendirme sonucunu meta.usage içinde okuyun.
{
"data": {
"input": {
"type": "name",
"value": "Elif",
"country": "TR"
},
"name": "elif",
"gender": "female",
"country": "TR",
"confidence": 0.9896548693676163,
"confidence_kind": "observed_frequency",
"sample_count": 79651,
"source": "dataset",
"result_status": "identified",
"reason": null,
"country_source": "dataset",
"match": {
"name": "elif",
"method": "normalized",
"scope": "country",
"country": "TR"
}
},
"meta": {
"request_id": "d570b038-4085-4ae3-ba10-50b54721e518",
"duration_ms": 26,
"access": {
"mode": "api_key",
"reason": null
},
"usage": {
"charged_credits": 1,
"remaining_credits": 49999,
"billing_status": "confirmed",
"resets_at": null,
"limit": null,
"period_seconds": null
}
}
}Tahmin yanıtı alanları
| Alan | Tür | Null olabilir mi? | Örnek | Açıklama |
|---|---|---|---|---|
data.input | object | Hayır | {"type":"name","value":"Elif","country":"TR"} | Girdi türü, değeri ve ülkesi. forceToGenderize, true olduğunda eklenir. |
data.name | string | Evet | "elif" | Eşleşen veya çıkarılan ad; bulunamıyorsa null. |
data.gender | string | Evet | "male" | male, female veya JSON null. Doğrulanmış kişisel kimlik değil, tahmindir. |
data.result_status | string | Hayır | "identified" | Cinsiyet döndürüldüğünde identified, diğer durumlarda unknown. |
data.reason | string | Evet | null | Sonuç identified ise null. Bilinmeyen sonuç nedenleri: not_found, no_name_candidate, ambiguous veya insufficient_evidence. |
data.confidence | number | Evet | 0.95 | 0–1 arası puan veya null. Cinsiyet null ise güven skoru da null’dır. |
data.confidence_kind | string | Evet | "observed_frequency" | observed_frequency: baskın veri kümesi sayısı / toplam. model_reported: yapay zekâ skoru; kalibre edilmiş olasılık değildir. Bilgi yoksa null. |
data.sample_count | integer | Evet | 1200 | Veri kümesindeki örnek sayısı veya null. Yapay zekâ örnek sayısı üretmez. |
data.source | string | Hayır | "dataset" | dataset, ai veya none. |
data.country | string | Evet | "TR" | Veri kümesi veya ai_association kaynaklı ülke ilişkisi; bilgi yoksa null. Vatandaşlık, ikamet veya etnik köken kanıtı değildir. |
data.country_source | string | Evet | "dataset" | Ülke ilişkilendirmesinin kaynağı: dataset, ai_association veya null. |
data.match | object | Hayır | {"name":"elif","method":"normalized","scope":"country","country":"TR"} | Eşleşen isim, yöntem (normalized, token, substring veya model_inference), ülke/genel kapsam ve eşleşen ülke. Olmayan kanıt null’dır. |
Erişim, ücretlendirme ve istek bilgileri
| Alan | Tür | Null olabilir mi? | Örnek | Açıklama |
|---|---|---|---|---|
meta.request_id | string | Hayır | "550e8400-e29b-41d4-a716-446655440000" | Bu HTTP isteğinin benzersiz kimliği; X-Request-ID başlığında da gönderilir. |
meta.duration_ms | integer | Hayır | 42 | İsteğin milisaniye cinsinden işlenme süresi. |
meta.access.mode | string | Hayır | "api_key" | api_key, ip_trial veya unauthenticated. Hesap anahtarıyla erişimde api_key olduğunu doğrulayın. |
meta.access.reason | string | Evet | null | Denemeye geçiş nedeni: api_key_missing, api_key_invalid veya api_key_not_found; diğer durumlarda null. |
meta.usage.charged_credits | integer | Evet | 1 | Net düşülen kredi. Ücretlendirme öncesinde veya tam iade doğrulandığında sıfırdır; ücretlendirme belirsizse null. |
meta.usage.remaining_credits | integer | Evet | 99 | İşlem tamamlandığındaki bakiye. Negatif olabilir; bilgi alınamıyorsa veya ücretlendirme belirsizse null. |
meta.usage.billing_status | string | Hayır | "confirmed" | not_charged, confirmed veya unconfirmed. Başarısız bir tahmini yeniden denemeden önce kontrol edin. |
meta.usage.resets_at | string | Evet | "2026-09-27T12:00:00.000Z" | IP denemesinin UTC sıfırlanma zamanı (ISO 8601); API anahtarlı hesaplarda veya bilinmiyorsa null. |
meta.usage.limit | integer | Evet | 10 | IP denemesinin kredi hakkı; API anahtarlı hesaplarda null. |
meta.usage.period_seconds | integer | Evet | 86400 | IP denemesinin saniye cinsinden süresi; API anahtarlı hesaplarda null. |
Ülke bağlamı ve bulunamayan isimler
country alanını yalnızca ilgili ülke bilgisi varsa gönderin. API ülkeye özel veya genel veri kümesi kaydını seçebilir; seçimi data.match.scope gösterir. Dönen ülke, kişinin yaşadığı yeri kanıtlamaz.
Tekli istekte varsayılan AI fallback toplam 1 kredidir. Yalnızca veri kümesi için options: {"ai_mode": "off"} gönderin. İşlem başarıyla tamamlandığında gender: null sonucu da ücretlidir. Tam adın bir bileşeni eşleşebilir; seçilen aday ve yöntem data.match içinde bulunur.
Takma ad niteliğindeki isimlerde forceToGenderize: true, gerçek ad bulunmadan tahmine izin verir. Çözülen veri kümesi sonucu 1 kredi; aksi halde takma ad odaklı yapay zekâ toplam 2 kredidir. Pozitif başlangıç bakiyesi yeterlidir; sonuçta bakiye eksiye düşebilir.
Tam ad sorgusunda hangi adın eşleştiğini kontrol edin
Adı özgün Unicode karakterleriyle gönderin; Türkçe karakterleri ASCII karşılıklarına dönüştürmeniz gerekmez. Veri kümesi eşleştirmesi NFKC normalleştirmesi, küçük harfe dönüştürme ve ad bileşenlerini ayırma adımlarını uygular. Mevcut adaylar arasından kayıt toplamı en yüksek olan seçilir. Bu aday, tam adın sonraki bir bileşeni de olabilir; ilk sözcüğün veya kişinin ön adının seçildiğini varsaymayın.
Aşağıdaki örnek yalnızca veri kümesini sorgular. Gönderdiğiniz tam adı data.input.value, seçilen adayı data.match.name, eşleştirme yöntemini data.match.method alanından okuyun. Örnek, belirli bir cinsiyet veya ad bileşeninin döneceğini garanti etmez. Veri kümesi adayları iki karakterden uzun olmalıdır; kısa girdilerde tahmin bulunamayabilir. Uygulamanız için uygunsa standart yapay zekâ yedeklemesini açabilirsiniz.
Programlama dilinizi seçin. API anahtarınızı ayarlayın, ardından örneği sunucunuzda çalıştırın.
Yeniden denemeler dahil her tahmin isteği yeni ve ücretlendirilebilir bir işlemdir. Örnekler otomatik yeniden deneme yapmaz. Yeni istekten önce ücretlendirme durumunu kontrol edin.
Çalıştırmadan önce: erişim ve hata yönetimi
Örnekleri sunucunuzda çalıştırın. İşlem ortamındaki GENDERAPI_API_KEY değişkenini mevcut anahtarınıza ayarlayın. Tanınmayan anahtar IP denemesine yönlenebildiğinden meta.access.mode değerinin api_key olduğunu doğrulayın.
HTTP 4xx ve 5xx JSON yanıtlarında hata gövdesi korunur ve program sıfırdan farklı çıkış koduyla sonlanır. Yeniden denemeden önce code, action ve meta.usage.billing_status alanlarını kontrol edin.
Hata ve yeniden deneme rehberi →POSIX kabuğunda cURL 7.76+. Terminalinizde çalıştırın. Çalıştırma ortamı dokümantasyonu
Node.js 22+; yerleşik fetch. example.mjs olarak kaydedin ve node example.mjs çalıştırın. Çalıştırma ortamı dokümantasyonu
Python 3.10+; standart kütüphane. example.py olarak kaydedin ve python3 example.py çalıştırın. Çalıştırma ortamı dokümantasyonu
cURL uzantılı PHP 8+. example.php olarak kaydedin ve php example.php çalıştırın. Çalıştırma ortamı dokümantasyonu
Java 17+; standart HTTP istemcisi. GenderApiExample.java olarak kaydedin ve java GenderApiExample.java çalıştırın. Çalıştırma ortamı dokümantasyonu
.NET 8+ konsol uygulaması. Konsol projesinde Program.cs olarak kullanın, ardından dotnet run çalıştırın. Çalıştırma ortamı dokümantasyonu
Go 1.22+; standart kütüphane. main.go olarak kaydedin ve go run main.go çalıştırın. Çalıştırma ortamı dokümantasyonu
Sonuçta hangi ülke bağlamının kullanıldığını inceleyin
ISO ülke kodunu yalnızca ilgili bir ülke bilgisine sahipseniz gönderin; tahmin sonucundan ülke kodu türetmeyin. Her aday için ülkeye özgü kayıt varsa genel kayda göre önceliklidir. Ülke kaydı yoksa genel kayıt kullanılabilir. Ülke kaydındaki erkek ve kadın sayıları eşitse genel kayda geçilmez. Seçilen kayıt böyle bir eşitlik içeriyorsa veri kümesi sonucu unknown olur; yapay zekâ yedeklemesi açıksa devreye girebilir.
| Yanıttaki alan | Anlamı | Uygulamada yapılacak işlem |
|---|---|---|
| match.scope: country; match.country: TR | Seçilen aday, istenen ülkeye ait veri kümesi kaydıyla eşleşmiştir. | Seçilen adayı ve ülke kapsamını tahminle birlikte saklayın. |
| match.scope: global; match.country: null | İstekte ülke belirtilmiş olsa bile seçilen aday için genel kayıt kullanılmıştır. | Sonucu ülkeye özgü bir eşleşme olarak göstermeyin. |
| country_source: dataset or ai_association | data.country alanının kaynağını açıklar; sorgu kapsamını veya kişinin uyruğunu göstermez. | match.country alanından ayrı değerlendirin. Bu alanların hiçbiri ikamet veya uyruk doğrulamaz. |
| source: ai; match.scope: null | Son yanıt yapay zekâdan gelmiştir; yanıtta seçilmiş bir veri kümesi kaydı yoktur. | Yapay zekâ güven skoru kurallarını uygulayın ve unknown sonuçlarını koruyun. |