CLIENTES Y EJEMPLOS DE CODIFICACIÓN

Aquí puede encontrar una lista de clientes disponibles para nuestra API y algunos ejemplos de codificación para diferentes idiomas. Siéntase libre de usar todos los ejemplos proporcionados dentro de su código.

PHP con compositor

Primero instala nuestra biblioteca con el compositor:

composer require gender-api/client
<?php

use GenderApi\Client as GenderApiClient;

$client = new GenderApiClient('your-api-key');

// Simple gender lookup
$result = $client->getByFirstName('Elisabeth');

if ($result->genderFound()) {
    echo $result->getGender();    // "female"
    echo $result->getAccuracy();  // 99
}

// First name with country (e.g., "Andrea" varies by country)
$result = $client->getByFirstNameAndCountry('Andrea', 'IT');
echo $result->getGender(); // "male" (in Italy)

// Full name with automatic first/last name splitting
$result = $client->getByFirstNameAndLastName('Sandra Miller');

echo $result->getFirstName(); // "Sandra"
echo $result->getLastName();  // "Miller"
echo $result->getGender();    // "female"

// Email address analysis
$result = $client->getByEmailAddress('elisabeth.smith@company.com');
echo $result->getGender();  // "female"

// Batch processing - multiple names in one call
$names = ['Michael', 'Sarah', 'Kim'];
$results = $client->getByMultipleNames($names);

foreach ($results as $result) {
    printf(
        "%s: %s (%d%% confidence)\n",
        $result->getFirstName(),
        $result->getGender(),
        $result->getAccuracy()
    );
}

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client

Primero instala nuestra biblioteca con NPM:

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client-npm

Primero instala nuestra biblioteca con NPM:

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client-npm

Descargue un proyecto de muestra aquí:

Documentación:

https://github.com/microknights/Gender-API

Legado de PHP

Primero instala nuestra biblioteca con el compositor:

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client

function getGender($firstname) {
  $myKey = 'insert your server key here';
  $data = json_decode(file_get_contents(
  'https://gender-api.com/get?key=' .
  $myKey .
  '&name=' . urlencode($firstname)));
  return $data->gender;
  }

  echo getGender('markus'); //Output: male

Primero instala nuestra biblioteca con NPM:

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client-npm

Primero instala nuestra biblioteca con NPM:

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client-npm

Descargue un proyecto de muestra aquí:

Documentación:

https://github.com/microknights/Gender-API

TypeScript

Primero instala nuestra biblioteca con el compositor:

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client

Primero instala nuestra biblioteca con NPM:

npm install gender-api.com-client --save
import { Client } from 'gender-api.com-client';

const client = new Client('your-api-key');

// Simple gender lookup
const result = await client.getByFirstName('Theresa');
console.log(`${result.first_name} is ${result.gender} (Probability: ${result.probability}`);

// First name with country (e.g., "Andrea" varies by country)
const resultWithCountry = await client.getByFirstName('Andrea', { country: 'IT' });
console.log(`${resultWithCountry.first_name} in Italy is ${resultWithCountry.gender}`);

// Full name with automatic first/last name splitting
const fullResult = await client.getByFullName('John Smith');
console.log(`${fullResult.first_name} ${fullResult.last_name} is ${fullResult.gender}`);

// Email address analysis
const emailResult = await client.getByEmailAddress('marie.curie@example.com');
console.log(`Email gender: ${emailResult.gender}`);

// Batch processing - multiple names in one call
const names = [
  { id: '1', first_name: 'Theresa', country: 'US' },
  { id: '2', first_name: 'John', country: 'US' }
];
const batchResults = await client.getByFirstNameMultiple(names);

batchResults.forEach(r => {
  console.log(`ID: ${r.input.id}, Gender: ${r.gender}`);
});

// Account statistics
const stats = await client.getStatistics();
console.log(`Credits Remaining: ${stats.remaining_credits}`);

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client-npm

