Geslacht ophalen via gebruikersnaam - Meervoudige aanvraag

Het Multiple Username-endpoint stelt je in staat om het geslacht van maximaal 50 gebruikersnamen in één enkele aanvraag te analyseren. Dit is handig voor bulkverwerking en integraties met hoge prestaties. Alle parameters worden verzonden via een POST-aanvraag in JSON-formaat. Je moet authenticeren met de Bearer token-methode in de Authorization-header.

De API zal proberen een waarschijnlijke voornaam uit elke gebruikersnaam te extraheren, wat kan helpen om de nauwkeurigheid van de geslachtsbepaling te verbeteren. Je kunt ook een optioneel country-filter en een eigen id-veld voor elk record meesturen, zodat je de resultaten kunt koppelen aan je eigen database.

Waarschuwing: Gebruikersnamen moeten meestal in Latijnse tekens zijn. Ze bevatten echter vaak woorden of combinaties die geen echte namen zijn, bijvoorbeeld cool_boy123.

Als jouw belangrijkste doel een nauwkeurige geslachtsbepaling is, raden we aan enkelvoudige aanvragen te gebruiken met de parameter forceToGenderize ingeschakeld.

Als jouw prioriteit gewoon is om mogelijke namen uit gebruikersnamen te halen, kun je in plaats daarvan meervoudige aanvragen gebruiken.

Aanvraag-URL

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

Vereiste HTTP-headers

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

Parameters in de aanvraag-body

Veld Type Verplicht Omschrijving
data Array van objecten Ja Array van gebruikersnamen en hun optionele parameters. Maximaal 50 items per aanvraag.
username String Ja (binnen elk object) De gebruikersnaam die je wilt analyseren. Mag underscores, cijfers enz. bevatten.
country String Nee Een tweeletterige landcode (ISO 3166-1 alpha-2) om de nauwkeurigheid van de voorspelling te verbeteren. Bijvoorbeeld: TR voor Turkije.
id String of Integer Nee Een optioneel ID dat je zelf kunt definiëren om resultaten te koppelen aan je eigen database. Ditzelfde id wordt teruggegeven in de response ter identificatie.

Voorbeeld van aanvraag-body

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

Voorbeelden van aanvragen


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

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

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

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

Voorbeeld van JSON-response

{
  "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"
}

Response-velden

Veld Type Omschrijving
status Boolean Geeft aan of de aanvraag succesvol was.
used_credits Integer Aantal credits dat is verbruikt voor deze aanvraag.
remaining_credits Integer Credits die overblijven in je account na deze aanvraag.
expires Integer (timestamp) De vervaldatum van het pakket als UNIX-timestamp.
names Array van objecten Lijst met resultaten voor elk ingestuurd username.
names[].name String De gedetecteerde voornaam, indien aanwezig, geëxtraheerd uit de gebruikersnaam.
names[].q String De originele gebruikersnaam die je hebt ingestuurd.
names[].gender Enum[String] Voorspeld geslacht: male, female of null.
names[].country String Landcode die in overweging is genomen bij de voorspelling.
names[].total_names Integer Aantal samples dat is gebruikt voor deze voorspelling.
names[].probability Integer Vertrouwenspercentage voor de voorspelling van het geslacht.
names[].id String / Integer Hetzelfde id dat je hebt ingestuurd, gebruikt voor koppeling met je eigen gegevens.
duration String Totale verwerkingstijd van de aanvraag (bijv. 5ms).