How to Resolve Copilot 429 Rate Limit Error
🔍 WiseChecker

How to Resolve Copilot 429 Rate Limit Error

When you use Copilot in Microsoft 365 apps, you may see a 429 error with the message Too Many Requests. This error stops Copilot from generating responses, summarizing documents, or answering questions. The cause is hitting a rate limit enforced by Microsoft to protect service stability. This article explains why the 429 error occurs and provides step-by-step instructions to resolve it.

Key Takeaways: Fixing the Copilot 429 Rate Limit Error

  • Microsoft 365 admin center > Copilot > Rate limits: Check your tenant’s current rate limit configuration and usage metrics.
  • Retry-After response header: Wait the number of seconds specified in this header before sending another request.
  • Azure API Management > Policies > Rate limit: Adjust per-user or per-IP rate limits if you use custom Copilot integrations.

Why Copilot Returns a 429 Rate Limit Error

The 429 error is an HTTP status code meaning the client has sent too many requests in a given time window. Microsoft enforces rate limits on Copilot APIs to prevent abuse, ensure fair usage, and maintain service performance. The limits apply to both the built-in Copilot in Microsoft 365 apps and custom integrations built on Copilot Studio or Azure OpenAI Service.

Rate Limit Scope

Rate limits are calculated per user, per app, and per tenant. A single user running multiple Copilot sessions simultaneously can trigger the limit. Similarly, an organization with many users all sending requests in a short period may hit the tenant-level cap.

Default Rate Limit Values

Microsoft does not publish exact numbers because limits vary by license plan and region. In most Microsoft 365 E3 or E5 tenants, the default limit is approximately 600 requests per user per minute. Copilot Pro subscribers see a lower limit of about 300 requests per user per minute. Custom integrations using Azure OpenAI have separate quotas defined in the Azure portal.

Steps to Resolve the Copilot 429 Error

Step 1: Wait and Retry Automatically

  1. Check the Retry-After header
    When Copilot returns a 429 error, the response includes a Retry-After header with a number of seconds. Wait that exact duration before sending the next request. Most Microsoft 365 apps handle this automatically, but custom code must read the header.
  2. Use exponential backoff in custom integrations
    If you built a custom Copilot using Copilot Studio or Azure OpenAI, implement exponential backoff. Start with a 1-second delay, then double the wait time after each consecutive 429 response up to a maximum of 60 seconds.

Step 2: Review and Adjust Tenant Rate Limits

  1. Open the Microsoft 365 admin center
    Go to https://admin.microsoft.com and sign in with a Global Admin or Billing Admin account.
  2. Navigate to Copilot settings
    Select Settings > Org settings > Copilot. Look for the Rate limits section. Here you can view current usage metrics and the configured limit per user.
  3. Increase the limit if available
    If your tenant has a high-usage license add-on, you may see an option to raise the per-user limit. Click Edit and select a higher tier. Save the change and wait 5 minutes for it to take effect.

Step 3: Reduce Request Frequency in Client Apps

  1. Close unused Copilot sessions
    Each tab or app instance running Copilot counts toward the user limit. Close Copilot panes in Word, Excel, and Outlook when not actively using them.
  2. Batch requests in custom applications
    If you call Copilot APIs from a custom app, combine multiple prompts into a single request using the messages array. This reduces the total number of API calls.
  3. Space out automated tasks
    Schedule bulk Copilot operations, like summarizing a library of documents, to run at least 10 seconds apart. Use a queue system to enforce delays.

Step 4: Monitor Rate Limit Usage

  1. Use Microsoft 365 usage reports
    In the admin center, go to Reports > Usage > Copilot usage. This report shows the number of requests per user and per app. Identify users or apps that exceed the limit.
  2. Enable Azure Monitor for Copilot Studio
    If you use Copilot Studio, integrate Azure Monitor to track API call volumes. Set up alerts when request counts approach 80% of the limit.

If Copilot Still Returns 429 After These Steps

Copilot 429 Error Persists Despite Waiting

If the error continues after waiting the Retry-After duration, the rate limit may be applied at the tenant level rather than per user. Contact Microsoft support to request a temporary limit increase. Provide the exact time range and number of requests that caused the error.

Custom Integration Returns 429 While Built-in Copilot Works

This indicates your custom code is not respecting the retry logic. Review your API client implementation. Ensure it reads the Retry-After header and waits the specified seconds. Also check that you are not reusing the same API key across multiple threads without a semaphore.

429 Error in Copilot Studio Web App

If the Copilot Studio web interface shows a 429 error, it means the tenant has reached its per-minute request cap. Reduce the number of concurrent testers. Go to Copilot Studio > Settings > General > Rate limit and lower the max requests per conversation.

Built-in Copilot vs Custom Integration Rate Limits

Item Built-in Copilot in Microsoft 365 Custom Integration via Azure OpenAI
Rate limit scope Per user and per tenant Per API key and per deployment
Default limit 600 requests per user per minute Varies by Azure subscription tier
Retry mechanism Automatic with exponential backoff Must be implemented in code
Limit adjustment Via Microsoft 365 admin center Via Azure portal > Quotas

After resolving the 429 error, you can use Copilot without interruptions. To prevent future rate limit errors, monitor usage reports weekly and set up Azure Monitor alerts. For custom integrations, always implement exponential backoff with Retry-After header parsing. This ensures your application handles rate limits gracefully even if Microsoft adjusts thresholds.