Obter Gênero pelo Nome de Usuário - Requisição Múltipla

O endpoint Multiple Username permite analisar o gênero de até 50 nomes de usuário em uma única requisição. Isso é útil para processamento em lote e integrações de alto desempenho. Todos os parâmetros são enviados através de uma requisição POST no formato JSON. Você deve autenticar-se usando o método Bearer token no cabeçalho Authorization.

A API tentará extrair um possível primeiro nome de cada nome de usuário, o que pode ajudar a melhorar a precisão da previsão de gênero. Você também pode passar um filtro opcional country e um campo personalizado id para cada registro, para associar os resultados com seu banco de dados.

Aviso: Os nomes de usuário geralmente devem estar em caracteres latinos. Entretanto, muitas vezes contêm palavras ou combinações que não representam nomes reais, como cool_boy123.

Se o seu principal objetivo for a previsão precisa do gênero, recomendamos o uso de requisições únicas com o parâmetro forceToGenderize ativado.

Se sua prioridade for apenas extrair possíveis nomes dos nomes de usuário, as requisições múltiplas podem ser utilizadas em vez disso.

URL da Requisição

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

Cabeçalhos HTTP Obrigatórios

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

Parâmetros do Corpo da Requisição

Campo Tipo Obrigatório Descrição
data Array de Objetos Sim Array contendo nomes de usuário e seus parâmetros opcionais. Máximo de 50 itens por requisição.
username String Sim (dentro de cada objeto) O nome de usuário a ser analisado. Pode incluir underscores, números etc.
country String Não Código do país com duas letras (ISO 3166-1 alpha-2) para melhorar a precisão da previsão. Ex.: TR para Turquia.
id String ou Integer Não ID opcional que você define para relacionar os resultados com os registros do seu banco de dados. O mesmo id será retornado na resposta para fins de mapeamento.

Exemplo de Corpo da Requisição

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

Exemplos de Requisição


Exemplo 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"}]}'

Exemplo 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;
?>

Exemplo 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));

Exemplo 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())

Exemplo de Resposta 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 Resposta

Campo Tipo Descrição
status Boolean Indica se a requisição foi bem-sucedida.
used_credits Integer Quantidade de créditos utilizados nesta requisição.
remaining_credits Integer Créditos restantes na sua conta após essa requisição.
expires Integer (timestamp) Data de expiração do pacote, em formato timestamp UNIX.
names Array de objetos Lista dos resultados para cada nome de usuário enviado.
names[].name String O primeiro nome detectado, se houver, extraído do nome de usuário.
names[].q String O nome de usuário original enviado na requisição.
names[].gender Enum[String] Gênero previsto: male, female ou null.
names[].country String Código do país considerado na previsão.
names[].total_names Integer Número de amostras utilizadas para essa previsão.
names[].probability Integer Porcentagem de confiança na previsão do gênero.
names[].id String / Integer O mesmo id que você enviou na requisição, usado para mapear seus registros.
duration String Tempo total de processamento da requisição (ex.: 5ms).