Share via

How to apply to MS Teams restricted API to get better rate-limit on API calls for MS Teams ?

Philippe Gablain 40 Reputation points
2026-03-27T10:33:28.77+00:00

Our MS Teams application is currently too slow because of rate-limiting.

Metered APIs seems to enable higher quotas but also seems to require some certification. What is the process ?

Microsoft Teams | Development
Microsoft Teams | Development

Building, integrating, or customizing apps and workflows within Microsoft Teams using developer tools and APIs

0 comments No comments

Answer accepted by question author
  1. Michelle-N 14,720 Reputation points Microsoft External Staff Moderator
    2026-03-27T11:50:10.98+00:00

    Hi @Philippe Gablain

    Based on your message, I understand that your MS Teams application is currently running slow due to rate-limiting, and you are looking into whether utilizing Metered APIs or obtaining a specific certification is the right process to increase your quotas.

    After researching the official documentation, I want to share some insights that might save you time:

    Currently, there is no separate application process to request a rate limit increase for Microsoft Teams APIs (bots or apps). Microsoft does not provide a way to submit requests for higher quotas or offer a certification specifically to bypass these limits.

    It is important to note that Metered APIs are not designed to increase rate limits or make the APIs faster. They are strictly related to billing and licensing models. Additionally, since August 25, 2025, most Teams APIs are no longer metered. This means billing or certification is no longer required for them, but the standard rate limits remain exactly the same.User's image

    Since the rate limits are fixed, Microsoft's documentation highly recommends designing your application to gracefully handle and work within these constraints. Here are some architectural best practices:

    -Handle HTTP 429 Errors: When you hit a limit, your app will receive an HTTP 429 (Too Many Requests) response. You should implement a retry mechanism using exponential backoff with jitter to spread out your retries and avoid overwhelming the server.

    -Queue Your Requests: Implement a queuing system on your backend to smooth out traffic and prevent sudden bursts of API calls.

    -Optimize API Logic: Avoid sending multiple consecutive messages in the same chat or channel in a short timeframe.

    +Batch your requests whenever possible.

    +Minimize frequent or redundant calls to heavy endpoints like getMembers or getConversations. Caching this data locally can significantly reduce your API footprint.

    For more detailed technical guidance, please refer to the following official documentation:

    Optimize your bot with rate limiting in Teams

    Payment models and licensing requirements for Microsoft Teams APIs

    I hope this information helps clarify how the rate limits work and gives your team a good direction for optimizing the application. Please let me know if you have any other questions!


    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.

    0 comments No comments

Answer accepted by question author
  1. Q&A Assist
    2026-03-27T10:33:47.74+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    Microsoft Teams doesn’t expose a separate “restricted API” application process or a documented path to raise bot or app rate limits beyond the standard quotas. Instead, guidance focuses on designing the app to work within existing limits and handling throttling correctly.

    From the documentation:

    1. Teams bot APIs enforce rate limits and return HTTP 429 Too Many Requests when exceeded. All bot operations (send messages, get members, get conversations, etc.) are subject to these limits.
    2. There is a per bot per thread limit that controls how many operations a bot can perform in a single conversation over different time windows (for example, up to 7 send operations per second, 60 per 30 seconds, 1800 per hour per conversation).
    3. There is also a global limit per app per tenant of 50 requests per second.
    4. When limits are hit, the required mitigation is to implement backoff and retry, not to request higher limits.

    To improve performance and avoid throttling, the recommended steps are:

    1. Optimize how the app uses Teams APIs
      • Avoid sending multiple messages in quick succession to the same chat or channel; batch operations where possible.
      • Reduce unnecessary calls such as repeated member or conversation enumeration.
    2. Implement robust rate-limit handling
      • Detect HTTP 429 (and also 412, 502, 504) and retry with exponential backoff and optional random jitter.
      • In Bot Framework SDK, catch HttpOperationException and branch on status code 429 before retrying.
    3. Use rate-limiting and throttling patterns in the app
      • Implement a local rate limiter (for example, token bucket/leaky bucket) to keep request rates under the documented thresholds.
      • Queue outgoing requests and smooth bursts so they don’t exceed per-thread or per-tenant limits.
    4. General API throttling practices
      • If an API returns Retry-After, wait for that duration before retrying.
      • Cache data (like member lists) to avoid repeated calls.

    The provided documentation does not describe any application, certification, or approval process to obtain higher Teams rate limits. The supported approach is to design within the published limits and implement proper throttling, backoff, and batching.


    References:

    0 comments No comments

1 additional answer

Sort by: Most helpful
  1. Yutaka_K_JP 1,655 Reputation points
    2026-03-27T11:44:35.6066667+00:00

    I think that u can’t raise Teams’ normal API limits, so move heavy calls to the Graph metered Teams APIs and link the app’s SP to an Azure sub to enable billing. If it still stalls, send support the failing req‑id so they can trace the throttle path directly.

    0 comments No comments

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.