Share via

API Throttling Limits and Pricing for Microsoft Graph Standard Category APIs

Yousef Zakarneh 40 Reputation points
2026-05-24T11:22:24.83+00:00

Hey! I'm building with Microsoft Graph and trying to understand the throttling limits.

I read this article:

https://devblogs.microsoft.com/microsoft365dev/principles-for-monetizing-selected-microsoft-365-apis/?WT.mc_id=M365-MVP-9698

It says Standard APIs are free "within defined limits" - but doesn't say what those

limits actually are.

Quick questions:

  1. Do API limits vary by license type (Business Standard vs E3 vs E5)?
  2. Where do I find the actual limit numbers based on my license type?
  3. Which APIs are "Standard" vs "High-Capacity" (paid)?

I've got E3 and need to know if/when I'll hit limits.

Thanks!

Azure App Service
Azure App Service

Azure App Service is a service used to create and deploy scalable, mission-critical web apps.

0 comments No comments

Answer accepted by question author

Jerald Felix 12,695 Reputation points Volunteer Moderator
2026-05-24T11:43:37.68+00:00

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., assignSensitivityLabel on driveItem). 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:

  1. List the Microsoft Graph services your app is using (e.g., Identity, Excel, Cloud Communications).
  2. Go to the throttling limits page and find the section for each service you use.
  3. Check the metered API list to confirm your APIs are "Standard" and not High-Capacity/Advanced.
  4. In your code, always handle HTTP 429 (Too Many Requests) responses gracefully — Microsoft returns a Retry-After header 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., assignSensitivityLabel on driveItem). 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:

  1. List the Microsoft Graph services your app is using (e.g., Identity, Excel, Cloud Communications).
  2. Go to the throttling limits page and find the section for each service you use.
  3. Check the metered API list to confirm your APIs are "Standard" and not High-Capacity/Advanced.
  4. In your code, always handle HTTP 429 (Too Many Requests) responses gracefully — Microsoft returns a Retry-After header 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.

Was this answer helpful?

1 person found this answer helpful.

1 additional answer

Sort by: Most helpful
  1. AI answer

    2026-05-24T11:22:44.7166667+00:00
    1. API throttling limits do not vary by Microsoft 365 license type (for example, Business Standard vs E3 vs E5). Throttling is defined per API/service, per app, per user, and/or per tenant, not per SKU. Standard Microsoft Graph APIs are available as part of the user license “within defined usage thresholds,” and those thresholds are documented as service-specific throttling limits, not per-license limits.
    2. The actual limit numbers are documented per service and scenario in the Microsoft Graph throttling limits documentation, not per license. Examples from the context: These limits apply regardless of whether the tenant has Business, E3, or E5; they are per‑API/service, app, user, and tenant.
    3. Standard vs high‑capacity vs advanced APIs: The list of which specific APIs are metered (high‑capacity or advanced) is maintained in the “Metered APIs and services” list. Standard APIs are those not listed as metered; they are included with user subscription licenses, subject to the throttling limits described above.
      (Overview of metered APIs and services in Microsoft Graph)

    For an E3 tenant, the way to know if/when limits will be hit is to:

    • Identify which Graph services are being used (for example, Excel, Cloud communications, Identity, Windows 365, Copilot connectors).
    • Check the corresponding throttling section for those services to see per‑app, per‑user, and per‑tenant limits.
    • Check the metered API list to see whether any of the used APIs are high‑capacity/advanced (metered) rather than standard.

    References:

    AI-generated content may be incorrect. Read our transparency notes for more information.

    Was this answer helpful?

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.