API DOKÜMANTASYONU V2

GenderAPI.io V2 JSON yanıtları ve güven skoru

GenderAPI.io V2 data ve meta alanlarını anlayın: cinsiyet, belirsizlik nedenleri, güven skoru, veri kümesi kanıtı, yapay zekâ skoru, erişim ve ücretlendirme.

JSON yanıtını anlayın

Başarılı tekli yanıt data ve meta içerir. Aşağıdaki veri kümesi örneği, 1 Ekim 2026'da API anahtarıyla alınmış gerçek bir yanıttır; yalnızca hesap bakiyesi değiştirilmiştir. Ölçülmüş ürün doğruluğunu göstermez ve canlı bir istek farklı bir sonuç döndürebilir. API anahtarlı isteklerde access.mode: api_key döner ve yalnızca denemeye ait kota alanları null olur; IP denemesi isteklerinde deneme limiti ve sıfırlanma zamanıyla birlikte ip_trial döner.

Temsili JSON yanıtı
{
  "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ı

AlanTürNull olabilir mi?ÖrnekAçıklama
data.inputobjectHayır{"type":"name","value":"Elif","country":"TR"}Girdi türü, değeri ve ülkesi. forceToGenderize, true olduğunda eklenir.
data.namestringEvet"elif"Eşleşen veya çıkarılan ad; bulunamıyorsa null.
data.genderstringEvet"male"male, female veya JSON null. Doğrulanmış kişisel kimlik değil, tahmindir.
data.result_statusstringHayır"identified"Cinsiyet döndürüldüğünde identified, diğer durumlarda unknown.
data.reasonstringEvetnullSonuç identified ise null. Bilinmeyen sonuç nedenleri: not_found, no_name_candidate, ambiguous veya insufficient_evidence.
data.confidencenumberEvet0.950–1 arası puan veya null. Cinsiyet null ise güven skoru da null’dır.
data.confidence_kindstringEvet"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_countintegerEvet1200Veri kümesindeki örnek sayısı veya null. Yapay zekâ örnek sayısı üretmez.
data.sourcestringHayır"dataset"dataset, ai veya none.
data.countrystringEvet"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_sourcestringEvet"dataset"Ülke ilişkilendirmesinin kaynağı: dataset, ai_association veya null.
data.matchobjectHayı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.

Yanıtta dönen girdi alanları

AlanTürNull olabilir mi?ÖrnekAçıklama
data.input.typestringHayır"name"Girdi türü: name, email veya username.
data.input.valuestringHayır"Elif"Gönderilen tahmin değeri.
data.input.countrystringEvet"TR"Gönderilen ülke bağlamı; gönderilmediyse null.
data.input.forceToGenderizebooleanHayırtrueYalnızca takma ad modu etkin olduğunda bulunur. Diğer durumlarda gönderilmez.

Veri kümesi eşleşme alanları

AlanTürNull olabilir mi?ÖrnekAçıklama
data.match.namestringEvet"elif"Seçilen veri kümesi adayı; veri kümesinden satır seçilmediyse null.
data.match.methodstringEvet"normalized"normalized, token, substring veya model_inference; bilgi yoksa null.
data.match.scopestringEvet"country"Veri kümesi sorgularında country veya global; yapay zekâda veya kanıt yoksa null.
data.match.countrystringEvet"TR"Seçilen veri kümesi satırının ülkesi; genel satırlarda veya yapay zekâda null.

Erişim, ücretlendirme ve istek bilgileri

AlanTürNull olabilir mi?ÖrnekAçıklama
meta.request_idstringHayır"550e8400-e29b-41d4-a716-446655440000"Bu HTTP isteğinin benzersiz kimliği; X-Request-ID başlığında da gönderilir.
meta.duration_msintegerHayır42İsteğin milisaniye cinsinden işlenme süresi.
meta.access.modestringHayır"api_key"api_key, ip_trial veya unauthenticated. Hesap anahtarıyla erişimde api_key olduğunu doğrulayın.
meta.access.reasonstringEvetnullDenemeye geçiş nedeni: api_key_missing, api_key_invalid veya api_key_not_found; diğer durumlarda null.
meta.usage.charged_creditsintegerEvet1Net düşülen kredi. Ücretlendirme öncesinde veya tam iade doğrulandığında sıfırdır; ücretlendirme belirsizse null.
meta.usage.remaining_creditsintegerEvet99İşlem tamamlandığındaki bakiye. Negatif olabilir; bilgi alınamıyorsa veya ücretlendirme belirsizse null.
meta.usage.billing_statusstringHayır"confirmed"not_charged, confirmed veya unconfirmed. Başarısız bir tahmini yeniden denemeden önce kontrol edin.
meta.usage.resets_atstringEvet"2026-09-27T12:00:00.000Z"IP denemesinin UTC sıfırlanma zamanı (ISO 8601); API anahtarlı hesaplarda veya bilinmiyorsa null.
meta.usage.limitintegerEvet10IP denemesinin kredi hakkı; API anahtarlı hesaplarda null.
meta.usage.period_secondsintegerEvet86400IP denemesinin saniye cinsinden süresi; API anahtarlı hesaplarda null.

Başarıyla tamamlanan belirsiz sonuç

HTTP 200, işlemin tamamlandığını gösterir; cinsiyet bulunmasını garanti etmez. JSON null değerini male, female, boş metin veya sıfır güven skoruna çevirmeyin. data.result_status ve data.reason alanlarını HTTP hatalarından ayrı değerlendirin.

Yalnızca veri kümesini kullanan ve 1 Ekim 2026'da alınmış bu gerçek örnek source: none ve reason: not_found döndürür; yine de 1 kredidir. Eşit dağılımlı kayıtta reason: ambiguous dönebilir ve sample_count korunur. Belirsiz yapay zekâ sonucunda source: ai ve reason: insufficient_evidence kullanılır.

Temsili JSON yanıtı
{
  "data": {
    "input": {
      "type": "name",
      "value": "zzzxxyy",
      "country": null
    },
    "name": null,
    "gender": null,
    "country": null,
    "confidence": null,
    "confidence_kind": null,
    "sample_count": null,
    "source": "none",
    "result_status": "unknown",
    "reason": "not_found",
    "country_source": null,
    "match": {
      "name": null,
      "method": null,
      "scope": null,
      "country": null
    }
  },
  "meta": {
    "request_id": "54fdcd4e-f8bc-4224-918f-3a5732e08b9c",
    "duration_ms": 10,
    "access": {
      "mode": "api_key",
      "reason": null
    },
    "usage": {
      "charged_credits": 1,
      "remaining_credits": 49999,
      "billing_status": "confirmed",
      "resets_at": null,
      "limit": null,
      "period_seconds": null
    }
  }
}

Güven skoru ve eşleşme kanıtını yorumlama

0.9 güven skoru, 0–1 ölçeğindedir. observed_frequency için baskın sayının seçilen veri kümesi toplamına oranıdır; uçtan uca ölçülmüş ürün doğruluğu değildir. model_reported, yapay zekânın verdiği ve veri kümesi frekanslarına göre kalibre edilmemiş puandır.

Uygulama eşiğinizi kendi değerlendirme verileriniz ve confidence_kind ile belirleyin. Veri kümesi ve yapay zekâ skorlarını aynı şeyi ölçüyormuş gibi sıralamayın. Yapay zekâda veri kümesi kaydı seçilmediğinden match.name, match.scope ve match.country null; match.method ise model_inference olur.

Tam ad sorgusunda sonuç, bütün metin yerine bir bileşenden gelebilir. data.input gönderilen değeri, data.name dönen adı, data.match ise adayı ve sorgu kapsamını gösterir.

Sonuca göre uygulamanızın ne yapacağını belirleyin

Önce istek ve öğe hatalarını işleyin, ardından result_status alanını okuyun. Tekli tahminde data nesnesini; toplu sorguda başarıyla tamamlanan her öğenin data nesnesini değerlendirin. unknown sonuçlarını zorunlu olarak male veya female değerine dönüştürmeyin.

SonuçAnlamıÖnerilen işlem
identified; gender: male or femaleVeri kümesi veya yapay zekâ kanıtıyla bir cinsiyet tahmini üretilmiştir.İlgili confidence_kind için değerlendirdiğiniz kuralları uygulayın; source ve eşleşme kanıtlarını saklayın.
unknown; reason: not_foundAyrıştırılan adaylarla eşleşen veri kümesi kaydı bulunamamıştır.gender değerini null olarak koruyun. Farklı yapay zekâ seçenekleriyle göndereceğiniz istek, yeni ve ücretli bir işlemdir.
unknown; reason: no_name_candidateVeri kümesi sorgusu için kullanılabilir bir ad adayı çıkarılamamıştır.null değerini koruyun; ek tahmin istemeden önce girdi türünü ve değerini kontrol edin.
unknown; reason: ambiguousSeçilen kayıtta erkek ve kadın sayıları eşittir; sample_count yine de dolu olabilir.Eşitliği kendiniz bozmayın ve null güven skorunu sıfıra dönüştürmeyin.
unknown; reason: insufficient_evidenceYapay zekâ işlemi tamamlanmış, ancak cinsiyet tahmini için yeterli kanıt bulunamamıştır.Bunu tamamlanmış bir unknown sonucu olarak saklayın; sağlayıcı hatası saymayın veya otomatik yeniden denemeyin.
Problem Details veya öğenin error alanıİşlem, örneğin ai_upstream_error veya prediction_timeout nedeniyle başarısız olmuştur.Hata kodunu ve istek kimliğini saklayın; ücretlendirmeyi kontrol ederek yeniden deneme rehberini izleyin.

Güven eşiğini kendi değerlendirme verilerinizle belirleyin

Bir tahmini doğru kılacak evrensel bir güven eşiği yoktur. observed_frequency ve model_reported skorlarını, kullanımınızı temsil eden ve referans etiketleri bağımsız olarak belirlenmiş örneklerde ayrı ayrı değerlendirin. Veri kümesindeki dağılım oranı ile modelin bildirdiği skor, ikisi de 0.9 olsa bile farklı sinyallerdir. Kurallarınızın kaç girdide tahmin kabul ettiğini ve kabul edilen tahminlerin ne kadarının doğru olduğunu ölçün. Diğer girdiler için unknown veya inceleme seçeneğini koruyun.

Örneğin result_status identified, confidence_kind model_reported ise veri kümesi eşiği yerine değerlendirdiğiniz yapay zekâ kurallarını uygulayın. forceToGenderize kullanıldığında name: null ile birlikte dolu bir gender değeri geçerlidir; gerçek bir ön ad çıkarılmadan rumuzdan tahmin yapılabilir. Tahmin bulunup bulunmadığını yalnızca name ile değil, gender ve result_status alanlarıyla belirleyin. Sonuç bir tahmindir; kişinin kimliğini doğrulamaz.

İlgili rehberler