Microsoft Office 365 · Rate Limits
Microsoft Office 365 Rate Limits
Microsoft Office 365 / Microsoft 365 programmatic access is provided through Microsoft Graph, Exchange Web Services, and the legacy Outlook REST API. The dominant throttling regime is the Microsoft Graph per-app-per-tenant and per-app-across-all-tenants quotas, with a global ceiling of 130,000 requests per 10 seconds per app. Each Office 365 service (Exchange, SharePoint / OneDrive, Teams, Excel) has its own service-specific quota.
8 Limits
Throttle: 429
Rate LimitingMicrosoft 365Microsoft GraphMicrosoft
Limits
Microsoft Graph global ceiling application
130000
Excel — per app/tenant app/tenant
1500
Excel — per app across tenants application
5000
Teams Calls per app/tenant app/tenant
50000
Teams Presence per app/tenant app/tenant
10000
Exchange Message Trace tenant
100
SharePoint / OneDrive app/tenant
see SharePoint Online throttling guidance — no fixed numeric per-app per-second quota published
Identity & Access (read) per app/tenant app/tenant
3500–8000 RU per 10s based on tenant size
Policies
Backoff Strategy
Honour Retry-After on 429 / 503; the Microsoft Graph SDK handlers do this by default.
Use change notifications
Subscribe to change notifications instead of polling.
Use $batch
Combine up to 20 requests in a single $batch envelope.
Service-specific guidance
SharePoint / OneDrive throttling is handled separately by the SharePoint Online service; always implement client-side backoff and avoid generic User-Agent strings.
Microsoft Graph Data Connect for bulk
For tenant-scale exports, use Data Connect to bypass REST throttling.