Rate limits
The API enforces a rate limit of 1,500 requests per minute per IP address. This limit applies across all endpoints.
If you exceed the limit, the API returns 429 Too Many Requests:
{
"error": {
"type": "rate_limit",
"code": "rate_limit_exceeded",
"message": "Too many requests. Please retry after a short delay.",
"request_id": "req_01kqzcjrpyf27tge33jwvjhkff"
}
}
Handling rate limits
When you receive a 429 response, back off and retry with exponential delay:
- Wait 1 second, then retry.
- If still
429, wait 2 seconds, then retry.
- Continue doubling the wait time up to a maximum of 30 seconds.
Adding random jitter (e.g. ±500ms) to each wait prevents multiple clients from retrying in sync.
Do not retry 429 responses immediately and in a tight loop. This will prolong the time until requests succeed again.
Payload size limits
JSON request bodies
JSON request bodies are limited to 1 MB. Requests exceeding this limit receive 413 Payload Too Large.
File uploads
Uploaded files are limited to 30 MiB per file. See the File Handling endpoints for details.
Machine data batches
The synchronous POST /machine-data/batch endpoint accepts up to 200 data points per request. For larger volumes, use the asynchronous import jobs endpoint.
Machine data import jobs
The asynchronous POST /machine-data/import-jobs endpoint accepts a single uploaded JSON file of up to 128 MB. See machine data ingestion paths for guidance on which endpoint to use.
List endpoints return a maximum of 50 items per page. See Pagination and filtering for details.