Authentifizierung

Alle API-Anfragen an GenderAPI erfordern eine Authentifizierung. Du kannst deine Anfragen auf zwei Arten authentifizieren:

  1. API-Schlüssel im POST-Body als key-Parameter
  2. API-Schlüssel im Authorization-Header mit einem Bearer-Token

1. API-Schlüssel im POST-Body

Die einfachste Möglichkeit zur Authentifizierung besteht darin, deinen API-Schlüssel als Feld key im JSON-Body deiner POST-Anfrage zu übergeben.

Zum Beispiel, um das Geschlecht des Namens „Alice“ zu bestimmen:


cURL-Beispiel

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

JavaScript fetch-Beispiel

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-Beispiel

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. API-Schlüssel im Authorization-Header (Bearer Token)

Für mehr Sicherheit und sauberere Requests kannst du deinen API-Schlüssel im Authorization-Header mit dem Bearer-Schema übermitteln. Bei dieser Methode wird der API-Schlüssel nicht im JSON-Body mitgesendet.

Stattdessen werden nur deine Eingabeparameter (wie name) im POST-Body gesendet.

Zum Beispiel, um das Geschlecht des Namens „Alice“ zu bestimmen:


cURL-Beispiel

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

JavaScript fetch-Beispiel

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-Beispiel

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())

Auswahl zwischen den beiden Methoden

Beide Authentifizierungsmethoden werden bei allen API-Endpunkten unterstützt. Allerdings ist die Nutzung des Authorization-Headers sicherer, da dein API-Schlüssel nicht im Body der Anfrage landet und somit nicht versehentlich geloggt werden kann.

Unabhängig von der Methode solltest du bei POST-Anfragen immer den Header Content-Type auf application/json setzen.