Authentifizierung & Limits
Anonym geht's auch — mit API-Key bekommst du höhere Limits, CORS-Whitelist und Verbrauchs-Webhooks.
API-Keys & Rate-Limits
Tarif-Tabelle
| Tier | Limit | Authentifizierung |
|---|---|---|
| Anonym | 1 000 / Tag / IP | keine |
| Hobby | 10 000 / Monat | ?key=… |
| Starter | 100 000 / Monat | ?key=… |
| Pro | 1 000 000 / Monat | ?key=… |
| Business | 10 000 000 / Monat | ?key=… |
| Enterprise | 100 000 000 / Monat | ?key=… |
API-Keys werden im Konto-Bereich erzeugt. Tarif-Wechsel via Preise.
Rate-Limit-Header
Jede Antwort liefert drei Header:
X-RateLimit-Limit— dein aktuelles Tarif-LimitX-RateLimit-Remaining— Anfragen, die du noch hastX-RateLimit-Reset— Unix-Timestamp, wann der Counter zurückgesetzt wird
Bei Überschreitung: HTTP 429 mit Retry-After-Header.
CORS-Whitelist
Anonyme Anfragen: Access-Control-Allow-Origin: * — JS-Aufrufe von beliebigen Domains erlaubt.
Mit API-Key: optional pro Key eine Whitelist konfigurieren (kommagetrennte Origins, oder * = alle). Konfigurierbar im Konto-Bereich. Nicht-erlaubte Origins → HTTP 403.
Verbrauchs-Webhooks
Pro API-Key kannst du eine HTTPS-URL und einen Schwellwert (in % des Monatslimits) hinterlegen. Wird der Schwellwert in einem Monat erreicht, schickt geoAPI einen POST mit:
{
"event": "usage_alert",
"user_email": "du@example.com",
"key_prefix": "gk_a1b2",
"label": "Meine Wetter-App",
"plan": "starter",
"used": 85123,
"limit": 100000,
"percent": 85,
"threshold": 80,
"period_start": "2026-05-01T00:00:00+00:00",
"period_end": "2026-05-31T23:59:59+00:00",
"dispatched_at": "2026-05-23T14:15:00+00:00"
}
Konfiguration: Konto-Bereich → API-Key → Details → Verbrauchs-Webhook.