Prima di inviare la richiesta
Invia le richieste di previsione a GenderAPI.io V2 con POST https://api.genderapi.io/api/v2/gender, indicando type e value nel corpo JSON. Usa la tua chiave GenderAPI.io esistente in Authorization: Bearer YOUR_API_KEY e Content-Type: application/json. Leggi il risultato in data e le informazioni su accesso e addebito in meta. Ogni richiesta viene elaborata in modo indipendente.
Scegli il linguaggio di programmazione nell'esempio di codice. Imposta GENDERAPI_API_KEY nell'ambiente del processo prima di eseguirlo. Le chiavi mancanti o non riconosciute possono usare la prova IP condivisa: quando integri un account, verifica quindi che meta.access.mode sia api_key.
Genere da un indirizzo email
| Parametro | Tipo | Obbligatorio | Valore predefinito | Descrizione |
|---|---|---|---|---|
type | string | Sì | — | Categoria di input: name, email o username. |
value | string | Sì | — | Obbligatorio. 1–254 caratteri; non vuoto e senza caratteri di controllo. I valori email devono avere una sintassi email valida. |
country | string | No | — | Codice ISO 3166-1 alpha-2 facoltativo, in maiuscolo, ad esempio TR o US. Una ricerca specifica per paese può ricorrere al set di dati globale. |
forceToGenderize | boolean | No | false | Consulta prima il set di dati, poi l'IA con interpretazione dei nickname se non c'è un risultato. Supportato per name, email e username. |
options | object | No | — | Oggetto con le opzioni IA per ciascun input. |
options.ai_mode | string | No | fallback | Valori ammessi: off, fallback, always. Con forceToGenderize: true, ometti questo campo o usa fallback. |
id | string | No | — | Identificatore facoltativo di 1–64 caratteri nel JSON POST. Viene restituito accanto al rispettivo risultato del batch e deve essere univoco all'interno del batch. Accettato ma non restituito per le previsioni singole. Non supportato nelle query GET. |
Invia type: email e l'indirizzo in value a POST https://api.genderapi.io/api/v2/gender. GenderAPI.io V2 cerca nell'indirizzo un indizio di nome utilizzabile. Le caselle condivise e le parti locali poco significative possono dare un risultato sconosciuto. Anche qui forceToGenderize è facoltativo; consente una previsione dell'IA a partire da un alias, anche senza un vero nome proprio.
Scegli un linguaggio di programmazione. Configura la tua chiave API, poi esegui l'esempio sul tuo server.
Ogni richiesta di previsione è una nuova operazione a pagamento, anche quando è un nuovo tentativo. Questi esempi non riprovano automaticamente. Controlla lo stato dell'addebito prima di inviare un'altra richiesta.
Prima dell'esecuzione: accesso e gestione degli errori
Esegui questi esempi sul tuo server. Imposta GENDERAPI_API_KEY nell'ambiente del processo con la tua chiave API esistente. Verifica che meta.access.mode sia api_key: una chiave non riconosciuta può portare alla prova IP.
Per le risposte JSON con HTTP 4xx e 5xx, il corpo dell'errore viene conservato e l'esempio termina con un codice di uscita diverso da zero. Controlla code, action e meta.usage.billing_status prima di riprovare.
Guida a errori e nuovi tentativi →cURL 7.76+ in una shell POSIX. Esegui nel terminale. Documentazione del runtime
Node.js 22+; fetch integrato. Salva come example.mjs ed esegui node example.mjs. Documentazione del runtime
Python 3.10+; libreria standard. Salva come example.py ed esegui python3 example.py. Documentazione del runtime
PHP 8+ con l'estensione cURL. Salva come example.php ed esegui php example.php. Documentazione del runtime
Java 17+; client HTTP standard. Salva come GenderApiExample.java ed esegui java GenderApiExample.java. Documentazione del runtime
Applicazione console .NET 8+. Usalo come Program.cs in un progetto console, poi esegui dotnet run. Documentazione del runtime
Go 1.22+; libreria standard. Salva come main.go ed esegui go run main.go. Documentazione del runtime
Esempio di risposta
Questa è una risposta reale acquisita il 1° ottobre 2026 con una chiave API; è stato sostituito solo il saldo dell'account. Non è una misura dell'accuratezza e una richiesta in tempo reale può restituire un risultato diverso. Le richieste con chiave API riportano meta.access.mode: api_key e null nei campi di quota validi solo per la prova; le richieste tramite prova IP riportano ip_trial. Leggi data per la previsione e meta.usage per l'esito dell'addebito dell'operazione.
{
"data": {
"input": {
"type": "email",
"value": "alice.smith@example.com",
"country": "US"
},
"name": "alice",
"gender": "female",
"country": "US",
"confidence": 0.9932550587059705,
"confidence_kind": "observed_frequency",
"sample_count": 4003,
"source": "dataset",
"result_status": "identified",
"reason": null,
"country_source": "dataset",
"match": {
"name": "alice",
"method": "token",
"scope": "country",
"country": "US"
}
},
"meta": {
"request_id": "7c22993d-454f-4f61-8b4b-d1154d3b89ff",
"duration_ms": 13,
"access": {
"mode": "api_key",
"reason": null
},
"usage": {
"charged_credits": 1,
"remaining_credits": 49999,
"billing_status": "confirmed",
"resets_at": null,
"limit": null,
"period_seconds": null
}
}
}Campi della risposta di previsione
| Campo | Tipo | Può essere null | Esempio | Descrizione |
|---|---|---|---|---|
data.input | object | No | {"type":"name","value":"Lorenzo","country":"IT"} | Tipo di input, valore e paese. forceToGenderize è incluso quando è true. |
data.name | string | Sì | "lorenzo" | Nome proprio trovato o estratto; null se non disponibile. |
data.gender | string | Sì | "male" | male, female o JSON null. Una previsione, non un'identità personale verificata. |
data.result_status | string | No | "identified" | identified se viene restituito un genere; altrimenti unknown. |
data.reason | string | Sì | null | null per i risultati identified. Motivi per unknown: not_found, no_name_candidate, ambiguous o insufficient_evidence. |
data.confidence | number | Sì | 0.95 | Valore da 0 a 1 oppure null. Se gender è null, anche la confidenza è null. |
data.confidence_kind | string | Sì | "observed_frequency" | observed_frequency: conteggio dominante nel set di dati diviso per il totale. model_reported: valore fornito dall'IA, non una probabilità calibrata. null se non disponibile. |
data.sample_count | integer | Sì | 1200 | Dimensione del campione nel set di dati oppure null. L'IA non inventa un conteggio dei campioni. |
data.source | string | No | "dataset" | dataset, ai o none. |
data.country | string | Sì | "IT" | Associazione al paese da dataset o ai_association, oppure null. Non stabilisce nazionalità, residenza né origine etnica. |
data.country_source | string | Sì | "dataset" | Origine dell'associazione al paese: dataset, ai_association o null. |
data.match | object | No | {"name":"lorenzo","method":"normalized","scope":"country","country":"IT"} | Nome trovato nel set di dati, metodo (normalized, token, substring o model_inference), ambito country o global e paese associato. Le evidenze non disponibili sono null. |
Metadati di accesso, addebito e richiesta
| Campo | Tipo | Può essere null | Esempio | Descrizione |
|---|---|---|---|---|
meta.request_id | string | No | "550e8400-e29b-41d4-a716-446655440000" | Identificatore univoco di questo tentativo HTTP; inviato anche in X-Request-ID. |
meta.duration_ms | integer | No | 42 | Tempo di elaborazione della richiesta in millisecondi. |
meta.access.mode | string | No | "api_key" | api_key, ip_trial o unauthenticated. Con un account a pagamento verifica che venga riportato api_key. |
meta.access.reason | string | Sì | null | Motivo del passaggio alla prova IP: api_key_missing, api_key_invalid o api_key_not_found; altrimenti null. |
meta.usage.charged_credits | integer | Sì | 1 | Crediti netti addebitati. Zero prima dell'addebito o dopo un rimborso completo confermato; null se l'addebito non è confermato. |
meta.usage.remaining_credits | integer | Sì | 99 | Saldo al termine dell'operazione. Può essere negativo; null se non disponibile o se l'addebito non è confermato. |
meta.usage.billing_status | string | No | "confirmed" | not_charged, confirmed o unconfirmed. Controllalo prima di ripetere una previsione non riuscita. |
meta.usage.resets_at | string | Sì | "2026-09-27T12:00:00.000Z" | Momento del ripristino della prova IP in UTC (ISO 8601); null per gli account con chiave API o se sconosciuto. |
meta.usage.limit | integer | Sì | 10 | Quota della prova IP; null per gli account con chiave API. |
meta.usage.period_seconds | integer | Sì | 86400 | Durata del periodo della prova IP in secondi; null per gli account con chiave API. |
Convalida dell'email e indizi di nome
value deve essere un indirizzo email sintatticamente valido. Una sintassi non valida restituisce HTTP 422 prima dell'addebito. La verifica della sintassi non stabilisce che la casella esista o appartenga a una determinata persona.
Un nome di persona riconoscibile nell'indirizzo può trovare corrispondenza nel set di dati. Caselle condivise, indirizzi di ruolo e parti locali poco significative possono restituire gender: null. Per impostazione predefinita, una ricerca singola non risolta usa il normale fallback IA per 1 credito in totale, anche quando il risultato riuscito è sconosciuto.
Usa forceToGenderize: true se vuoi una previsione dell'IA con interpretazione dei nickname quando il set di dati non dà un risultato. Costa 1 credito per un risultato trovato nel set di dati o 2 in totale se viene usata l'IA. L'API può comunque restituire null. Il dominio email non prova dove si trova la persona; indica un paese solo se conosci un contesto pertinente.