İ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.
E-posta adresinden 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. |
type: email kullanın. API, adreste kullanılabilir bir isim ipucu arar. Ortak posta kutuları ve anlamlı ipucu içermeyen yerel bölümler belirsiz sonuç verebilir. İsteğe bağlı forceToGenderize, gerçek ad bulunmasa bile takma addan yapay zekâ tahminine izin verir.
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": "email",
"value": "alice.smith@example.com",
"country": "US"
},
"name": "alice",
"gender": "female",
"country": "US",
"confidence": 0.9932550587059705,
"confidence_kind": "observed_frequency",
"sample_count": 4003,
"source": "dataset",
"result_status": "identified",
"reason": null,
"country_source": "dataset",
"match": {
"name": "alice",
"method": "token",
"scope": "country",
"country": "US"
}
},
"meta": {
"request_id": "7c22993d-454f-4f61-8b4b-d1154d3b89ff",
"duration_ms": 13,
"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. |
E-posta doğrulama ve isim ipuçları
value geçerli e-posta sözdizimine uymalıdır. Geçersiz sözdizimi ücretlendirmeden önce HTTP 422 döndürür. Sözdizimi kontrolü, posta kutusunun varlığını veya belirli bir kişiye ait olduğunu doğrulamaz.
Adresteki tanınabilir kişi adı veri kümesiyle eşleşebilir. Ortak, görev bazlı veya anlamlı isim içermeyen adreslerde gender: null dönebilir. Çözülemeyen tekli sorguda varsayılan normal AI fallback toplam 1 kredidir; başarıyla tamamlanan belirsiz sonuç da buna dahildir.
Veri kümesinde tahmin bulunamadığında takma ad odaklı tahmin için forceToGenderize: true kullanın. Veri kümesinde tahmin bulunursa 1, yapay zekâ kullanılırsa toplam 2 kredi alınır. Sonuç yine null olabilir. E-posta alan adı kişinin konumunun kanıtı değildir; ülkeyi yalnızca ilgili bilgi varsa gönderin.