Azure IoT Docs

IoT Hub quotas and throttling

Overview

Azure IoT Hub enforces a set of quotas and throttling rules to ensure reliable service for all customers. These limits protect the platform from excessive usage, maintain performance, and provide predictable pricing.

Service limits

ResourceLimit (per IoT Hub)Notes
Device identities10 million (standard tier) / 1 billion (enterprise tier)Includes disabled devices.
Device-to-cloud messages per second400 / 2 000 (standard) / 10 000 (enterprise)Depends on selected tier.
Cloud-to-device messages per second50 / 250 (standard) / 1 250 (enterprise)One message per device per second.
Device twins10 millionEach device may have one twin.
Modules per device32Only for IoT Edge devices.
Device method calls per second200 (standard) / 1 000 (enterprise)Aggregated across all devices.

Throttling behavior

If an operation exceeds a quota, the service returns an HTTP 429 Too Many Requests response. The response includes a Retry-After header indicating how long to wait before retrying.

OperationThrottle limitRetry strategy
Device telemetryExceeding messages per secondExponential back‑off with jitter.
Device twin updates50 operations / second per hubQueue locally and retry after Retry-After.
Cloud‑to‑device messagesExceeding messages per secondBatch and resend after delay.
Device provisioning30 requests / second per DPS scopeImplement client‑side rate limiting.

Best practices

  • Implement exponential back‑off with jitter when handling 429 responses.
  • Batch telemetry where possible to reduce per‑message overhead.
  • Use Azure IoT Hub SDKs which handle throttling automatically.
  • Monitor IncomingMessages and OutgoingMessages metrics in Azure Monitor.
  • Scale to a higher tier if you regularly approach quota limits.

Related topics