Was ist ein API-Key? Definition, Use, Security Best Practices

Ein API-Key ist ein eindeutiger String, der die anrufende Applikation identifiziert. Genutzt für Auth, Rate-Limiting, Billing — aber schwächer als OAuth.

Was ist ein API-Key?

Ein API-Key ist ein eindeutiger Character-String, der die Applikation oder den User identifiziert und authentifiziert, der einen Request an eine API macht. Es ist die simpelste Form der API-Authentifizierung: den Key im Request-Header (oder manchmal Query-String) inkludieren, und der Server checkt ihn gegen eine Datenbank.

API-Keys werden häufig genutzt für: Identifizieren welche App callt, Rate-Limits applien, Usage für Billing tracken, basic Authorization.

Wie ein API-Key aussieht

API_KEY="sk_live_4eC39HqLyjWDarjtT1zdp7dc"

Wie API-Keys gesendet werden

MethodeBeispielNotes
Authorization-HeaderAuthorization: Bearer YOUR_API_KEYHäufigste, empfohlen
Custom-HeaderX-API-Key: YOUR_API_KEYCommon Pattern
Query-String?api_key=YOUR_API_KEYWeniger secure
Request-BodyJSON-FeldSelten für REST

API-Key vs andere Auth-Methoden

MethodeStrengthWann nutzen
API-KeyNiedrigServer-to-server, simple
OAuth 2.0HochUser-facing Apps
JWTMedium-hochMicroservices
mTLSHochService-to-service
Basic AuthNiedrigLegacy
HMAC SigningHochWebhooks

API-Key-Generation-Beispiel

import crypto from 'crypto';

function generateApiKey(prefix = 'sk_live_') {
  return prefix + crypto.randomBytes(24).toString('hex');
}

const hash = crypto.createHash('sha256').update(key).digest('hex');
await db.apiKeys.insert({ user_id: userId, key_hash: hash });

API-Key Security Best Practices

  • Keys als Secrets behandeln.
  • Environment-Variables nutzen.
  • Regelmäßig rotieren.
  • Mit Permissions scopen.
  • IP-Allowlist.
  • Verschiedene Keys pro Environment.
  • Hashen, nicht raw speichern.
  • Key einmal at Creation zeigen.
  • Per-Key rate-limiten.
  • Key-Usage loggen.
  • On Demand revoken.

Häufige API-Key-Fallstricke

  • Keys in Client-side Code.
  • Keys in Git-History.
  • Keys in URLs.
  • Single Key für alles.
  • Keine Rotation.
  • Kein Rate-Limiting.
  • Raw Keys in DB speichern.
  • Keys via Slack/Email teilen.

API-Key-Use-Cases

Use CaseWarum API-Key funktioniert
Server-to-server AuthKeine User-Interaction
Public Read-APIsCaller identifizieren
Webhooks (Sending)Sender authentifizieren
Third-party IntegrationsSimpler als OAuth-Flow
Internal Microservice AuthWenn mTLS overkill

FAQ: API-Keys

Sind API-Keys secure?

Weniger als OAuth 2.0 oder mTLS.

API-Key vs OAuth: was nutzen?

API-Key für server-to-server. OAuth für user-facing Apps.

Wie rotiere ich einen API-Key?

Neuen Key generieren, beide valid für Transition, alte revoken.

Sollten API-Keys expire?

Ja — 90 Tage typisch.

Wo speichere ich API-Keys?

Secrets-Manager.

Wie detektiere ich einen geleakten API-Key?

GitHub Secret-Scanning, gitleaks.

Kann ich API-Keys in Mobile-Apps nutzen?

Riskant.

API-Key-protected Endpoints mit LoadFocus testen

LoadFocus läuft JMeter- und k6-Scripts, die API-Keys at Scale senden. Registrieren bei loadfocus.com/signup.

Wie schnell ist Ihre Website?

Steigern Sie ihre Geschwindigkeit und SEO nahtlos mit unserem kostenlosen Geschwindigkeitstest.

Kostenloser Websitespeed-Test

Analysieren Sie die Ladegeschwindigkeit Ihrer Website und verbessern Sie ihre Leistung mit unserem kostenlosen Seitengeschwindigkeits-Checker.

×