Microsoft Dynamics 365 · Rate Limits

Microsoft Dynamics 365 Rate Limits

Dynamics 365 customer-engagement apps 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, plus 20 minutes of combined execution time and 52 concurrent connections. Tenants also have a daily Dataverse request entitlement allocation pooled across users by license tier. Finance & Operations and Business Central each apply per-environment OData throttling (BC default 600/min, 300 concurrent). Beyond the limit, HTTP 429 with Retry-After is returned.

6 Limits Throttle: 429
Business ApplicationsCloudCRMEnterpriseERPMicrosoftRate Limiting

Limits

Dataverse — per-user 5-minute sliding window user/environment
requests_per_5_minutes · minute
6000
Service-protection limit per user / non-interactive identity per 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 per user per environment.
Power Platform — daily request entitlement (per licensed user) tenant
requests_per_24h
see vendor docs
Per-licensed-user allocation pooled at tenant — varies by SKU (e.g., Sales/Service enterprise users 40,000/day; Power Apps per-user 6,000/day). Excess goes against capacity add-ons.
Business Central — OData / SOAP per environment environment
requests_per_minute · minute
600
Default soft cap. 300 concurrent requests per environment.
Finance & Operations — OData per user user/environment
requests_per_minute
see vendor docs
Per-user OData throttling. Bulk loads should use Data Management Framework / Bulk Data Loading APIs.

Policies

Service Protection API limits
Dataverse throttles on three orthogonal dimensions — number of requests, combined execution time, and concurrent connections. Hitting any returns 429.
Honor Retry-After
429 responses include Retry-After. Implement exponential backoff with jitter; Dataverse SDK auto-retries.
Use $batch / ExecuteMultiple for bulk
For high-volume creates/updates use Web API $batch (max 1000 changes per batch), ExecuteMultiple, or DMF entity import.
Spread automation across application users
Use multiple application users (service principals) for high-throughput automation; each gets its own per-user envelope.
Buy capacity add-ons
Excess daily entitlement requires add-on capacity packs; alternatively, use Power Apps Pay-As-You-Go meters via an Azure subscription.
Limit increase via support
Per-environment caps on Business Central and Finance & Operations can be raised by support; Dataverse service-protection limits are fixed.

Sources