Skip to content
Mähbarkeitsindex

Authentifizierung & API-Key

Jeder Request an die Mähbarkeitsindex (MFI) API erfordert einen gültigen API-Key. Der Key wird entweder als Bearer Token im Authorization-Header oder als URL-Parameter übergeben.

Zugang

API-Key beantragen

Die MFI API ist nicht öffentlich zugänglich. Für die Nutzung ist ein persönlicher API-Key erforderlich, der nach manueller Prüfung vergeben wird. Dieses Verfahren dient dazu, missbräuchliche Nutzung zu verhindern und einen stabilen Betrieb für alle Nutzer zu gewährleisten.

Um Zugang zu beantragen, genügt eine Registrierung über das Formular. Nach erfolgreicher Prüfung wird ein individueller API-Key bereitgestellt. Für Privatpersonen ist die Nutzung grundsätzlich kostenfrei.

API-Key beantragen →

Kostenlos für Privatpersonen · Manuelle Prüfung · Kein automatischer Zugang

Wichtig

API-Keys sind nicht übertragbar und dürfen nicht in öffentlich einsehbarem Code (z. B. clientseitigem JavaScript, öffentlichen GitHub-Repositories) hinterlegt werden. Jeder Key ist an einen spezifischen Nutzer gebunden.

Methoden

Drei Wege, den API-Key zu übermitteln

Der API-Key kann auf drei Arten mit dem Request mitgesendet werden. Die empfohlene Methode ist der Authorization-Header.

1

Authorization-Header (empfohlen)

Empfohlen

Den API-Key als Bearer Token im Authorization-Header übermitteln. Dies ist die sicherste Methode, da der Key nicht in der URL erscheint.

HTTP-Header
Authorization: Bearer DEIN_API_KEY
2

GET-Parameter

Nur auf Anfrage

Den API-Key als URL-Parameter api_key anhängen. Diese Methode setzt voraus, dass der API-Key explizit für GET-Zugriff freigeschaltet ist. Standardmäßig sind Keys auf POST beschränkt!

GET-Parameter
GET /v1/calculate?temperature=18.5&precipitation_rate=0.0&api_key=DEIN_API_KEY
3

POST-Body-Parameter

Bei form-encoded POST-Requests kann der API-Key als Feld api_key im Request-Body übermittelt werden.

Form-encoded POST
temperature=18.5&precipitation_rate=0.0&api_key=DEIN_API_KEY
Codebeispiele

Authentifizierung in der Praxis

Authentifizierter Request mit Bearer Token in verschiedenen Sprachen und Werkzeugen.

curl

curl -X POST https://api.maehbarkeitsindex.de/v1/calculate \
  -H "Authorization: Bearer DEIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "temperature": 18.5,
    "precipitation_rate": 0.0
  }'

PHP (cURL)

$apiKey = 'DEIN_API_KEY';
$payload = json_encode([
    'temperature'       => 18.5,
    'precipitation_rate'=> 0.0,
]);

$ch = curl_init('https://api.maehbarkeitsindex.de/v1/calculate');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST           => true,
    CURLOPT_POSTFIELDS     => $payload,
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json',
    ],
]);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
echo $data['mfi']['main_status']; // OK, WARNING oder BLOCK

JavaScript (fetch)

const apiKey = 'DEIN_API_KEY';

const response = await fetch('https://api.maehbarkeitsindex.de/v1/calculate', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${apiKey}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    temperature: 18.5,
    precipitation_rate: 0.0,
  }),
});

const data = await response.json();
console.log(data.mfi.main_status); // OK, WARNING oder BLOCK

Python (requests)

import requests

api_key = 'DEIN_API_KEY'

response = requests.post(
    'https://api.maehbarkeitsindex.de/v1/calculate',
    headers={'Authorization': f'Bearer {api_key}'},
    json={
        'temperature': 18.5,
        'precipitation_rate': 0.0,
    }
)

data = response.json()
print(data['mfi']['main_status'])  # OK, WARNING oder BLOCK
Fehler

Authentifizierungsfehler

Bei fehlerhafter oder fehlender Authentifizierung antwortet die API mit einem der folgenden HTTP-Statuscodes.

HTTP-Status message Ursache
401 No API key provided. Kein API-Key im Request
401 Invalid API key. Key existiert nicht in der Datenbank
403 API key is disabled. Key ist gesperrt
403 Access denied. IP-Adresse ist gesperrt
405 HTTP method not allowed. Verwendete HTTP-Methode für diesen Key nicht erlaubt
JSON – Fehlerantwort (Beispiel 401)
{
  "status":  "error",
  "mfi":     null,
  "message": "Invalid API key."
}

Fragen, Probleme oder Feedback?

Bei Fragen zur API, technischen Problemen, gefundenen Fehlern oder Verbesserungsvorschlägen – einfach Kontakt aufnehmen.

Kontakt aufnehmen →