Antes de enviar la solicitud
Envía las consultas de GenderAPI.io V2 a POST https://api.genderapi.io/api/v2/gender con type y value en el cuerpo JSON. Utiliza tu clave actual en Authorization: Bearer YOUR_API_KEY y Content-Type: application/json. Lee el resultado en data y la información de acceso y cobro en meta. Cada solicitud se procesa de forma independiente.
Elige tu idioma en el ejemplo de código. Configura GENDERAPI_API_KEY en el entorno del proceso antes de ejecutarlo. Las claves faltantes o no reconocidas pueden usar la versión de prueba compartida de IP, así que confirme que meta.access.mode es api_key al integrar una cuenta.
Género de un nombre
| Parámetro | Tipo | Obligatorio | Valor predeterminado | Descripción |
|---|---|---|---|---|
type | string | Sí | — | Categoría de entrada: name, email o username. |
value | string | Sí | — | Requerido. 1–254 caracteres; no en blanco, sin caracteres de control. Los valores de correo electrónico deben tener una sintaxis de correo electrónico válida. |
country | string | No | — | Código ISO 3166-1 alpha-2 en mayúsculas opcional, por ejemplo TR o US. La búsqueda específica de un país puede recurrir al conjunto de datos global. |
forceToGenderize | boolean | No | false | Consulta primero el conjunto de datos y después la IA para apodos si no hay resultado. Compatible con name, email y username. |
options | object | No | — | Objeto con las opciones de IA de cada entrada. |
options.ai_mode | string | No | fallback | Valores permitidos: off, fallback, always. Con forceToGenderize: true, omite este campo o utiliza fallback. |
id | string | No | — | Identificador opcional con entre 1 y 64 caracteres en el cuerpo POST JSON. Debe ser único dentro de un lote y se devuelve con el resultado del lote. Las solicitudes individuales aceptan este identificador pero no lo incluyen en la respuesta. Las consultas GET no lo admiten. |
Para consultar un nombre o nombre completo, envía type: name y la entrada completa en value a POST https://api.genderapi.io/api/v2/gender. GenderAPI.io V2 utiliza los mismos campos para ambos formatos. Una respuesta completada puede contener data.gender: null. Las consultas individuales buscan primero en el conjunto de datos y recurren a la IA de forma predeterminada si no hay predicción.
Elige un lenguaje de programación. Configura tu clave API, luego ejecuta el ejemplo en tu servidor.
Cada solicitud de predicción es una nueva operación facturable, incluidos los reintentos. Estos ejemplos no se reintentan automáticamente. Comprueba el estado de facturación antes de enviar otra solicitud.
Antes de ejecutar: acceso y manejo de errores
Ejecuta estos ejemplos en tu servidor. Configura GENDERAPI_API_KEY en el entorno de proceso con tu clave API existente. Confirma que meta.access.mode es api_key: una clave no reconocida puede recurrir a la prueba IP.
Las respuestas HTTP 4xx y 5xx JSON conservan el cuerpo del error y devuelven un estado de salida distinto de cero. Comprueba code, action y meta.usage.billing_status antes de volver a intentarlo.
Guía de errores y reintentos →cURL 7.76+ en un shell POSIX. Ejecuta en tu terminal. Documentación del entorno de ejecución
Node.js 22+; fetch integrado. Guarda como example.mjs y ejecuta node example.mjs. Documentación del entorno de ejecución
Python 3.10+; biblioteca estándar. Guarda como example.py y ejecuta python3 example.py. Documentación del entorno de ejecución
PHP 8+ con la extensión cURL. Guarda como example.php y ejecuta php example.php. Documentación del entorno de ejecución
Java 17+; cliente estándar HTTP. Guarda como GenderApiExample.java y ejecuta java GenderApiExample.java. Documentación del entorno de ejecución
Aplicación de consola .NET 8+. Úsalo como Program.cs en un proyecto de consola, luego ejecuta dotnet run. Documentación del entorno de ejecución
Go 1.22+; biblioteca estándar. Guarda como main.go y ejecuta go run main.go. Documentación del entorno de ejecución
Ejemplo de respuesta
Esta es una respuesta real capturada el 1 de octubre de 2026 con una clave de API; solo se sustituyó el saldo de la cuenta. No es una medida de precisión, y una consulta real puede devolver un resultado distinto. Las solicitudes con clave de API indican meta.access.mode: api_key y null en los campos exclusivos de la prueba; las solicitudes de prueba por IP indican ip_trial. Lee data para la predicción y meta.usage para el resultado del cobro.
{
"data": {
"input": {
"type": "name",
"value": "Javier",
"country": "ES"
},
"name": "javier",
"gender": "male",
"country": "ES",
"confidence": 0.9955271565495207,
"confidence_kind": "observed_frequency",
"sample_count": 6260,
"source": "dataset",
"result_status": "identified",
"reason": null,
"country_source": "dataset",
"match": {
"name": "javier",
"method": "normalized",
"scope": "country",
"country": "ES"
}
},
"meta": {
"request_id": "48437027-f346-4e88-904f-5e2cd896d661",
"duration_ms": 15,
"access": {
"mode": "api_key",
"reason": null
},
"usage": {
"charged_credits": 1,
"remaining_credits": 49999,
"billing_status": "confirmed",
"resets_at": null,
"limit": null,
"period_seconds": null
}
}
}Campos de la respuesta de predicción
| Campo | Tipo | ¿Admite null? | Ejemplo | Descripción |
|---|---|---|---|---|
data.input | object | No | {"type":"name","value":"Javier","country":"ES"} | Tipo de entrada, valor y país. forceToGenderize se incluye cuando true. |
data.name | string | Sí | "javier" | Nombre de pila coincidente o extraído; null cuando no hay ninguno disponible. |
data.gender | string | Sí | "male" | male, female o JSON null. Esta es una predicción, no una prueba de la identidad de una persona. |
data.result_status | string | No | "identified" | identified si se devuelve un género; unknown en caso contrario. |
data.reason | string | Sí | null | null en resultados identified. Para unknown: not_found, no_name_candidate, ambiguous o insufficient_evidence. |
data.confidence | number | Sí | 0.95 | Puntuación entre 0 y 1, o null. Si gender es null, confidence también lo es. |
data.confidence_kind | string | Sí | "observed_frequency" | observed_frequency: el recuento de género dominante dividido por el recuento total en el conjunto de datos seleccionado. model_reported: una puntuación de IA, no una probabilidad calibrada. El valor es null cuando no está disponible. |
data.sample_count | integer | Sí | 1200 | Tamaño de muestra del conjunto de datos o null. La IA no inventa un recuento de muestras. |
data.source | string | No | "dataset" | dataset, ai o none. |
data.country | string | Sí | "ES" | Asociación de país del conjunto de datos o ai_association, o null. No establece nacionalidad, residencia ni etnia. |
data.country_source | string | Sí | "dataset" | Origen de la asociación de país: dataset, ai_association o null. |
data.match | object | No | {"name":"javier","method":"normalized","scope":"country","country":"ES"} | Nombre coincidente en el conjunto de datos, método (normalized, token, substring o model_inference), ámbito (country o global) y país de la coincidencia. La información no disponible se representa con null. |
Acceso, facturación y metadatos de la solicitud
| Campo | Tipo | ¿Admite null? | Ejemplo | Descripción |
|---|---|---|---|---|
meta.request_id | string | No | "550e8400-e29b-41d4-a716-446655440000" | Identificador único de este intento HTTP; también se envía en X-Request-ID. |
meta.duration_ms | integer | No | 42 | Tiempo de procesamiento de la solicitud en milisegundos. |
meta.access.mode | string | No | "api_key" | api_key, ip_trial o unauthenticated. Comprueba api_key para cualquier integración de cuenta, gratuita o de pago. |
meta.access.reason | string | Sí | null | Motivo del acceso de prueba: api_key_missing, api_key_invalid o api_key_not_found; null en otros casos. |
meta.usage.charged_credits | integer | Sí | 1 | Créditos netos cobrados. Cero antes del cobro o tras un reembolso completo confirmado; null si el cobro no está confirmado. |
meta.usage.remaining_credits | integer | Sí | 99 | Saldo al finalizar la operación. Puede ser negativo; null si no está disponible o el cobro no está confirmado. |
meta.usage.billing_status | string | No | "confirmed" | not_charged, confirmed o unconfirmed. Compruébelo antes de reintentar una predicción fallida. |
meta.usage.resets_at | string | Sí | "2026-09-27T12:00:00.000Z" | Reinicio de la prueba por IP en UTC (ISO 8601); null para cuentas con clave API o si se desconoce. |
meta.usage.limit | integer | Sí | 10 | Créditos de la prueba por IP; null para cuentas con clave API. |
meta.usage.period_seconds | integer | Sí | 86400 | Duración de la prueba por IP en segundos; null para cuentas con clave API. |
Contexto del país y nombres desconocidos
Proporciona el país solo cuando tenga un contexto relevante. La API puede seleccionar una fila del conjunto de datos específica de un país o recurrir a una fila global. data.match.scope muestra cuál fue seleccionado; el país devuelto no establece dónde vive la persona.
De forma predeterminada, una sola solicitud utiliza IA cuando el conjunto de datos no puede determinar un género, para un total de 1 crédito. Para utilizar solo el conjunto de datos, envía options: {"ai_mode": "off"}. Una solicitud completa todavía cuesta créditos si devuelve gender: null. Una búsqueda de nombre completo puede coincidir con una parte del nombre. data.match registra el candidato elegido y el método de coincidencia.
Para un apodo proporcionado como nombre, forceToGenderize: true permite la inferencia de IA sin un nombre real. Un género identificado en el conjunto de datos cuesta 1 crédito. Si se necesita IA, el coste total es de 2 créditos. Cualquier saldo inicial positivo es suficiente; el saldo final puede ser negativo.
Consulta un nombre completo sin dar por hecho que se elige la primera palabra
Envía el nombre con sus caracteres Unicode originales. La búsqueda en el conjunto de datos aplica normalización NFKC, conversión a minúsculas y extracción de componentes; no necesitas convertir el nombre a ASCII. Entre los candidatos disponibles, la API selecciona el registro con el mayor recuento total almacenado. Puede ser un componente posterior del nombre: no presupongas que se eligió la primera palabra o el nombre de pila.
Esta solicitud consulta solo el conjunto de datos para facilitar la revisión de la coincidencia. data.input.value contiene el nombre completo enviado; data.match.name, el candidato seleccionado; y data.match.method, el método de coincidencia. El ejemplo no garantiza un género ni un componente concreto. Los candidatos del conjunto de datos deben tener más de dos caracteres; las entradas cortas pueden quedar sin resolver. Activa el recurso habitual a la IA si esa inferencia adicional es adecuada para tu aplicación.
Elige un lenguaje de programación. Configura tu clave API, luego ejecuta el ejemplo en tu servidor.
Cada solicitud de predicción es una nueva operación facturable, incluidos los reintentos. Estos ejemplos no se reintentan automáticamente. Comprueba el estado de facturación antes de enviar otra solicitud.
Antes de ejecutar: acceso y manejo de errores
Ejecuta estos ejemplos en tu servidor. Configura GENDERAPI_API_KEY en el entorno de proceso con tu clave API existente. Confirma que meta.access.mode es api_key: una clave no reconocida puede recurrir a la prueba IP.
Las respuestas HTTP 4xx y 5xx JSON conservan el cuerpo del error y devuelven un estado de salida distinto de cero. Comprueba code, action y meta.usage.billing_status antes de volver a intentarlo.
Guía de errores y reintentos →cURL 7.76+ en un shell POSIX. Ejecuta en tu terminal. Documentación del entorno de ejecución
Node.js 22+; fetch integrado. Guarda como example.mjs y ejecuta node example.mjs. Documentación del entorno de ejecución
Python 3.10+; biblioteca estándar. Guarda como example.py y ejecuta python3 example.py. Documentación del entorno de ejecución
PHP 8+ con la extensión cURL. Guarda como example.php y ejecuta php example.php. Documentación del entorno de ejecución
Java 17+; cliente estándar HTTP. Guarda como GenderApiExample.java y ejecuta java GenderApiExample.java. Documentación del entorno de ejecución
Aplicación de consola .NET 8+. Úsalo como Program.cs en un proyecto de consola, luego ejecuta dotnet run. Documentación del entorno de ejecución
Go 1.22+; biblioteca estándar. Guarda como main.go y ejecuta go run main.go. Documentación del entorno de ejecución
Comprueba qué contexto de país se utilizó realmente
Envía un código ISO de país solo si conoces un contexto pertinente; no lo deduzcas de la predicción. Para cada candidato, el registro del país tiene prioridad sobre el global. Si no hay un registro del país, se puede utilizar el global. Un registro del país con recuentos iguales no se sustituye por el global: si se selecciona ese registro, el resultado del conjunto de datos es unknown y puede activarse la IA si se ha configurado fallback.
| Datos de la respuesta | Interpretación | Qué hacer en tu aplicación |
|---|---|---|
| match.scope: country; match.country: TR | El candidato seleccionado coincide con el registro del país solicitado. | Conserva el candidato y el ámbito de país junto con la predicción. |
| match.scope: global; match.country: null | Se ha utilizado un registro global, aunque la solicitud incluyera un país. | No presentes el resultado como una coincidencia específica de ese país. |
| country_source: dataset o ai_association | Indica el origen de data.country, no el ámbito de búsqueda ni la nacionalidad de la persona. | Interprétalo por separado de match.country; ninguno de estos campos verifica residencia ni nacionalidad. |
| source: ai; match.scope: null | La respuesta final procede de la IA y no contiene un registro seleccionado del conjunto de datos. | Aplica las reglas de confianza para IA y conserva los resultados desconocidos. |