認証

GenderAPI のすべての API リクエストには認証が必要です。認証方法は以下の 2 通りです:

  1. POST ボディに key パラメータとして API キーを含める方法
  2. Authorization ヘッダー に Bearer トークンとして API キーを送信する方法

1. POST ボディに API キーを含める方法

最も簡単な認証方法は、API キーを key というフィールドとして POST リクエストの JSON ボディに含めることです。

例えば、「Alice」という名前の性別を判定する場合:


cURL の例

curl -X POST "https://api.genderapi.io/api" \
     -H "Content-Type: application/json" \
     -d '{"name": "Alice", "key": "YOUR_API_KEY"}'

JavaScript fetch の例

fetch("https://api.genderapi.io/api", {
  method: "POST",
  headers: {
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    name: "Alice",
    key: "YOUR_API_KEY"
  })
})
.then(response => response.json())
.then(data => console.log(data));

Python requests の例

import requests

url = "https://api.genderapi.io/api"

payload = {
    "name": "Alice",
    "key": "YOUR_API_KEY"
}

headers = {
    "Content-Type": "application/json"
}

response = requests.post(url, headers=headers, json=payload)

print(response.json())

2. Authorization ヘッダーに API キーを送る方法(Bearer トークン)

より安全かつリクエストを簡潔にするため、Authorization ヘッダーに Bearer 方式で API キーを送る方法もあります。 この方法では、JSON ボディに API キーを含めません

代わりに、name のような入力パラメータのみを POST ボディに入れます。

例えば、「Alice」という名前の性別を判定する場合:


cURL の例

curl -X POST "https://api.genderapi.io/api" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -d '{"name": "Alice"}'

JavaScript fetch の例

fetch("https://api.genderapi.io/api", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
  },
  body: JSON.stringify({
    name: "Alice"
  })
})
.then(response => response.json())
.then(data => console.log(data));

Python requests の例

import requests

url = "https://api.genderapi.io/api"

payload = {
    "name": "Alice"
}

headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
}

response = requests.post(url, headers=headers, json=payload)

print(response.json())

どちらの方法を使うべきか

両方の認証方法はすべての API エンドポイントで利用可能です。ただし Authorization ヘッダーを使う方が安全です。 リクエストボディに API キーを含めずに済むため、ログなどに誤ってキーを残すリスクが減ります。

いずれの方法でも、POST リクエストを送る際は必ず Content-Type ヘッダーを application/json に設定してください。