O que um endereço de e-mail revela?
Envie um endereço de e-mail sintaticamente válido com type: email. A GenderAPI.io procura um sinal de nome na parte antes do @ e depois retorna uma previsão estruturada. A caixa de e-mail não é verificada, não é vinculada a um titular e a identidade de gênero do titular não é determinada.
A correspondência com o conjunto de dados extrai candidatos das partes do endereço e pode verificar substrings limitadas. O modo de apelidos mantém a correspondência com partes inteiras, mas não acrescenta esses candidatos baseados em substrings. Se várias entradas corresponderem, é escolhido o candidato com a maior contagem total armazenada, que não é necessariamente o primeiro nome pretendido. Verifique data.name e data.match antes de usar um nome extraído em um cadastro de contatos.
| Exemplo de entrada | Interpretação |
|---|---|
alice.smith@example.com | A parte local contém possíveis partes de um nome. Uma correspondência é possível, mas a entrada sozinha não determina qual candidato será escolhido. |
alice+news@example.com | A consulta ao conjunto de dados remove o sufixo depois do sinal de mais para os próprios candidatos. A IA recebe a instrução de ignorá-lo, mas recebe o valor enviado. |
support@example.com | Um endereço de função não fornece um sinal confiável de um nome de pessoa. Não atribua à caixa compartilhada inteira o gênero de uma pessoa. |
prenses@example.com | A opção forceToGenderize permite uma tentativa baseada no significado de um apelido quando o conjunto de dados não dá resultado. Nesse modo, não é necessário um nome real. |
not-an-email | Uma sintaxe inválida retorna um erro de validação em vez de um resultado desconhecido bem-sucedido. |
Enviar uma requisição de endereço de e-mail a partir da sua aplicação
O exemplo usa sua chave de API existente no cabeçalho Bearer e informa fallback explicitamente. Substitua o endereço de exemplo por uma entrada que você tenha o direito de processar. Informe country somente se tiver um contexto relevante; o domínio do e-mail não mostra onde uma pessoa está. Sem contexto de país, omita o campo.
Execute o exemplo no seu servidor depois de definir GENDERAPI_API_KEY. Com POST, o endereço de e-mail fica fora da URL da requisição. O resultado em tempo real pode ser diferente da resposta de exemplo da demonstração.
Escolha uma linguagem de programação. Configure sua chave de API, depois execute o exemplo no seu servidor.
Cada requisição de previsão é uma nova operação cobrada, inclusive as novas tentativas. Estes exemplos não fazem novas tentativas automaticamente. Verifique o status da cobrança antes de enviar outra requisição.
Antes de executar: acesso e tratamento de erros
Execute estes exemplos no seu servidor. Defina GENDERAPI_API_KEY no ambiente do processo com a sua chave de API existente. Confirme que meta.access.mode é api_key: uma chave não reconhecida pode levar ao teste por IP.
Respostas JSON com HTTP 4xx e 5xx preservam o corpo do erro e retornam um código de saída diferente de zero. Verifique code, action e meta.usage.billing_status antes de fazer uma nova tentativa.
Guia de erros e novas tentativas →cURL 7.76+ em um shell POSIX. Execute no seu terminal. Documentação do ambiente de execução
Node.js 22+; fetch nativo. Salve como example.mjs e execute node example.mjs. Documentação do ambiente de execução
Python 3.10+; biblioteca padrão. Salve como example.py e execute python3 example.py. Documentação do ambiente de execução
PHP 8+ com a extensão cURL. Salve como example.php e execute php example.php. Documentação do ambiente de execução
Java 17+; cliente HTTP padrão. Salve como GenderApiExample.java e execute java GenderApiExample.java. Documentação do ambiente de execução
Aplicação de console .NET 8+. Use como Program.cs em um projeto de console e depois execute dotnet run. Documentação do ambiente de execução
Go 1.22+; biblioteca padrão. Salve como main.go e execute go run main.go. Documentação do ambiente de execução
Salvar o resultado junto com as evidências
Uma associação inferida não é o gênero declarado por uma pessoa. Salve separadamente a entrada original, as evidências retornadas e o que a pessoa declarou. Um resultado desconhecido é um resultado válido e não deve se transformar em uma categoria adivinhada na sua aplicação.
| Campo | Uso |
|---|---|
data.gender / data.result_status | Use male ou female somente com identified. Em um resultado desconhecido, preserve o valor null nativo do JSON. |
data.name / data.match | Verifique o nome retornado e o candidato selecionado. Uma correspondência com uma substring não comprova que a entrada pertence a uma pessoa com esse nome. |
data.confidence / data.confidence_kind | A confiança está em uma escala de 0 a 1 ou é null. observed_frequency se baseia em frequências armazenadas; model_reported é um valor fornecido pela IA. Avalie os limites separadamente para cada tipo. |
data.source / data.sample_count | Diferencie dataset, ai e none. Resultados da IA não têm um tamanho de amostra armazenado. Um tamanho de amostra não é um valor de precisão medido. |
meta.access.mode | Em uma integração com conta, verifique se o valor informado é api_key. Chaves ausentes ou não reconhecidas podem usar o teste por IP compartilhado. |
meta.usage | Leia charged_credits e billing_status. Um resultado desconhecido bem-sucedido é cobrado. Uma resposta perdida não comprova que a requisição foi gratuita. |
Decidir quando usar a IA
forceToGenderize é opcional para nomes, endereços de e-mail e nomes de usuário. Quando ativado, omita ai_mode ou use fallback; off e always não podem ser combinados com essa opção e retornam 422. Um saldo inicial positivo basta para iniciar uma requisição, mesmo que a cobrança final deixe o saldo negativo.
O modo de apelidos pode retornar um gênero junto com name: null. Ele também pode dar um resultado desconhecido. Nem o fallback de IA comum nem a interpretação de apelidos garantem uma resposta correta ou um valor diferente de null.
| Opção da requisição | Comportamento | Créditos por consulta bem-sucedida |
|---|---|---|
| options.ai_mode: off | Usa apenas o conjunto de dados. | 1, inclusive para um resultado desconhecido |
| options.ai_mode: fallback | Consulta primeiro o conjunto de dados e depois usa a IA comum se nenhum gênero for retornado. É o padrão das requisições individuais. | 1 no total, incluindo o fallback de IA |
| options.ai_mode: always | Usa a IA diretamente. | 2 |
| forceToGenderize: true | Consulta primeiro o conjunto de dados e depois deixa a IA interpretar um apelido pessoal ou um alias, mesmo sem um nome próprio real. | 1 para um resultado encontrado no conjunto de dados; 2 no total se a IA for usada |
Processar uma lista de endereços de e-mail em lote
Use POST /api/v2/gender/batch com um array items de itens com type: email. O acesso com uma chave de API registrada aceita até 50 itens; o teste por IP, até 10. Mantenha um id único para cada item para associar os resultados à linha original. A resposta também segue a ordem de entrada e informa index.
Por padrão, os itens de um lote usam apenas o conjunto de dados. Defina options.ai_mode: fallback em cada item que precisar do fallback de IA comum. Dois itens bem-sucedidos com fallback custam 2 créditos no total, mesmo quando os resultados são desconhecidos; uma requisição HTTP não equivale a um crédito por previsão.
Verifique cada item, mesmo quando o lote retornar HTTP 200. Salve os resultados bem-sucedidos e desconhecidos e depois verifique os erros e a cobrança confirmada antes de reenviar os itens com falha. Após um tempo limite esgotado, não reenvie um lote bem-sucedido inteiro sem antes verificar a cobrança.
Saber o que você envia
A demonstração em tempo real envia o valor digitado à GenderAPI.io somente quando você o envia. Se a IA for usada, type, value e o contexto de país enviados são transmitidos ao serviço configurado para as previsões. Para uma previsão baseada apenas no conjunto de dados, defina options.ai_mode: off sem forceToGenderize na sua integração.
A política de privacidade, o acordo de processamento de dados e a lista de suboperadores descrevem as condições de tratamento publicadas. Um resultado é uma associação inferida, e o que uma pessoa declara tem prioridade. Não o use como base para decisões com consequências relevantes para uma pessoa.
Perguntas frequentes
A API consegue extrair um primeiro nome de um endereço de e-mail?
Ela pode retornar um candidato de nome quando a parte local contém um sinal utilizável. São possíveis correspondências com partes inteiras e com substrings, então verifique data.match. O resultado não indica o primeiro nome da pessoa titular da caixa de e-mail.
Um endereço info@ ou support@ retorna um gênero?
Endereços de função compartilhados normalmente não fornecem evidências de um nome de pessoa. Um resultado desconhecido é válido. A IA ou o modo de apelidos não devem ser considerados uma confirmação sobre as pessoas que usam uma caixa compartilhada.
Um resultado desconhecido para um endereço de e-mail consome créditos?
Sim. Uma requisição comum bem-sucedida para um endereço de e-mail custa 1 crédito, incluindo o fallback de IA e os resultados desconhecidos. A interpretação forçada de apelidos custa 1 crédito para um resultado encontrado no conjunto de dados ou 2 no total se a IA for usada. Em caso de erro, a cobrança é informada separadamente em meta.usage.
O domínio do e-mail é removido antes de a IA processar o endereço?
Não há garantia. Os candidatos do conjunto de dados vêm da parte local, enquanto a IA recebe o valor enviado com a instrução de ignorar o domínio e o sufixo depois do sinal de mais. Use o modo baseado apenas no conjunto de dados se o seu fluxo de trabalho exigir isso.