DOCUMENTAÇÃO DA API V2

SDKs oficiais da GenderAPI.io V2

Instale os SDKs oficiais da GenderAPI.io V2 para Python, JavaScript, PHP, Ruby, Java, R e C#. Compare pacotes, requisitos e o comportamento comum das requisições.

Escolha um pacote

Os SDKs oficiais de código aberto chamam a mesma API V2 descrita nestes guias. A versão 2.x de cada pacote usa a API V2. Instale a linha 2.x em novos projetos.

LinguagemPacoteInstalaçãoRequisitos
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 ou .NET Standard 2.0

Observações sobre os registros de pacotes

  • Java: adicione https://jitpack.io aos seus repositórios. A mesma versão também é publicada no GitHub Packages como io.genderapi:genderapi, o que exige um token do GitHub com read:packages.
  • R: o CRAN ainda distribui o pacote 1.x enquanto a versão 2.0.0 está em revisão no CRAN. Instale a 2.0.0 a partir da tag do GitHub até que o CRAN a publique.
  • JavaScript: o pacote é destinado a ambientes de execução no servidor. Não o use em código de navegador, pois isso exporia sua chave de API.

Comportamento comum

  • Cada cliente lê a chave de API de GENDERAPI_API_KEY ou a recebe no construtor. Mantenha a chave no seu servidor.
  • Sem chave de API, as requisições usam o teste por IP compartilhado: 10 créditos por endereço IP a cada 24 horas.
  • Importar um pacote ou criar um cliente não envia nenhuma requisição. Cada chamada de método envia exatamente uma requisição.
  • Nenhum SDK repete uma requisição automaticamente. Uma nova tentativa é uma nova operação, cobrada normalmente; por isso, verifique primeiro o erro e o status da cobrança.
  • Os SDKs não seguem redirecionamentos, e o tempo limite padrão é de 10 segundos.
  • Um resultado desconhecido é uma resposta bem-sucedida: gender é null e a requisição é cobrada normalmente.
  • Os erros expõem o status HTTP, o código de erro, o ID da requisição e, quando presente, o valor de Retry-After.

Exemplos de início rápido

Cada exemplo envia uma previsão de nome e custa 1 crédito. Defina antes GENDERAPI_API_KEY no ambiente do servidor. O README de cada repositório aborda requisições em lote, consultas de uso e tratamento de erros.

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('João', country: 'BR');
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("Camila", country = "BR")  # 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);

Mantenha uma integração V1 na versão 1.x

Os pacotes da versão 1.x continuam disponíveis para integrações V1 existentes e não estão obsoletos. Fixe a versão principal para que uma atualização não instale a 2.x e migre cada integração quando estiver pronto.

LinguagemInstalação da 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-fonte e issues

Cada SDK é de código aberto. Relate bugs ou solicite recursos no repositório correspondente do GitHub.