# GenderAPI.io V2の公式SDK

> Python、JavaScript、PHP、Ruby、Java、R、C#向けのGenderAPI.io V2公式SDKをインストールします。パッケージ、動作要件、共通のリクエスト動作を比較できます。

Canonical HTML: https://www.genderapi.io/ja/docs/v2/sdks

Last reviewed: 2026-09-29

## パッケージを選ぶ

オープンソースの公式SDKは、これらのガイドで説明しているものと同じV2 APIを呼び出します。各パッケージのバージョン2.xはAPI V2を使用します。新しいプロジェクトには2.x系をインストールしてください。

| 言語 | パッケージ | インストール | 動作要件 |
| --- | --- | --- | --- |
| Python | `genderapi (PyPI)` | `pip install "genderapi>=2,<3"` | Python 3.9+ |
| JavaScript / TypeScript | `genderapi (npm)` | `npm install genderapi@2` | Node.js 18+ |
| PHP | `genderapi/genderapi (Packagist)` | `composer require "genderapi/genderapi:^2.0"` | PHP 8.1+ |
| Ruby | `genderapi (RubyGems)` | `gem install genderapi -v "~> 2.0"` | Ruby 3.0+ |
| Java | `com.github.GenderAPI:genderapi-java (JitPack)` | `implementation 'com.github.GenderAPI:genderapi-java:v2.0.0'` | Java 11+ |
| R | `genderapi (GitHub)` | `remotes::install_github("GenderAPI/genderapi-R", ref = "v2.0.0")` | R 4.1+ |
| C# / .NET | `GenderAPI (NuGet)` | `dotnet add package GenderAPI` | .NET 8または.NET Standard 2.0 |

## レジストリに関する注意

- Java：リポジトリにhttps://jitpack.ioを追加してください。同じリリースはGitHub Packagesにもio.genderapi:genderapiとして公開されており、こちらを使うにはread:packages権限を持つGitHubトークンが必要です。
- R：バージョン2.0.0がCRANの審査中のため、CRANでは引き続き1.xのパッケージが提供されています。CRANで公開されるまでは、GitHubのタグから2.0.0をインストールしてください。
- JavaScript：このパッケージはサーバーサイドのランタイム向けです。APIキーが露出するため、ブラウザのコードでは使用しないでください。

## 共通の動作

- 各クライアントはGENDERAPI_API_KEYからAPIキーを読み込むか、コンストラクターでキーを受け取ります。キーはサーバー上で管理してください。
- APIキーがない場合、リクエストは共有のIPトライアルを使用します（IPアドレスごとに24時間あたり10クレジット）。
- パッケージのインポートやクライアントの作成ではリクエストは送信されません。メソッドを1回呼び出すたびに、リクエストがちょうど1件送信されます。
- どのSDKもリクエストを自動では再試行しません。再試行は通常どおり課金される新しい操作なので、まずエラーと課金状況を確認してください。
- SDKはリダイレクトに従わず、デフォルトのタイムアウトは10秒です。
- 不明な結果も成功したレスポンスです。genderはnullになり、リクエストは通常どおり課金されます。
- エラーからは、HTTPステータス、エラーコード、リクエストID、および存在する場合はRetry-Afterの値を取得できます。

- [認証とIPトライアルでのアクセス](https://www.genderapi.io/ja/docs/v2/authentication)
- [クレジットと使用状況](https://www.genderapi.io/ja/docs/v2/credits-and-usage)
- [エラーと再試行](https://www.genderapi.io/ja/docs/v2/errors-and-retries)

## クイックスタートの例

各例は名前の推定を1件送信し、1クレジットを消費します。まずサーバーの環境にGENDERAPI_API_KEYを設定してください。バッチリクエスト、使用状況の確認、エラー処理については各リポジトリのREADMEで説明しています。

**Python**

```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**

```javascript
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
<?php
require __DIR__ . '/vendor/autoload.php';

use GenderApi\Client;

$client = new Client(); // reads GENDERAPI_API_KEY
$result = $client->name('Hiroshi', country: 'JP');
echo $result->data->gender ?? 'unknown', ' ', $result->meta->usage->chargedCredits, "\n";
```

**Ruby**

```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**

```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**

```r
library(genderapi)

res <- genderapi_name("Sakura", country = "JP")  # reads GENDERAPI_API_KEY
res$data$gender
res$meta$usage$charged_credits
```

**C# / .NET**

```csharp
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);
```

## V1の連携は1.xのまま使い続ける

バージョン1.xのパッケージは既存のV1連携向けに引き続き提供されており、非推奨ではありません。更新時に2.xがインストールされないようメジャーバージョンを固定し、準備ができたら連携ごとに移行してください。

| 言語 | 1.xのインストール |
| --- | --- |
| Python | `pip install "genderapi<2"` |
| JavaScript / TypeScript | `npm install genderapi@1` |
| PHP | `composer require "genderapi/genderapi:^1.0"` |
| Ruby | `gem install genderapi -v "~> 1.0"` |
| Java | `implementation 'com.github.GenderAPI:genderapi-java:v1.0.3'` |
| R | `remotes::install_version("genderapi", "1.0.3")` |

- [V1からの移行](https://www.genderapi.io/ja/docs/v2/migration)
- [バージョン1.xのクライアントライブラリ](https://www.genderapi.io/ja/docs-client-libraries)

## ソースコードとIssue

各SDKはオープンソースです。バグの報告や機能のリクエストは、対応するGitHubリポジトリで行ってください。

- [GitHub上のPython SDK](https://github.com/GenderAPI/genderapi-python)
- [GitHub上のJavaScript SDK](https://github.com/GenderAPI/genderapi-js)
- [GitHub上のPHP SDK](https://github.com/GenderAPI/genderapi-php)
- [GitHub上のRuby SDK](https://github.com/GenderAPI/genderapi-ruby)
- [GitHub上のJava SDK](https://github.com/GenderAPI/genderapi-java)
- [GitHub上のR SDK](https://github.com/GenderAPI/genderapi-R)
- [GitHub上のC# SDK](https://github.com/GenderAPI/genderapi-C)