Primero instala nuestra biblioteca con NPM:

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client-npm

Descargue un proyecto de muestra aquí:

Documentación:

https://github.com/microknights/Gender-API

JavaScript

Primero instala nuestra biblioteca con el compositor:

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client

Primero instala nuestra biblioteca con NPM:

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client-npm

Primero instala nuestra biblioteca con NPM:

npm install gender-api.com-client --save
const { Client } = require('gender-api.com-client');

const client = new Client('your-api-key');

// Simple gender lookup
client.getByFirstName('Theresa').then(result => {
  console.log(`${result.first_name} is ${result.gender} (Probability: ${result.probability}`);
}).catch(error => {
  console.error('Error:', error);
});

// First name with country (e.g., "Andrea" varies by country)
client.getByFirstName('Andrea', { country: 'IT' }).then(result => {
  console.log(`${result.first_name} in Italy is ${result.gender}`);
}).catch(error => {
  console.error('Error:', error);
});

// Full name with automatic first/last name splitting
client.getByFullName('John Smith').then(result => {
  console.log(`${result.first_name} ${result.last_name} is ${result.gender}`);
}).catch(error => {
  console.error('Error:', error);
});

// Email address analysis
client.getByEmailAddress('marie.curie@example.com').then(result => {
  console.log(`Email gender: ${result.gender}`);
}).catch(error => {
  console.error('Error:', error);
});

// Batch processing - multiple names in one call
const names = [
  { id: '1', first_name: 'Theresa', country: 'US' },
  { id: '2', first_name: 'John', country: 'US' }
];

client.getByFirstNameMultiple(names).then(results => {
  results.forEach(r => {
    console.log(`ID: ${r.input.id}, Gender: ${r.gender}`);
  });
}).catch(error => {
  console.error('Error:', error);
});

// Account statistics
client.getStatistics().then(stats => {
  console.log(`Credits Remaining: ${stats.remaining_credits}`);
}).catch(error => {
  console.error('Error:', error);
});

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client-npm

Descargue un proyecto de muestra aquí:

Documentación:

https://github.com/microknights/Gender-API

Python

Primero instala nuestra biblioteca con el compositor:

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client

Primero instala nuestra biblioteca con NPM:

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client-npm

Primero instala nuestra biblioteca con NPM:

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client-npm

# Install: pip install gender-api-client
from gender_api import Client

client = Client(api_key="insert your server key here")

# Simple gender lookup
result = client.get_by_first_name("kevin")

if result.result_found:
    print(f"Gender: {result.gender}")  #Gender: male
    print(f"Accuracy: {result.accuracy}%")  #Accuracy: 99%
Python Simple (Without Client Library):
Python 3.*
import json

from urllib.request import urlopen

myKey = "insert your server key here"
url = "https://gender-api.com/get?key=" + myKey + "&name=kevin"
response = urlopen(url)
decoded = response.read().decode('utf-8')
data = json.loads(decoded)
print( "Gender: " + data["gender"]); #Gender: male

Descargue un proyecto de muestra aquí:

Documentación:

https://github.com/microknights/Gender-API

R

Primero instala nuestra biblioteca con el compositor:

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client

Primero instala nuestra biblioteca con NPM:

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client-npm

Primero instala nuestra biblioteca con NPM:

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client-npm

install.packages(c("httr2", "dplyr", "tibble", "jsonlite"))
#' Gender API Client (single name only)
#'
#' Gets gender by a first name, optionally filtered by country.
#'
#' @param name A character string containing a single first name.
#' @param country Optional two-letter country code, see: https://gender-api.com/en/api-docs
#' @param api_key Your Gender-API.com API key.
#'
#' @return A tibble containing the estimated gender, number of samples,
#'   accuracy (0–100), and the request duration in ms.
#' @export
#'
#' @examples
#' \dontrun{
#' gender("Andrea", country="US", api_key="YOUR_KEY")
#' gender("Andrea", country="IT")
#' }
#'
library(httr2)
library(dplyr)

