Graph Api rate limits

Sushil Dangi 0 Reputation points
2025-10-19T14:17:29.0533333+00:00

Hi,

Could you please help with below queries with all the details as I am not finding proper documentation. We are using graph apis with application credentials.

  • what are the Graph API rate limits. At tenant level? or is it at user level. Pls let me know all the details as I am not sure what and all this query should include here.

-does this limit includes access token api call? or these are seperate limits , If so pls provide details on this.

  • does webhooks also considered as graph api calls and included in rate limits?

If you can provide these details in particular numbers, would be great. How to handle if there are too many requests? is there a provision to increase the limit? Thanks,

Microsoft Teams | Development
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Teddie-D 6,630 Reputation points Microsoft External Staff Moderator
    2025-10-20T01:00:40.0566667+00:00

    Hi @Sushil Dangi 

    Thank you for posting your question in the Microsoft Q&A forum. 

    A clear understanding of throttling behavior in the Microsoft Graph API is essential when working with application credentials. While some aspects are well documented, others require careful attention and strategic handling. 

    1.Rate limits are enforced at multiple scopes:  

    • Per app and per tenant: Most limits apply to the combination of your application and the tenant it operates in. 
    • Per user: Some endpoints, particularly those that access user-specific resources such as /me, are subject to user-level throttling.

    -The limits are not global across all tenants; they are scoped to your app’s usage within a tenant. 
    -For more details, please refer to Microsoft Graph service-specific throttling limits - Microsoft Graph | Microsoft Learn

    2.Token acquisition via OAuth 2.0 endpoints like https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token is not counted toward Graph API request limits. 
    -These token requests are handled by Azure AD, which has its own throttling policies, separate from Graph API. 
    -Reference: Authentication and authorization basics - Microsoft Graph | Microsoft Learn

    3.In the Graph documentation, there is a section for Subscription service limits (e.g., creating Graph subscriptions/webhooks). For example: 

    POST/PUT/DELETE/PATCH on subscription resource: 500 requests per 20 seconds per app per tenant. 

    So, subscription operations (webhook subscription create/update/delete/list) are counted and have their own throttling buckets. 
    -However, webhook notifications sent to your service are not Graph API calls and are not throttled. Only the management operations (POST/PUT/DELETE/PATCH) are counted. 
    -Reference: Receive change notifications through webhooks - Microsoft Graph | Microsoft Learn.

    4.Microsoft Graph returns an HTTP 429 Too Many Requests response when throttling occurs, along with a Retry-After header. To recover quickly: 
    -Respect the Retry-After delay. 
    -Avoid immediate retries, as they count against your usage limits. 
    -Reduce the frequency and complexity of requests. 
    -Retry only after the specified delay. If throttling persists, continue backing off until the request succeeds.
    -You can read more at Microsoft Graph throttling guidance - Microsoft Graph | Microsoft Learn

    5.Graph throttling limits cannot be increased. For scenarios requiring large-scale data extraction, Microsoft recommends using Microsoft Graph Data Connect which enables bulk access to Microsoft 365 data without being subject to Graph API throttling. 

    I hope this information is helpful. 


    If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".    

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread. 


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.