Microsoft Dynamics · Rate Limits

Microsoft Dynamics Rate Limits

Dynamics 365 customer-engagement apps (Sales, Customer Service, Field Service) and the underlying Dataverse share Power Platform service-protection (API request) limits. Each user / non-interactive identity is capped at 6,000 API requests per 5-minute sliding window per environment. Beyond that, Dataverse returns HTTP 429 with Retry-After. Finance / Supply Chain / Business Central each have separate per-environment OData / SOAP API limits (~600 calls/min/user typical, raise via support). Long-running operations and bulk imports use dedicated Bulk Data Loading APIs that are not subject to interactive throttling.

6 Limits Throttle: 429
CRMERPMicrosoft DynamicsRate Limiting

Limits

Dataverse — per-user 5-minute sliding window user/environment
requests_per_5_minutes · minute
6000
Service-protection limit for any one user / non-interactive identity in any single environment.
Dataverse — per-user execution time user/environment
combined_execution_seconds_per_5_minutes · minute
1200
20 minutes of combined API execution time per user per 5-min window.
Dataverse — concurrent connections per user user/environment
concurrent_connections
52
Concurrent connections to the Web API.
Power Platform — non-licensed / non-interactive request entitlement tenant
requests_per_24h
see vendor docs (varies by license tier)
Daily allocation of Dataverse API requests per licensed user (40k / 6k / etc.) pooled at the tenant level.
Business Central — OData / SOAP per environment environment
requests_per_minute · minute
600
Default soft limit. 300 concurrent requests cap per environment.
Finance & Operations — OData per user user/environment
requests_per_minute
see vendor docs
Per-user OData throttling; raise via support. Bulk loads should use Data Management Framework / Bulk Data Loading APIs.

Policies

Service Protection API limits
Dataverse and Power Platform throttle on three orthogonal dimensions — number of requests, combined execution time, and concurrent connections. Hitting any returns 429.
Honor Retry-After
Implement exponential backoff with jitter; SDK auto-retries on 429.
Use bulk APIs for high-volume
For bulk creates/updates use the Bulk Data Loading APIs (Web API $batch, ExecuteMultiple, or DMF) to amortize the per-request cost.
Spread across application users
Use multiple application users (service principals) for high-throughput automation; each gets its own 6,000-per-5-min envelope.
Limit increase via support
Per-environment caps on Business Central and Finance & Operations can be raised by support; Dataverse service-protection is fixed.

Sources