Azure App Service is a service used to create and deploy scalable, mission-critical web apps.
Hello Yousef Zakarneh,
Greetings! Thanks for raising this question in the Q&A forum.
Great questions! The confusion happens because Microsoft's documentation describes throttling limits per API/service rather than per license type, so it's easy to feel lost when looking for exact numbers. Let me break it down for you clearly.
1. Do API limits vary by license type (Business Standard vs E3 vs E5)?
No, they don't. Throttling limits are not tied to your Microsoft 365 license (E3, E5, Business Standard, etc.). They are enforced per API/service, per app, per user, and/or per tenant. Your E3 license gives you access to Standard APIs within defined usage thresholds but those thresholds are the same regardless of which license you hold.
2. Where do I find the actual limit numbers?
The limits are documented per service. Here's a quick reference for common ones:
- Excel APIs: 5,000 requests per 10 seconds per app (all tenants); 1,500 requests per 10 seconds per app per tenant
- Cloud Communications (calls, presence): 50,000 requests per 15 seconds per app per tenant for calls; 10,000 requests per 30 seconds per app per tenant for presence
- Identity & Access (users, groups, directory): limits are based on "resource unit costs" per operation type (e.g., GET on users costs 2 units)
- Windows 365 Cloud PC: 180 list requests per 60 seconds per tenant
- Data Policy Operations (e.g., exportPersonalData): 1,000 requests per day per tenant
The full breakdown is here: 👉 Microsoft Graph service-specific throttling limits
3. Which APIs are "Standard" vs "High-Capacity" (paid)?
Here's a simple way to think about it:
- Standard APIs — Most Graph APIs fall here. They do normal read/write/CRUD operations. These are free within your user subscription license (subject to throttling limits above).
- High-Capacity APIs — Built for bulk export/import at scale. These may be metered (i.e., extra cost beyond your license).
- Advanced APIs — Provide enriched or aggregated data (e.g.,
assignSensitivityLabelondriveItem). These can also be metered.
To check which APIs are metered, refer to: 👉 Overview of metered APIs and services in Microsoft Graph
What you should do as an E3 user:
- List the Microsoft Graph services your app is using (e.g., Identity, Excel, Cloud Communications).
- Go to the throttling limits page and find the section for each service you use.
- Check the metered API list to confirm your APIs are "Standard" and not High-Capacity/Advanced.
- In your code, always handle HTTP 429 (Too Many Requests) responses gracefully — Microsoft returns a
Retry-Afterheader telling you exactly how long to wait before retrying.
This way you'll know your exact limits and avoid any unexpected throttling or billing surprises.
If this answer helps you kindly accept the answer which will help others who have similar questions.
Best Regards, Jerald Felix.Hello Yousef Zakarneh, Greetings! Thanks for raising this question in the Q&A forum.
Great questions! The confusion happens because Microsoft's documentation describes throttling limits per API/service rather than per license type, so it's easy to feel lost when looking for exact numbers. Let me break it down for you clearly.
1. Do API limits vary by license type (Business Standard vs E3 vs E5)?
No, they don't. Throttling limits are not tied to your Microsoft 365 license (E3, E5, Business Standard, etc.). They are enforced per API/service, per app, per user, and/or per tenant. Your E3 license gives you access to Standard APIs within defined usage thresholds — but those thresholds are the same regardless of which license you hold.
2. Where do I find the actual limit numbers?
The limits are documented per service. Here's a quick reference for common ones:
- Excel APIs: 5,000 requests per 10 seconds per app (all tenants); 1,500 requests per 10 seconds per app per tenant
- Cloud Communications (calls, presence): 50,000 requests per 15 seconds per app per tenant for calls; 10,000 requests per 30 seconds per app per tenant for presence
- Identity & Access (users, groups, directory): limits are based on "resource unit costs" per operation type (e.g., GET on users costs 2 units)
- Windows 365 Cloud PC: 180 list requests per 60 seconds per tenant
- Data Policy Operations (e.g., exportPersonalData): 1,000 requests per day per tenant
The full breakdown is here: Microsoft Graph service-specific throttling limits
3. Which APIs are "Standard" vs "High-Capacity" (paid)?
Here's a simple way to think about it:
- Standard APIs — Most Graph APIs fall here. They do normal read/write/CRUD operations. These are free within your user subscription license (subject to throttling limits above).
- High-Capacity APIs — Built for bulk export/import at scale. These may be metered (i.e., extra cost beyond your license).
- Advanced APIs — Provide enriched or aggregated data (e.g.,
assignSensitivityLabelondriveItem). These can also be metered.
To check which APIs are metered, refer to: Overview of metered APIs and services in Microsoft Graph
What you should do as an E3 user:
- List the Microsoft Graph services your app is using (e.g., Identity, Excel, Cloud Communications).
- Go to the throttling limits page and find the section for each service you use.
- Check the metered API list to confirm your APIs are "Standard" and not High-Capacity/Advanced.
- In your code, always handle HTTP 429 (Too Many Requests) responses gracefully — Microsoft returns a
Retry-Afterheader telling you exactly how long to wait before retrying.
This way you'll know your exact limits and avoid any unexpected throttling or billing surprises.
If this answer helps you kindly accept the answer which will help others who have similar questions.
Best Regards,
Jerald Felix.