Microsoft SharePoint · Rate Limits
Sharepoint Rate Limits
SharePoint Online enforces multi-layered throttling across user, tenant, application, and per-site scopes. Limits are expressed in Resource Units (RUs) for Microsoft Graph (1 RU per single-item query, 2 RUs per multi-item or write, 5 RUs for permission operations); CSOM and REST do not have a fixed RU cost but are subject to additional internal limits. On throttling, SharePoint returns 429 or 503 with a Retry-After header. Optional preview RateLimit headers (RateLimit-Limit / -Remaining / -Reset) are returned when an app reaches >=80% of its 1-minute resource-unit budget.
27 Limits
Throttle: 429
SharePointMicrosoft 365Microsoft GraphRate Limiting
Limits
User — Requests user
3000
User — Ingress user
50
User — Egress user
100
User — Delegation Token Request user
50
User — External Sharing Emails user
200
Tenant — Resource Units (5 min, 0–1,000 licenses) tenant
18750
Tenant — Resource Units (5 min, 1,001–5,000 licenses) tenant
37500
Tenant — Resource Units (5 min, 5,001–15,000 licenses) tenant
56250
Tenant — Resource Units (5 min, 15,001–50,000 licenses) tenant
75000
Tenant — Resource Units (5 min, 50,000+ licenses) tenant
93750
Tenant — Assign Sensitivity Label tenant
100
Tenant — PeopleManager APIs (5 min, 0–1,000 licenses) tenant
3000
Tenant — PeopleManager APIs (5 min, 50,000+ licenses) tenant
15000
Per App per Tenant — Resource Units (24 H, 0–1,000 licenses) tenant/app
1200000
Per App per Tenant — Resource Units (24 H, 50,000+ licenses) tenant/app
6000000
Per App per Tenant — Resource Units (1 min, 0–1,000 licenses) tenant/app
1250
Per App per Tenant — Resource Units (1 min, 50,000+ licenses) tenant/app
6250
Per App per Tenant — Ingress tenant/app
400
Per App per Tenant — Egress tenant/app
400
Per App per Tenant — Specific Sharing APIs tenant/app
300
SharePoint Embedded Containers — Resource Units container
3000
Per Site — Anonymous Link site
3000
Per Site — Anonymous Egress (Download) site
100
Per Site — External Sharing Emails site
200
Search — App-only with Sites.Read.All app
25
Search — Delegated user user
10
People Search — Org-wide tenant
25
Policies
Resource-unit cost model
Microsoft Graph requests are priced in Resource Units (1 = single item / delta with token / file download, 2 = multi-item / write, 5 = permission operations). CSOM and REST have no fixed RU cost and are typically more expensive per request — prefer Microsoft Graph.
Honor Retry-After
On 429 or 503, honor the Retry-After header. Throttled requests still count toward usage limits, so aggressive retry loops worsen throttling.
RateLimit headers (preview)
At >=80% of the app 1-minute resource-unit limit, SharePoint returns RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset (IETF draft-03). Use them to throttle pre-emptively.
Decorate traffic
Send User-Agent in the form ISV|CompanyName|AppName/Version (or NONISV|... for enterprise apps) and register an Entra (Azure AD) AppID to receive priority over undecorated traffic.
Multi-Geo
Each geo has its own usage measurement; license-bound limits use the total tenant license count across all geos.
Peak vs off-peak
Throttling is more aggressive during regional peak hours; bulk scanning workloads should run during off-peak windows where possible.
Block escalation
Sustained excessive traffic can result in the app or tenant being blocked (continuous 503); Microsoft notifies the customer via Office 365 Message Center and requires remediation before lifting the block.