HTTP Error 429 (“Too Many Requests”) occurs when automated synchronization clients, Power Automate flows, custom scripts, or large list queries exceed SharePoint Online’s resource limits. To protect system stability in a multi-tenant cloud, SharePoint actively throttles traffic by rejecting incoming operations until client demand drops.
Fast Fix
Immediately slow down or pause automated processes, backup utilities, or Power Automate flows targeting the library. If using custom scripts, inspect the response header for the
Retry-Aftervalue (measured in seconds) and configure your code to pause for that exact duration before sending the next request.
Diagnostic Snapshot
| Indicator | Details |
|---|---|
| Error Code | HTTP 429 Too Many Requests / Server Error 503 Service Unavailable |
| Trigger Mechanism | Rapid REST/CSOM/Graph API calls or unindexed views exceeding 5,000 items |
| Scope | Can be scoped to a single user account, an application ID, or the entire tenant |
| Header Marker | Retry-After: [Number of seconds] |
How SharePoint Online Throttling Works
SharePoint Online evaluates resource consumption across several metrics, including CPU usage, database locks, and overall request volume. When a client application sends too many calls in a short window, SharePoint engages defense mechanisms:
- User-Level Throttling: If a single account runs a synchronization tool or script that fires dozens of concurrent requests, SharePoint returns 429 errors strictly to that user. Other team members continue working unaffected.
- Tenant-Level Throttling: If multiple high-volume processes run simultaneously, or if a large-scale migration script saturates tenant resources, SharePoint can throttle all traffic directed at the specific site collection.
- The 5,000-Item Query Multiplier: When a user or flow requests data from a document library with more than 5,000 items without filtering on an indexed column, SharePoint must perform a full database table scan. This operation consumes large amounts of computing resources, triggering throttling much faster than simple single-file downloads.
[Sync Client / Flow / Script] ──> Sends High-Frequency API Calls
│
▼
[SharePoint Resource Monitor]
│
┌────────────┴────────────┐
▼ ▼
[Within Limits] [Threshold Exceeded]
HTTP 200 OK HTTP 429 Too Many Requests
(Returns 'Retry-After' Header)
If your throttling errors occur while using the desktop OneDrive sync client on a large folder tree, reference Troubleshooting “Syncing a Library that contains a lot of files”.
Progressive Action Steps
1. Read and Respect the Retry-After Header
When SharePoint generates an HTTP 429 error, it explicitly provides the wait time in the web response headers. Ignoring this header and immediately retrying causes the service to extend the throttling duration.
- In Custom Scripts (PowerShell / C# / Python): Read the
Retry-AfterHTTP response header.# Example PowerShell pattern for handling 429 responses if ($response.StatusCode -eq 429) { $retrySeconds = $response.Headers["Retry-After"] Start-Sleep -Seconds $retrySeconds # Re-attempt the request } - In Power Automate: Open the action’s Settings > Retry Policy. Change the policy from “Default” to Exponential Backoff or set a fixed interval that respects server wait times.
2. Index Library Columns to Eliminate Full Table Scans
Libraries containing more than 5,000 files frequently trigger throttling because background views and automated flows run unindexed searches.
- Navigate to your document library, click Settings gear > Library settings > More library settings.
- Scroll to the Columns section and click Indexed columns.
- Click Create a new index.
- Select the column most frequently used to filter data (e.g.,
Status,Department, orCreatedDate). - Update your library views and automated flows to filter by this indexed column. This allows SharePoint to find items directly without scanning the entire library.
If users are experiencing file navigation lag across deeply nested folders in addition to API throttling, read How to Fix “File Path Too Long” in deep SharePoint Silos.
3. Optimize Desktop Synchronization Tools
Running the classic SharePoint “Sync” feature on libraries containing tens of thousands of files forces the local sync engine to make millions of metadata comparisons against the cloud, causing recurring 429 throttling.
- Instruct users to stop syncing entire high-capacity libraries.
- Transition users to Add shortcut to OneDrive on specific child folders instead of syncing root collections.
- For a full architectural comparison of these approaches, see Troubleshooting SharePoint “Sync” vs “Add Shortcut to OneDrive”.
4. Audit Third-Party Backup and Migration Tools
If end users suddenly experience widespread 429 errors during the business day, check if a third-party cloud backup or migration tool is running an unthrottled indexing pass.
- Reschedule all tenant backups, bulk data imports, and migration scripts to run outside standard business hours.
- Ensure third-party backup tools use Microsoft Graph API application permissions with custom
App-Onlytokens rather than impersonating a licensed user account.
If automated data imports run into network timeouts alongside 429 errors, consult Troubleshooting Power Query “Timeout” Errors on Large SQL Datasets.
Hard Stops: When to Escalate to Microsoft Support
If your organization has disabled all automated scripts, stopped third-party backups, and users still receive HTTP 429 errors during standard browser navigation, tenant resource consumption has locked on the backend.
A Microsoft 365 Global Administrator must open a ticket in the Microsoft 365 Admin Center under Support > Help & Support. Provide the exact correlation IDs, timestamps, and site collection URLs captured from the error pages so support engineers can identify which service principal or backend database is sustaining the throttling block.