PingPlotter Cloud Manual

Rate Limits


To keep the API fast and fair for everyone, calls are rate limited per account. Normal, well-behaved usage will rarely run into these limits — they exist to curb excessive or redundant polling.

Your account is given an allowance that refills continuously over time. Simple calls cost very little, while calls that return live session data cost more, scaled to the number of sessions they return. Because your allowance scales with the size of your account, larger accounts can poll more before being limited.

Rate limit headers

Every API response includes headers describing your current allowance:

HeaderDescription
X-RateLimit-LimitThe maximum size of your request allowance.
X-RateLimit-RemainingHow much of your allowance remains right now.
X-RateLimit-ResetUnix timestamp (seconds) at which your allowance is expected to be full again.

When you exceed the limit

If you exceed your allowance, the API responds with HTTP status 429 Too Many Requests and a Retry-After header telling you how many seconds to wait before retrying. The response body looks like this:

{
    "error": "Rate limit exceeded",
    "limit": 240,
    "remaining": 0,
    "cost": 2,
    "retryAfterSeconds": 10
}
Best practices
  • Honor Retry-After. When you receive a 429, wait the indicated number of seconds before retrying — retrying immediately won't succeed and only adds load.
  • Avoid tight polling loops. Requesting the same data many times per second is the most common cause of hitting the limit. Poll on a sensible interval.
  • Request only what you need. Fetch data for the specific agents or sessions you care about rather than re-polling your entire account every cycle.
  • Cache responses and reuse them instead of re-requesting data that hasn't changed.

If your integration has a legitimate need for a higher limit, contact our support team.