DOCUMENTACIÓN API V2

SDK oficiales de GenderAPI.io V2

Instala los SDK oficiales de GenderAPI.io V2 para Python, JavaScript, PHP, Ruby, Java, R y C#. Compara paquetes, requisitos y el comportamiento común de las solicitudes.

Elige un paquete

Los SDK oficiales de código abierto llaman a la misma API V2 que se describe en estas guías. La versión 2.x de cada paquete usa la API V2. Instala la línea 2.x en los proyectos nuevos.

LenguajePaqueteInstalaciónRequisitos
Pythongenderapi (PyPI)pip install "genderapi>=2,<3"Python 3.9+
JavaScript / TypeScriptgenderapi (npm)npm install genderapi@2Node.js 18+
PHPgenderapi/genderapi (Packagist)composer require "genderapi/genderapi:^2.0"PHP 8.1+
Rubygenderapi (RubyGems)gem install genderapi -v "~> 2.0"Ruby 3.0+
Javacom.github.GenderAPI:genderapi-java (JitPack)implementation 'com.github.GenderAPI:genderapi-java:v2.0.0'Java 11+
Rgenderapi (GitHub)remotes::install_github("GenderAPI/genderapi-R", ref = "v2.0.0")R 4.1+
C# / .NETGenderAPI (NuGet)dotnet add package GenderAPI.NET 8 o .NET Standard 2.0

Notas sobre los registros de paquetes

  • Java: añade https://jitpack.io a tus repositorios. La misma versión también se publica en GitHub Packages como io.genderapi:genderapi, lo que requiere un token de GitHub con read:packages.
  • R: CRAN todavía ofrece el paquete 1.x mientras la versión 2.0.0 está en revisión en CRAN. Instala la 2.0.0 desde la etiqueta de GitHub hasta que CRAN la publique.
  • JavaScript: el paquete está pensado para entornos de ejecución del lado del servidor. No lo uses en código del navegador, porque expondría tu clave API.

Comportamiento común

  • Cada cliente lee la clave API de GENDERAPI_API_KEY o la acepta en el constructor. Mantén la clave en tu servidor.
  • Sin clave API, las solicitudes usan la prueba por IP compartida: 10 créditos por dirección IP cada 24 horas.
  • Importar un paquete o crear un cliente no envía ninguna solicitud. Cada llamada a un método envía exactamente una solicitud.
  • Ningún SDK reintenta una solicitud automáticamente. Un reintento es una operación nueva que se factura con normalidad, así que revisa primero el error y el estado de facturación.
  • Los SDK no siguen redirecciones y el tiempo de espera predeterminado es de 10 segundos.
  • Un resultado desconocido es una respuesta correcta: gender es null y la solicitud se factura con normalidad.
  • Los errores exponen el estado HTTP, el código de error, el ID de la solicitud y, cuando existe, el valor de Retry-After.

Ejemplos de inicio rápido

Cada ejemplo envía una predicción de nombre y cuesta 1 crédito. Primero configura GENDERAPI_API_KEY en el entorno del servidor. El README de cada repositorio explica las solicitudes por lotes, las consultas de uso y la gestión de errores.

Python
from genderapi import GenderAPI

client = GenderAPI()  # reads GENDERAPI_API_KEY
result = client.name("Alice", country="US")
print(result.data.gender, result.data.result_status)
print(result.meta.usage.charged_credits)
JavaScript / TypeScript
import { GenderAPI } from "genderapi";

const client = new GenderAPI(); // reads GENDERAPI_API_KEY
const { data, meta } = await client.name("Andrea", { country: "IT" });
console.log(data.gender, data.result_status, meta.usage.charged_credits);
PHP
<?php
require __DIR__ . '/vendor/autoload.php';

use GenderApi\Client;

$client = new Client(); // reads GENDERAPI_API_KEY
$result = $client->name('Javier', country: 'ES');
echo $result->data->gender ?? 'unknown', ' ', $result->meta->usage->chargedCredits, "\n";
Ruby
require "genderapi"

client = GenderAPI::Client.new # reads ENV["GENDERAPI_API_KEY"]
result = client.name("Andrea", country: "IT")
puts result.data.gender, result.usage.charged_credits
Java
import io.genderapi.GenderApiClient;
import io.genderapi.model.GenderResponse;

GenderApiClient client = new GenderApiClient(); // reads GENDERAPI_API_KEY
GenderResponse response = client.name("Andrea", "IT");
System.out.println(response.getData().getGender());
System.out.println(response.getMeta().getUsage().getChargedCredits());
R
library(genderapi)

res <- genderapi_name("Marta", country = "ES")  # reads GENDERAPI_API_KEY
res$data$gender
res$meta$usage$charged_credits
C# / .NET
using GenderApi;

using var client = new GenderApiClient(); // reads GENDERAPI_API_KEY
GenderResponse res = await client.NameAsync("Alice", country: "US");
Console.WriteLine(res.Data!.Gender ?? "unknown");
Console.WriteLine(res.Meta!.Usage!.ChargedCredits);

Mantén una integración V1 en 1.x

Los paquetes de la versión 1.x siguen disponibles para las integraciones V1 existentes y no están obsoletos. Fija la versión principal para que una actualización no instale la 2.x y migra cada integración cuando estés listo.

LenguajeInstalación de 1.x
Pythonpip install "genderapi<2"
JavaScript / TypeScriptnpm install genderapi@1
PHPcomposer require "genderapi/genderapi:^1.0"
Rubygem install genderapi -v "~> 1.0"
Javaimplementation 'com.github.GenderAPI:genderapi-java:v1.0.3'
Rremotes::install_version("genderapi", "1.0.3")

Código fuente e incidencias

Cada SDK es de código abierto. Informa de errores o solicita funciones en el repositorio de GitHub correspondiente.