Verified limit lookup

PyPI API Rate-Limit Policy

PyPI API Rate-Limit Policy, verified against PyPI's official documentation with scope, implementation impact, caveats, and a direct check.

Verified Aug 22, 20261 official source
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

ConstraintCurrent valueScopeVerified source
API rate posturePyPI requires responsible access, caching, identification, and supported APIs.No current edge-wide numeric rate; XML-RPC may rate-limitPublic APIsPython 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?

  1. Use supported JSON or Index APIs, cache responses, identify the client, and back off on errors.
  2. Confirm the exact plan, model, runtime, endpoint, region, and account that serve the failing workload.
  3. 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

Related references and tools

Found an outdated limit? Report it.