DOCUMENTAZIONE API V2

SDK ufficiali di GenderAPI.io V2

Installa gli SDK ufficiali di GenderAPI.io V2 per Python, JavaScript, PHP, Ruby, Java, R e C#. Confronta pacchetti, requisiti e comportamento comune delle richieste.

Scegli un pacchetto

Gli SDK ufficiali open source chiamano la stessa API V2 descritta in queste guide. La versione 2.x di ogni pacchetto usa l'API V2. Per i nuovi progetti installa la versione 2.x.

LinguaggioPacchettoInstallazioneRequisiti
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

Note sui registri

  • Java: aggiungi https://jitpack.io ai tuoi repository. La stessa release è pubblicata anche su GitHub Packages come io.genderapi:genderapi, che richiede un token GitHub con read:packages.
  • R: CRAN distribuisce ancora il pacchetto 1.x mentre la versione 2.0.0 è in fase di revisione su CRAN. Installa la 2.0.0 dal tag GitHub finché CRAN non la pubblica.
  • JavaScript: il pacchetto è pensato per runtime lato server. Non usarlo nel codice del browser, perché esporrebbe la tua chiave API.

Comportamento comune

  • Ogni client legge la chiave API da GENDERAPI_API_KEY oppure la accetta nel costruttore. Tieni la chiave sul tuo server.
  • Senza chiave API, le richieste usano la prova IP condivisa: 10 crediti per indirizzo IP ogni 24 ore.
  • Importare un pacchetto o creare un client non invia alcuna richiesta. Ogni chiamata a un metodo invia esattamente una richiesta.
  • Nessun SDK ripete automaticamente una richiesta. Un nuovo tentativo è una nuova operazione addebitata normalmente, quindi controlla prima l'errore e lo stato dell'addebito.
  • Gli SDK non seguono i reindirizzamenti e il timeout predefinito è di 10 secondi.
  • Un risultato sconosciuto è una risposta riuscita: gender è null e la richiesta viene addebitata normalmente.
  • Gli errori riportano lo stato HTTP, il codice di errore, l'ID della richiesta e, se presente, il valore di Retry-After.

Esempi di avvio rapido

Ogni esempio invia una previsione per un nome e costa 1 credito. Prima imposta GENDERAPI_API_KEY nell'ambiente del server. Il README di ogni repository illustra le richieste batch, i controlli sull'utilizzo e la gestione degli errori.

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('Lorenzo', country: 'IT');
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("Sofia", country = "IT")  # 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);

Mantieni un'integrazione V1 sulla 1.x

I pacchetti della versione 1.x restano disponibili per le integrazioni V1 esistenti e non sono deprecati. Blocca la versione principale in modo che un aggiornamento non installi la 2.x, poi migra ogni integrazione quando sei pronto.

LinguaggioInstallazione 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")

Codice sorgente e segnalazioni

Ogni SDK è open source. Segnala bug o richiedi funzionalità nel repository GitHub corrispondente.