Azure Repos · Rate Limits
Microsoft Azure Repo Rate Limits
Azure Repos REST APIs are rate-limited via Azure DevOps Services' shared TSTU (Throughput Service Threshold Unit) sliding-window model — 200 TSTUs per 5 minutes per user/identity. Each REST or Git operation costs a variable number of TSTUs. Throttled requests return HTTP 429 with Retry-After. Git push/pull operations also have additional per-repository protections against abuse. Per-user TSTU limits cannot be raised by support.
3 Limits
Throttle: 429
DevOpsGitRepositoriesSource ControlTFVCVersion ControlRate Limiting
Limits
Per-user TSTU sliding window user
200
REST API and Git operation throughput; light reads <1 TSTU, heavy listings 5+ TSTUs.
Git push payload repository
see vendor docs
Pushes >1 GB or with very large blobs may be throttled or rejected. Use Git LFS.
Branch policy build queue repository
see vendor docs
Concurrent CI builds triggered by PR policies are bounded by purchased Azure Pipelines parallel jobs.
Policies
TSTU cost weighting
Each REST call costs differing TSTUs by database/CPU expense. Plan large backfills with backoff between batches.
Delay before block
Persistent abuse first triggers X-RateLimit-Delay (slowed responses), then 429.
Spread across identities
To scale automation, fan out work across multiple service principals or PATs; each gets its own 200-TSTU window.
Use Git LFS for large binaries
Files >100 MB should be stored in Git LFS to avoid repository bloat and push throttling.
Honor Retry-After
Implement exponential backoff with jitter on 429 responses.