Skip to main content
Ingestion requests to POST /v1/logs are rate-limited per API key, not per IP address. That means sharing an IP with other services — for example, multiple applications behind the same NAT gateway — never affects your quota, and the limit travels with the key no matter where it is used. The default limit is 100 requests per 60-second sliding window per key.

When you hit the limit

When you exceed 100 requests in a 60-second window, Peeng responds with a 429:
A 429 is always retryable — it is a transient condition, not a permanent failure. Both the JavaScript and Python SDKs detect it automatically and back off with exponential backoff before retrying. If you are calling the HTTP API directly, check for a Retry-After header in the response and honor it if present; if the header is absent, fall back to exponential backoff. See Errors for a full breakdown of retryable vs. non-retryable status codes.
The rate limit is a request-count limit, not a log-entry-count limit. A single request can carry up to 500 log entries and still counts as just one request against your quota. Effective throughput is therefore much higher than the raw 100 req/min figure suggests — up to 50,000 log entries per minute on the default plan.

Staying under the limit

Follow these practices in order of impact:
  1. Batch your logs. One request carrying 100 log entries consumes the same quota as one request carrying a single entry. Both SDKs buffer log calls in memory and flush automatically once the buffer reaches maxBatchSize (default: 100 entries, maximum: 500 entries). Let the SDK batch on your behalf rather than sending each log call as its own request.
  2. Do not disable the SDK’s background batching. Calling flush() after every individual log() call opts back into one-request-per-log behavior and eliminates the batching benefit entirely. Reserve explicit flush() calls for graceful shutdown or other intentional drain points — not for every log line.
If your traffic genuinely needs a higher request limit than the default allows, reach out to Peeng support to discuss a limit increase. Rate limits are not self-serve adjustable from the dashboard.