gender <- function(name, country = NULL, api_key = Sys.getenv("GENDER_API_KEY")) {
  if (missing(name) || length(name) != 1) {
    stop("`name` must be a single string.")
  }
  if (is.null(api_key) || api_key == "") {
    stop("API key is required. Set with `Sys.setenv(GENDER_API_KEY='your_key')` or pass via `api_key`.")
  }

  args <- list(
    key = api_key,
    name = name
  )
  if (!is.null(country)) args$country <- country

  resp <- request("https://gender-api.com/get") %>%
    req_url_query(!!!args) %>%
    req_perform()

  if (resp_status(resp) >= 400) {
    stop("Request failed: ", resp_status_desc(resp))
  }

  out <- resp_body_json(resp, simplifyVector = TRUE)

  tibble::as_tibble(out)
}

gender("Andrea", country="US", api_key="<YOUR API KEY>")

Descargue un proyecto de muestra aquí:

Documentación:

https://github.com/microknights/Gender-API

Java

Primero instala nuestra biblioteca con el compositor:

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client

Primero instala nuestra biblioteca con NPM:

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client-npm

Primero instala nuestra biblioteca con NPM:

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client-npm

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.io.IOException;
import com.google.gson.Gson;
import com.google.gson.JsonObject;

public class Main {

    public static void main(String[] args) {
        String apiKey = "YOUR_API_KEY";
        String url = "https://gender-api.com/v2/gender/by-first-name";
        String payload = "{\"first_name\":\"Theresa\"}";

        HttpClient client = HttpClient.newHttpClient();

        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create(url))
                .header("Content-Type", "application/json")
                .header("Authorization", "Bearer " + apiKey)
                .POST(HttpRequest.BodyPublishers.ofString(payload))
                .build();

        try {
            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

            Gson gson = new Gson();
            JsonObject json = gson.fromJson(response.body(), JsonObject.class);

            System.out.println("Gender: " + json.get("gender").getAsString());
            System.out.println("Probability: " + json.get("probability").getAsFloat());

        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}

Descargue un proyecto de muestra aquí:

Documentación:

https://github.com/microknights/Gender-API

C#

Primero instala nuestra biblioteca con el compositor:

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client

Primero instala nuestra biblioteca con NPM:

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client-npm

Primero instala nuestra biblioteca con NPM:

Vea la documentación completa del cliente aquí:

https://github.com/markus-perl/gender-api-client-npm

Descargue un proyecto de muestra aquí:

Documentación:

https://github.com/microknights/Gender-API
using System;
using System.Net.Http;
using System.Text;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Threading.Tasks;

public record GenderResponse(
    [property: JsonPropertyName("first_name")] string FirstName,
    [property: JsonPropertyName("gender")] string Gender,
    [property: JsonPropertyName("probability")] double Probability
);

public class Program
{
    public static async Task Main()
    {
        var apiKey = "YOUR_API_KEY"; // Get your key at https://gender-api.com/en/account/auth-tokens
        using var client = new HttpClient();

        var requestBody = new { first_name = "Theresa" };
        var jsonContent = new StringContent(
            JsonSerializer.Serialize(requestBody), 
            Encoding.UTF8, 
            "application/json");

        // Add Authorization header
        client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");

        try 
        {
            // Send POST request to API V2
            var response = await client.PostAsync("https://gender-api.com/v2/gender/by-first-name", jsonContent);
            response.EnsureSuccessStatusCode();

            // Parse response
            var jsonResponse = await response.Content.ReadAsStringAsync();
            var result = JsonSerializer.Deserialize<GenderResponse>(jsonResponse);

            Console.WriteLine($"Gender: {result.Gender}");
            Console.WriteLine($"Probability: {result.Probability}");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
    }
}

Otros clientes y ejemplos aportados

Las licencias pueden ser diferentes. Los derechos de autor son del autor respectivo.

Chat