Microsoft Graph API: Kosten und Lizenzen erklärt
Kurz gesagt: Die Microsoft Graph API selbst kostet nichts. Es gibt keine Gebühr pro Aufruf und kein monatliches Kontingent, das Sie freischalten müssten. Bezahlt wird das Produkt hinter den Daten – also Ihre Microsoft-365- oder Entra-ID-Lizenz – plus eine kleine Gruppe sogenannter gemessener (metered) APIs für Massen-Exporte. Der folgende Text zeigt, wo genau Kosten entstehen, was Ihre bestehende Lizenz bereits abdeckt und wie Sie die häufige Verwechslung von Drosselung und Bezahl-Limit vermeiden.
Die kurze Antwort
- Standard-APIs: kostenlos, in der jeweiligen Microsoft-365-Lizenz enthalten.
- App-Registrierung in Microsoft Entra ID: kostenlos, auch ohne kostenpflichtiges Azure-Abonnement.
- Gemessene Bulk- und Service-APIs: kostenpflichtig, Abrechnung ausschließlich über eine verknüpfte Azure-Subscription.
Für nahezu alle gängigen Integrationen – Nutzer auslesen, Mails senden, Kalender oder OneDrive-Dateien verwalten – fällt also kein Cent zusätzlich an.
Was Ihre Microsoft-365-Lizenz bereits abdeckt
Der Großteil von Microsoft Graph besteht aus Standard-APIs, die normale Lese- und Schreiboperationen ausführen. Der Zugriff ist Teil der Nutzerlizenz und verursacht keine gesonderten Kosten. Dazu gehören unter anderem:
- Nutzer und Gruppen –
/users,/groups - Mail –
/me/messages,/users/{id}/sendMail - Kalender –
/me/events - Dateien –
/me/drive(OneDrive und SharePoint) - Teams-Chat – Nachrichten senden und lesen
- Suche, Excel-Workbooks, To Do, Planner
Voraussetzung ist lediglich, dass der Nutzer beziehungsweise der Tenant das passende Produkt lizenziert hat. Wer kein Teams lizenziert, erhält über die Teams-Endpunkte keine Daten – nicht wegen einer API-Gebühr, sondern wegen der fehlenden Produktlizenz. Wenn Sie ohnehin prüfen, welche Microsoft-Dienste sich datenschutzkonform betreiben lassen, hilft der Überblick welche Apps DSGVO-konform sind.
Was Sie zum Start brauchen (alles kostenlos)
Um überhaupt einen Token zu bekommen, registrieren Sie eine Anwendung in Microsoft Entra ID (früher Azure AD). Das kostet nichts – die kostenlose Entra-ID-Stufe reicht dafür aus.
- Öffnen Sie entra.microsoft.com oder portal.azure.com und gehen Sie zu „App registrations” → „New registration”.
- Vergeben Sie unter „API permissions” die benötigten Microsoft-Graph-Rechte. Unterscheiden Sie dabei zwischen delegated (im Namen eines angemeldeten Nutzers) und application (Hintergrunddienst ohne Nutzer).
- Holen Sie – bei Anwendungsberechtigungen – den Admin-Consent ein.
- Legen Sie ein Client-Secret oder besser ein Zertifikat an.
Danach fordern Sie per OAuth 2.0 ein Token an, zum Beispiel im Client-Credentials-Flow:
POST https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
Content-Type: application/x-www-form-urlencoded
client_id={app-id}
&scope=https://graph.microsoft.com/.default
&client_secret={secret}
&grant_type=client_credentials
Mit dem zurückgegebenen Bearer-Token rufen Sie die eigentliche API auf:
GET https://graph.microsoft.com/v1.0/users
Authorization: Bearer {token}
Weder die Registrierung noch dieser Aufruf lösen eine Abrechnung aus. Ein kostenpflichtiges Azure-Abonnement ist an dieser Stelle nicht nötig.
Die Ausnahme: gemessene (metered) APIs
Kosten entstehen erst bei den wenigen gemessenen APIs und Diensten. Das sind speziell gebaute Endpunkte für Massen-Export oder -Import großer Datenmengen. Ihre Abrechnung erfolgt nutzungsabhängig – je nach API pro Aufruf, pro zurückgegebenem Objekt oder nach einer anderen Kennzahl.
Damit solche Aufrufe überhaupt funktionieren, müssen Sie:
- die App-Registrierung mit einer aktiven Azure-Subscription verknüpfen (nur diese wird belastet),
- eine sogenannte Graph-Billing-Ressource in Azure anlegen,
- eine confidential-client-App verwenden (Web-App, Web-API oder Daemon/Dienst); reine Desktop- oder Mobil-Apps werden hier nicht unterstützt.
Die Abrechnungsdaten erscheinen üblicherweise rund 24 Stunden nach den Aufrufen unter dem Dienstnamen „Microsoft Graph services”. Das prominenteste kostenpflichtige Angebot ist Microsoft Graph Data Connect, mit dem sich Microsoft-365-Daten im großen Stil in eine Azure-Datenpipeline extrahieren lassen; abgerechnet wird pro verarbeitetem Objekt.
Wichtig: Diese Liste ändert sich. So sind die Teams-Export-APIs (getAllMessages, getAllRetainedMessages) sowie Transkripte und Meeting-Aufzeichnungen seit dem 25. August 2025 nicht mehr gemessen – hier ist keine Billing-Konfiguration mehr erforderlich. Prüfen Sie vor dem Produktivstart daher immer die aktuelle „Metered APIs”-Liste in der Microsoft-Learn-Dokumentation.
Drosselung ist kein Bezahl-Limit
Ein weit verbreitetes Missverständnis: Die „Limits” der Graph API sind Drosselungsgrenzen (Throttling), kein monatliches Kontingent, das man gegen Bezahlung erhöht. Wird eine Grenze überschritten, antwortet Graph mit dem HTTP-Status 429 Too Many Requests und liefert im Retry-After-Header eine empfohlene Wartezeit.
Die Grenzen dienen dem Schutz der Plattform, nicht der Umsatzsteigerung. Als grobe Orientierung nennt Microsoft eine globale Obergrenze von rund 130.000 Anfragen pro 10 Sekunden je App über alle Tenants hinweg; seit dem 30. September 2025 wird die Grenze pro App und Nutzer innerhalb eines Tenants zusätzlich gedeckelt. Der richtige Umgang damit ist technischer Natur, nicht finanzieller: den Retry-After-Header respektieren, exponentielles Backoff einbauen und Anfragen bündeln (etwa über $batch oder Delta-Abfragen), statt in einer Schleife dieselben Daten mehrfach zu holen.
Lizenzpflichtige Funktionen hinter kostenlosen Endpunkten
Manche Endpunkte sind kostenlos aufrufbar, liefern aber nur mit der passenden Produktlizenz Daten. Typische Beispiele:
- Geräteverwaltung (
/deviceManagement/...) setzt eine Microsoft-Intune-Lizenz voraus. - Identity Protection und erweiterte Anmelde-Risikodaten benötigen Entra ID P1 oder P2.
Fehlt die Lizenz, kommt kein Fehler wegen einer API-Gebühr zurück, sondern ein 403 Forbidden. Die API bleibt gratis – bezahlt wird das Feature dahinter. Wer solche Integrationen plant, sollte die Microsoft-Cloud-Bausteine früh mitdenken; welche Anbieter hierzulande dominieren, zeigt der Beitrag welche Cloud-Anbieter in Deutschland führend sind. Für die Anbindung selbst reicht praktisch jede gängige Sprache mit HTTP-Client oder offiziellem SDK – ein Blick auf die 2025 wichtigsten Programmiersprachen hilft bei der Wahl.
FAQ
Brauche ich ein kostenpflichtiges Azure-Abonnement, um die Graph API zu nutzen? Nein. Für die App-Registrierung und alle Standard-APIs genügt die kostenlose Entra-ID-Stufe. Ein Azure-Abonnement wird nur für gemessene APIs gebraucht – und ausschließlich diese lösen dort eine Abrechnung aus.
Kostet jeder API-Aufruf Geld? Nein. Standard-Aufrufe wie das Auslesen von Nutzern, das Senden von Mails oder der Zugriff auf Kalender sind kostenlos. Nur gemessene Bulk-APIs werden pro Aufruf beziehungsweise pro zurückgegebenem Objekt berechnet.
Warum bekomme ich trotz „kostenloser API” einen 403-Fehler?
Ein 403 bedeutet fehlende Berechtigung oder fehlende Produktlizenz im Tenant – nicht, dass eine Zahlung fällig wäre. Prüfen Sie die vergebenen Graph-Rechte, den Admin-Consent und ob der Zieldienst (z. B. Intune, Teams) überhaupt lizenziert ist.
Brauchen Sie Hilfe dabei? Ypsilon.dev — Webagentur aus Regensburg, kostenlose Erstberatung.