İsimden Cinsiyet Belirleme – Çoklu İstek

Çoklu İsim endpoint’i, tek bir istekte 100’e kadar ismin cinsiyetini analiz etmenize olanak tanır. Bu, toplu işlem ve yüksek performanslı entegrasyonlar için oldukça faydalıdır. Tüm parametreler POST isteğiyle JSON formatında gönderilir. Kimlik doğrulaması için Authorization başlığında Bearer token kullanmanız gerekir.

Her bir isme country filtresi ekleyerek, belirli bir ülkeye özel cinsiyet tahminleri alabilirsiniz. Eğer belirtilen ülke için sonuç yoksa, API evrensel bir isim sonucu döndürür.

Ayrıca her isme isteğe bağlı olarak id alanı da gönderebilirsiniz. Bu değer, kendi veritabanınızdaki herhangi bir string veya sayı olabilir. API, bu id değerini yanıtında da döndürür, böylece girişlerinizle sonuçları eşleştirebilirsiniz.

Uyarı: Çoklu istekler yapay zeka tabanlı tahmin modellerini desteklemez. askToAI gibi parametreler toplu işlemlerde kullanılamaz.

Eğer verilerinizde sıklıkla Latin olmayan karakterlerle yazılmış isimler (örn. Çince) yer alıyorsa, daha doğru sonuçlar almak için askToAI parametresiyle tekli istek göndermenizi öneririz.

İstek URL’si

POST https://api.genderapi.io/api/name/multi/country

Gerekli HTTP Başlıkları

  • Content-Type: application/json
  • Authorization: Bearer YOUR_API_KEY

İstek Gövdesi Parametreleri

Alan Tip Zorunlu Açıklama
data Nesne Dizisi (Array of Objects) Evet İsimler ve isteğe bağlı parametrelerinin bulunduğu dizi. Her istek için en fazla 100 isim gönderebilirsiniz.
name String Evet (her obje içinde) Analiz etmek istediğiniz ilk isim.
country String Hayır Tahmin doğruluğunu artırmak için iki harfli ülke kodu (ISO 3166-1 alpha-2). Örneğin: TR Türkiye için.
id String veya Integer Hayır Kendi veritabanınızdaki kayıtlarla eşleştirmek için tanımladığınız isteğe bağlı bir ID. Yanıtta da aynı id değeri döndürülür.

Örnek İstek Gövdesi

{
  "data": [
    { "name": "Andrea", "country": "DE", "id": "123" },
    { "name": "andrea", "country": "IT", "id": "456" },
    { "name": "james", "country": "US", "id": "789" }
  ]
}

Örnek İstekler


cURL Örneği

curl -X POST "https://api.genderapi.io/api/name/multi/country" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -d '{"data":[{"name":"Andrea","country":"DE","id":"123"},{"name":"andrea","country":"IT","id":"456"},{"name":"james","country":"US","id":"789"}]}'

PHP cURL Örneği

<?php
$url = "https://api.genderapi.io/api/name/multi/country";

$data = array(
    "data" => array(
        array(
            "name" => "Andrea",
            "country" => "DE",
            "id" => "123"
        ),
        array(
            "name" => "andrea",
            "country" => "IT",
            "id" => "456"
        ),
        array(
            "name" => "james",
            "country" => "US",
            "id" => "789"
        )
    )
);

$payload = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: application/json",
    "Authorization": "Bearer YOUR_API_KEY"
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>

JavaScript fetch Örneği

fetch("https://api.genderapi.io/api/name/multi/country", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
  },
  body: JSON.stringify({
    data: [
      { name: "Andrea", country: "DE", id: "123" },
      { name: "andrea", country: "IT", id: "456" },
      { name: "james", country: "US", id: "789" }
    ]
  })
})
.then(response => response.json())
.then(data => console.log(data));

Python requests Örneği

import requests

url = "https://api.genderapi.io/api/name/multi/country"

payload = {
    "data": [
        { "name": "Andrea", "country": "DE", "id": "123" },
        { "name": "andrea", "country": "IT", "id": "456" },
        { "name": "james", "country": "US", "id": "789" }
    ]
}

headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
}

response = requests.post(url, headers=headers, json=payload)

print(response.json())

Örnek JSON Yanıtı

{
  "status": true,
  "used_credits": 3,
  "remaining_credits": 7265,
  "expires": 1717069765,
  "names": [
    {
      "name": "andrea",
      "q": "Andrea",
      "gender": "female",
      "country": "DE",
      "total_names": 644,
      "probability": 88,
      "id": "optional"
    },
    {
      "name": "andrea",
      "q": "andrea",
      "gender": "male",
      "country": "IT",
      "total_names": 13537,
      "probability": 98,
      "id": "optional"
    },
    {
      "name": "james",
      "q": "james",
      "gender": "male",
      "country": "US",
      "total_names": 45274,
      "probability": 100,
      "id": "optional"
    }
  ],
  "duration": "5ms"
}

Yanıt Alanları

Alan Tip Açıklama
status Boolean İsteğin başarılı olup olmadığını belirtir.
used_credits Integer Bu istek için harcanan kredi sayısı.
remaining_credits Integer Bu istekten sonra hesabınızda kalan kredi sayısı.
expires Integer (timestamp) Paketin UNIX zaman damgası cinsinden bitiş tarihi.
names Nesne Dizisi Her gönderilen isim için sonuçlar listesi.
names[].name String İsmin normalize edilmiş (küçük harfli) hali.
names[].q String Sizin gönderdiğiniz orijinal istek (büyük/küçük harfe duyarlı).
names[].gender Enum[String] Tahmin edilen cinsiyet: male, female veya null.
names[].country String Tahmin sırasında kullanılan ülke kodu.
names[].total_names Integer Bu tahmin için kullanılan örnek sayısı.
names[].probability Integer Cinsiyet tahmininin güven yüzdesi.
names[].id String / Integer İstek ile gönderdiğiniz id alanı. Kendi kayıtlarınızı eşleştirmek için kullanılır.
duration String İsteğin toplam işlenme süresi (örn: 5ms).
Uyarı: Birden fazla isim gönderiyorsanız, JSON dizinizin doğru formatlandığından ve 100 ismi geçmediğinden emin olun. Kendi kayıtlarınızı API'dan dönen sonuçlarla eşleştirmek için id alanını kullanın.