# Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limits

- **ID:** `policy/docker-hub-pull-rate-limit-exceeded-anonymous`
- **Domain:** policy
- **Category:** network_error
- **Error Code:** `429`
- **Verification:** ai_generated
- **Fix Rate:** 90%

## Root Cause

Docker Hub enforces rate limits on anonymous users (100 pulls per 6 hours) and authenticated free users (200 pulls per 6 hours); the CI/CD pipeline or developer machine exceeded this limit.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| Docker Engine v20.10+ | active | — | — |
| Docker Hub rate limits (Nov 2020) | active | — | — |

## Workarounds

1. **Authenticate with Docker Hub using docker login to increase the limit to 200 pulls per 6 hours for free accounts.** (90% success)
   ```
   Authenticate with Docker Hub using docker login to increase the limit to 200 pulls per 6 hours for free accounts.
   ```
2. **Use a Docker Hub paid subscription (Pro/Team) for unlimited pulls, or mirror images to a private registry like Amazon ECR or GitHub Container Registry.** (85% success)
   ```
   Use a Docker Hub paid subscription (Pro/Team) for unlimited pulls, or mirror images to a private registry like Amazon ECR or GitHub Container Registry.
   ```

## Dead Ends

- **** — Works but is impractical for CI/CD pipelines that need immediate builds; also, the limit resets based on a rolling window, not a fixed time. (40% fail)
- **** — The rate limit applies per image pull, not per tag; changing tags does not bypass the limit. (80% fail)
