Quick answer
PyPI documents api rate posture as No current edge-wide numeric rate; XML-RPC may rate-limit. PyPI requires responsible access, caching, identification, and supported APIs.
Verified Aug 22, 2026Official source
Current limits
| Constraint | Current value | Scope | Verified source |
|---|---|---|---|
| API rate posturePyPI requires responsible access, caching, identification, and supported APIs. | No current edge-wide numeric rate; XML-RPC may rate-limit | Public APIs | Python Packaging AuthorityAug 22, 2026 |
Why does this limit matter?
The absence of one published global number is not permission for unbounded polling.
This value is scoped to Public APIs; a different plan, runtime, model, endpoint, region, or account can produce a different effective constraint.
What should you check?
- Use supported JSON or Index APIs, cache responses, identify the client, and back off on errors.
- Confirm the exact plan, model, runtime, endpoint, region, and account that serve the failing workload.
- Record the observed value, response headers or configuration, timestamp, and source without logging secrets.
Important caveats
- Specific services and legacy endpoints can enforce their own throttling.
- Treat the official source and live account configuration as authoritative if they differ from this verified snapshot.
HyperObserve reports the documented platform constraint. Your application, SDK, gateway, provider, region, or account can impose a lower effective limit.
Related