Skip to Content
API ReferenceRate limits & errors

Rate limits & errors

Rate limits

Each ingestion endpoint is rate-limited. Defaults:

EndpointLimitCounted per
POST /api/collect600 / minuteVisitor IP
POST /api/v1/events1,200 / minuteAPI key
POST /api/identify120 / minuteAPI key

Exceeding a limit returns 429 Too Many Requests. Spread bursts out or batch where you can.

These are defaults. If you self-host Snow, your operator can tune them with environment variables, so your instance’s limits may differ.

Error format

The authenticated endpoints return a JSON error envelope:

{ "status": "error", "error": { "code": 400, "message": "Invalid event name" } }

Common status codes across the APIs:

StatusMeaning
400 Bad RequestThe request was malformed or a field failed validation.
401 UnauthorizedMissing or invalid API key.
403 ForbiddenThe key isn’t allowed to act on that site.
404 Not FoundNo matching site (for /api/collect).
429 Too Many RequestsRate limit exceeded.

/api/collect responds with status codes only (204 on success, with no body), since it’s called by the browser snippet.