IT Error Decoder

How to Fix Microsoft Graph 429: Too many requests (throttled)

Error message

Response status code does not indicate success: 429 (Too Many Requests). x-ms-throttle-information present.

If you're seeing "Microsoft Graph 429: Too many requests (throttled)", you're not alone. Here's what it means, why it happens, and the steps to resolve it.

What this error means

Microsoft Graph rate-limited your client. You sent more requests than the service allows for that resource in the current window, so it told you to back off.

Why this happens

Tight loops without paging, parallelism that's too high, repeatedly listing large collections, or many tenants/users sharing the same throttling bucket.

Step-by-step fix

  1. Honor the `Retry-After` header. Wait that many seconds before retrying.

    command
    $resp.Headers['Retry-After']
  2. Switch list operations to use server-side paging instead of `-All` on huge collections.

    command
    Get-MgUser -Top 100 -PageSize 100
  3. Add exponential backoff with jitter when handling 429s in your code.

  4. Use `$select` to ask for only the fields you need, and `$filter` to narrow results, so each call is cheaper.

Affected products

Microsoft Graph PowerShell

Still broken? Try these

  • Distribute work across time — running 50 batch jobs at the top of the hour will hit limits.
  • If you control many tenants, consider per-tenant queues so one tenant doesn't starve the rest.
  • Review Microsoft's published Graph throttling guidance for the specific resource you're hitting (mail, groups, etc. all have different limits).

Related errors

Frequently asked questions

What does "Microsoft Graph 429: Too many requests (throttled)" mean?

Microsoft Graph rate-limited your client. You sent more requests than the service allows for that resource in the current window, so it told you to back off.

What causes "Microsoft Graph 429: Too many requests (throttled)"?

Tight loops without paging, parallelism that's too high, repeatedly listing large collections, or many tenants/users sharing the same throttling bucket.

How do I fix "Microsoft Graph 429: Too many requests (throttled)"?

1. Honor the `Retry-After` header. Wait that many seconds before retrying. 2. Switch list operations to use server-side paging instead of `-All` on huge collections. 3. Add exponential backoff with jitter when handling 429s in your code. 4. Use `$select` to ask for only the fields you need, and `$filter` to narrow results, so each call is cheaper. Always test changes in a non-production environment first.

Browse more errors in Microsoft Graph PowerShell: Fix Microsoft Graph PowerShell errors. Insufficient privileges, invalid object ID, missing cmdlets, token problems, and more. Or paste your own error into the error decoder tool to find a match. You can also go back to the homepage to browse common errors by topic.