Rate Limits
Rate limits are enforced to prevent abuse and ensure fast response times for all users.
Headers
Every API response includes X-RateLimit
headers, as shown in the sample response below.
Response
HTTP/1.1 200 OK
Content-Type: application/json
X-RateLimit-Limit: 70
X-RateLimit-Remaining: 67
X-RateLimit-Reset: 1719336041
...
Header | Type | Description |
---|---|---|
X-RateLimit-Limit | Integer | The maximum number of similar requests allowed in a single time window. |
X-RateLimit-Remaining | Integer | The number of similar requests remaining in the current time window. When this value reaches 0 , subsequent requests will return a 429 response until the next time window. |
X-RateLimit-Reset | Integer | A Unix timestamp (in seconds) indicating when the next time window will begin. |
These headers can be used to prevent rate limiting. For example, if X-RateLimit-Remaining
falls below a certain threshold relative to X-RateLimit-Limit
, you could pause all subsequent requests until the time specified by X-RateLimit-Reset
.
tip
If you do encounter a 429
response, we recommend retrying the request using an exponential backoff.
Limits
General Limits
Host | Scope | Write Limit | Total Limit |
---|---|---|---|
accounts.pdk.io | Application | 10 requests per second | 35 requests per second |
panel-{{panel_id}}.pdk.io | Panel | 20 requests per second | 70 requests per second |
Reporting Limits
Path | Scope | Total Limit |
---|---|---|
/api/reports/*/preview | Panel | 500 requests per day |
/api/reports/*/generate | Panel | 150 requests per day |