Obtener Género por Nombre de Usuario - Solicitud Múltiple

El endpoint de Múltiples Nombres de Usuario te permite analizar el género de hasta 50 nombres de usuario en una sola solicitud. Esto es útil para procesamiento en masa e integraciones de alto rendimiento. Todos los parámetros se envían mediante una solicitud POST en formato JSON. Debes autenticarte usando el método Bearer token en el encabezado Authorization.

La API intentará extraer un posible nombre propio de cada nombre de usuario, lo cual puede ayudar a mejorar la predicción de género. También puedes incluir un filtro opcional country y un campo personalizado id para cada registro, para poder relacionar los resultados con tu base de datos.

Advertencia: Por lo general, los nombres de usuario deben estar en caracteres latinos. Sin embargo, suelen contener palabras o combinaciones que no representan nombres reales, por ejemplo cool_boy123.

Si tu objetivo principal es una predicción precisa del género, te recomendamos usar solicitudes individuales con el parámetro forceToGenderize habilitado.

Si tu prioridad es simplemente extraer posibles nombres de nombres de usuario, puedes usar solicitudes múltiples.

URL de Solicitud

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

Encabezados HTTP Requeridos

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

Parámetros del Cuerpo de la Solicitud

Campo Tipo Requerido Descripción
data Arreglo de Objetos Arreglo de nombres de usuario y sus parámetros opcionales. Máximo 50 elementos por solicitud.
username String Sí (dentro de cada objeto) El nombre de usuario a analizar. Puede incluir guiones bajos, números, etc.
country String No Código de país de dos letras (ISO 3166-1 alpha-2) para mejorar la precisión de la predicción. Ejemplo: TR para Turquía.
id String o Integer No ID opcional que defines para vincular los resultados con tus propios registros de base de datos. El mismo id será devuelto en la respuesta para propósitos de mapeo.

Ejemplo de Cuerpo de Solicitud

{
  "data": [
    { "username": "anna_smith88", "country": "US", "id": "123" },
    { "username": "michael_bauer", "country": "DE", "id": "456" },
    { "username": "giulia_rossi", "country": "IT", "id": "789" }
  ]
}

Ejemplos de Solicitudes


Ejemplo cURL

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

Ejemplo PHP cURL

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

$data = array(
    "data" => array(
        array(
            "username" => "anna_smith88",
            "country" => "US",
            "id" => "123"
        ),
        array(
            "username" => "michael_bauer",
            "country" => "DE",
            "id" => "456"
        ),
        array(
            "username" => "giulia_rossi",
            "country" => "IT",
            "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;
?>

Ejemplo JavaScript fetch

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

Ejemplo Python requests

import requests

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

payload = {
    "data": [
        { "username": "anna_smith88", "country": "US", "id": "123" },
        { "username": "michael_bauer", "country": "DE", "id": "456" },
        { "username": "giulia_rossi", "country": "IT", "id": "789" }
    ]
}

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

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

print(response.json())

Ejemplo de Respuesta JSON

{
  "status": true,
  "used_credits": 3,
  "remaining_credits": 7265,
  "expires": 1717069765,
  "names": [
    {
      "name": "Anna",
      "q": "anna_smith88",
      "gender": "female",
      "country": "US",
      "total_names": 1234,
      "probability": 92,
      "id": "123"
    },
    {
      "name": "Michael",
      "q": "michael_bauer",
      "gender": "male",
      "country": "DE",
      "total_names": 5678,
      "probability": 89,
      "id": "456"
    },
    {
      "name": "Giulia",
      "q": "giulia_rossi",
      "gender": "female",
      "country": "IT",
      "total_names": 4321,
      "probability": 95,
      "id": "789"
    }
  ],
  "duration": "5ms"
}

Campos de Respuesta

Campo Tipo Descripción
status Boolean Indica si la solicitud fue exitosa.
used_credits Integer Número de créditos consumidos para esta solicitud.
remaining_credits Integer Créditos restantes en tu cuenta después de esta solicitud.
expires Integer (timestamp) Fecha de expiración del paquete como timestamp UNIX.
names Arreglo de objetos Lista de resultados para cada nombre de usuario ingresado.
names[].name String El nombre propio detectado, si se encuentra, extraído del nombre de usuario.
names[].q String Tu nombre de usuario original enviado en la solicitud.
names[].gender Enum[String] Género previsto: male, female o null.
names[].country String Código de país considerado durante la predicción.
names[].total_names Integer Número de muestras usadas para esta predicción.
names[].probability Integer Porcentaje de confianza en la predicción de género.
names[].id String / Integer El mismo id que enviaste en la solicitud, utilizado para asociar tus registros.
duration String Tiempo total de procesamiento de la solicitud (p. ej. 5ms).