Género API
Gender-API le ayuda a averiguar si un nombre es más probable que sea utilizado por hombres o por mujeres.
{
"name": "elizabeth",
"gender": "female",
"samples": 355,
"accuracy": 100,
"duration": "34ms"
}
EXPLICACIÓN DE LA API DE GÉNERO
Haz una Prueba
Pruébalo tú mismo. Ingresa un nombre para ver el resultado.
TAMBIÉN PODEMOS DETERMINAR EL GÉNERO DE UNA DIRECCIÓN DE CORREO ELECTRÓNICO
[GENDER-API] VS [GENERIC AI]
Por qué la determinación de género especializada supera a los modelos de IA genéricos.
Rápido como un rayo
Tiempos de respuesta más rápidos que con IA genérica
Más completo
Más nombres en nuestra base de datos
Mayor precisión
Mejor precisión en la determinación de género
CLIENTES DE LA API Y EJEMPLOS DE CÓDIGO
Selecciona tu lenguaje de programación para ver las instrucciones de instalación y ejemplos de código
PHP with Composer
Official client library
PHP Legacy
Without Composer
TypeScript
Type-safe client
JavaScript
Node.js & Browser
Python
Data science ready
R
Statistical computing
Java
Enterprise ready
C#
.NET integration
Go / Golang
High performance
Ruby
Elegant syntax
PowerShell
Windows Automation
Rust
Memory safe
PHP with Composer
Nuestra biblioteca oficial de cliente PHP ofrece una forma práctica de integrar Gender API en tus aplicaciones PHP usando el gestor de paquetes Composer.
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í:
PHP Legacy
Implementación PHP independiente sin dependencia de Composer para proyectos heredados o integraciones simples.
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
TypeScript
Cliente con tipado seguro para proyectos TypeScript, con compatibilidad completa con IntelliSense y comprobación de tipos estricta.
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í:
JavaScript
Cliente de JavaScript fácil de usar para entornos Node.js y navegador, con una API basada en Promesas.
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í:
Python
Cliente de API “pythónico” con código limpio y legible, perfecto para ciencia de datos, machine learning y aplicaciones web.
Primero instala nuestra librería con pip:
# 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 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
Vea la documentación completa del cliente aquí:
https://github.com/markus-perl/gender-api-client-python
https://pypi.org/project/gender-api-client/
R
Ideal para análisis estadístico y flujos de trabajo de ciencia de datos en R, con integración perfecta.
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>") Java
Implementación Java lista para empresas, pensada para aplicaciones robustas y escalables con una gestión de errores adecuada.
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();
}
}
} Integración .NET para aplicaciones en C# con compatibilidad total con async/await y las características modernas de C#.
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}");
}
}
} Go
Cliente Go de alto rendimiento que utiliza bibliotecas estándar para una integración perfecta.
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
// Response defines the structure of the JSON response from Gender-API.com
type Response struct {
ResultFound bool `json:"result_found"`
FirstName string `json:"first_name"`
Gender string `json:"gender"`
Probability float64 `json:"probability"`
}
func main() {
// Determine the gender of a first name using API V2
// ---------------------------------------------------
apiKey := "YOUR_API_KEY" // Get your key at https://gender-api.com/en/account/auth-tokens
firstName := "Theresa"
// Construct the JSON payload
requestBody, _ := json.Marshal(map[string]string{
"first_name": firstName,
})
// Create the request
req, err := http.NewRequest("POST", "https://gender-api.com/v2/gender/by-first-name", bytes.NewBuffer(requestBody))
if err != nil {
fmt.Printf("Error creating request: %s\n", err)
return
}
// Set headers
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+apiKey)
// Perform the request
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Printf("Error making request: %s\n", err)
return
}
defer resp.Body.Close()
// Read the response body
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Printf("Error reading response: %s\n", err)
return
}
// Parse the JSON response
var result Response
if err := json.Unmarshal(body, &result); err != nil {
fmt.Printf("Error parsing JSON: %s\n", err)
return
}
// Output the result
fmt.Printf("Name: %s\n", result.FirstName)
fmt.Printf("Gender: %s\n", result.Gender)
fmt.Printf("Probability: %.2f\n", result.Probability)
} Ruby
Cliente Ruby sencillo y elegante para una fácil integración con la API.
require 'net/http'
require 'json'
require 'uri'
# Determine the gender of a first name using API V2
# ---------------------------------------------------
api_key = 'YOUR_API_KEY' # Get your key at https://gender-api.com/en/account/auth-tokens
uri = URI('https://gender-api.com/v2/gender/by-first-name')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = "Bearer #{api_key}"
request.body = JSON.dump({ first_name: 'Theresa' })
begin
response = http.request(request)
# Parse the JSON response
result = JSON.parse(response.read_body)
puts "Gender: #{result['gender']}"
puts "Probability: #{result['probability']}"
rescue StandardError => e
puts "Error: #{e.message}"
end
PowerShell
Automatiza tus flujos de trabajo en Windows con nuestra integración directa con PowerShell.
# Determine the gender of a first name using API V2
# ---------------------------------------------------
$apiKey = "YOUR_API_KEY" # Get your key at https://gender-api.com/en/account/auth-tokens
$url = "https://gender-api.com/v2/gender/by-first-name"
$body = @{
first_name = "Theresa"
} | ConvertTo-Json
$headers = @{
"Content-Type" = "application/json"
"Authorization" = "Bearer $apiKey"
}
try {
$response = Invoke-RestMethod -Uri $url -Method Post -Headers $headers -Body $body
Write-Host "Name: $($response.first_name)"
Write-Host "Gender: $($response.gender)"
Write-Host "Probability: $($response.probability)"
}
catch {
Write-Host "Error: $_"
}
Rust
Cliente ultrarrápido y eficiente en el uso de memoria para aplicaciones de alto rendimiento.
use reqwest::header::AUTHORIZATION;
use serde::{Deserialize, Serialize};
use std::error::Error;
// Add to Cargo.toml:
// [dependencies]
// reqwest = { version = "0.11", features = ["json"] }
// tokio = { version = "1", features = ["full"] }
// serde = { version = "1.0", features = ["derive"] }
#[derive(Serialize)]
struct Request<'a> {
first_name: &'a str,
}
#[derive(Deserialize, Debug)]
struct Response {
gender: String,
probability: f64,
}
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
let api_key = "YOUR_API_KEY"; // Get your key at https://gender-api.com/en/account/auth-tokens
let client = reqwest::Client::new();
let resp: Response = client
.post("https://gender-api.com/v2/gender/by-first-name")
.header(AUTHORIZATION, format!("Bearer {api_key}"))
.json(&Request { first_name: "Theresa" })
.send()
await?
.json()
await?;
println!("Gender: {}", resp.gender);
println!("Probability: {}", resp.probability);
Ok(())
}
INTEGRACIONES DE CONFIANZA
Gender-API funciona sin problemas con las herramientas que ya usas. Explora nuestro creciente ecosistema de integraciones.
¡Y muchas más integraciones disponibles!
Ver todas las integracionesCARGA DE ARCHIVOS CSV Y EXCEL
Subir archivos CSV con hasta 10.000.000 de conjuntos de datos o archivos de Excel con hasta 100.000 conjuntos de datos por archivo.
Plan gratuito disponible
Únase hoy y reciba hasta 100 solicitudes de forma gratuita cada mes.
PRECIOS
DESCARGAR NUESTRA PRESENTACIÓN
Aprende más sobre Gender API y cómo puede ayudar a tu negocio.