Microsoft Outlook · Rate Limits

Microsoft Outlook Rate Limits

Outlook programmatic access is via Microsoft Graph mail / calendar / contacts endpoints (preferred), Exchange Web Services (legacy), and the deprecated Outlook REST v2.0. Throttling is enforced per app/mailbox and at the Microsoft Graph global ceiling. SMTP submission and recipient caps apply to Exchange Online mailboxes regardless of API used. Returns 429 with Retry-After.

7 Limits Throttle: 429
Rate LimitingEmailCalendarOutlookMicrosoft GraphMicrosoft

Limits

Microsoft Graph global ceiling application
requests_per_10_seconds · second
130000
EWS — concurrent connections per app/mailbox app/mailbox
concurrent_connections
27
Hard cap of 27 concurrent EWS connections per (application, mailbox) tuple
EWS — total per mailbox mailbox
concurrent_connections
27
SMTP submission per mailbox mailbox
messages_per_minute · minute
30
SMTP recipients per mailbox mailbox
recipients_per_day · day
10000
Outlook (mail / calendar / contacts) on Microsoft Graph app/mailbox
varies
per-mailbox throttling — fall back to Retry-After. No fixed numeric per-second value published.
Identity & Access (read) per app/tenant (used for user lookups) app/tenant
resource_units_per_10_seconds · second
3500–8000 RU per 10s based on tenant size

Policies

Backoff Strategy
Honour Retry-After on 429; the Microsoft Graph SDKs implement this automatically.
Use Microsoft Graph over EWS / Outlook REST
EWS is on a deprecation path and Outlook REST v2.0 is deprecated for work / school accounts; target Microsoft Graph for new development.
Use change notifications
Subscribe to mail and calendar change notifications instead of polling.
SMTP relay for high volume
For application-generated mail above mailbox SMTP caps, use a connector or a third-party relay; the 30 msg/min and 10K recipients/day limits are hard caps.
Use $batch
Combine related calls in $batch envelopes; each is throttled individually but network overhead is reduced.

Sources