---
title: "Rate Limits"
description: "PW API Rate Limits"
url: "https://developers.perryweather.com/guides/perryweather-api/rate-limits"
image: "https://developers.perryweather.com/_og/d/c_Ocean.takumi,title_Rate+Limits,description_PW+API+Rate+Limits,props_eyJ0aGVtZSI6eyJtb2RlIjoiZGFyayIsImNvbG9ycyI6eyJwcmltYXJ5IjoiIzAwODE5RSJ9fX0,p_Ii9ndWlkZXMvcGVycnl3ZWF0aGVyLWFwaS9yYXRlLWxpbWl0cyI,s_7bipKpumKqgm_PKG.png"
---

Perry Weather API

## Rate Limits

To ensure fair usage and protect our APIs, all requests are subject to rate limiting.

## [Default Limits](#default-limits)

Per customer:

-   10,000 requests per month
-   3,000 requests per hour
-   60 requests per minute
-   5 requests per second

These limits are enforced across all time windows simultaneously, regardless of how many API keys you use.

If you exceed any limit, you will receive a `429 Too Many Requests` response.

## [Time Range Limits](#time-range-limits)

Some historical data endpoints enforce maximum time ranges based on data resolution.

Requests exceeding these limits return an error such as: "Only 7 days of data may be retrieved at a time." Exact limits and error details are in the [API reference](https://developers.perryweather.com/apis/perry-weather-api-1/versions).

## [Response Headers](#response-headers)

With every successful response, we also return several HTTP headers that show your current usage and remaining quota.

| Header                       | Description                                                                      |
| :--------------------------- | :------------------------------------------------------------------------------- |
| RateLimit-Limit              | Allowed limit in the timeframe.                                                  |
| RateLimit-Remaining          | Number of available requests remaining.                                          |
| RateLimit-Reset              | The time remaining, in seconds, until the rate limit quota is reset.             |
| X-RateLimit-Limit-Second     | The request limit, per second.                                                   |
| X-RateLimit-Limit-Minute     | The request limit, per minute.                                                   |
| X-RateLimit-Limit-Day        | The request limit, per day.                                                      |
| X-RateLimit-Limit-Month      | The request limit, per month.                                                    |
| X-RateLimit-Limit-Year       | The request limit, per year.                                                     |
| X-RateLimit-Remaining-Second | The number of seconds still left in the time frame.                              |
| X-RateLimit-Remaining-Minute | The number of minutes still left in the time frame.                              |
| X-RateLimit-Remaining-Day    | The number of days still left in the time frame.                                 |
| X-RateLimit-Remaining-Month  | The number of months still left in the time frame.                               |
| X-RateLimit-Remaining-Year   | The number of years still left in the time frame.                                |
| Retry-After                  | This header appears on 429 errors, indicating how long the upstream service is expected to be unavailable to the client. |