Skip to content

Rate Limits

Rate limits use a sliding 1-hour window per API key.

TierRequests/hour
Free50
Basic ($19/mo)500
Growth ($49/mo)5,000
Pro ($99/mo)25,000
Business ($249/mo)100,000

Responses from rate-limited routes include:

HeaderDescription
X-RateLimit-LimitYour hourly budget
X-RateLimit-RemainingRequests left in current window
X-RateLimit-ResetUnix timestamp when the window resets

When rate limited, you get 429 Too Many Requests with a Retry-After header (in seconds). Wait that long before retrying.

{
"success": false,
"error": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Try again in 60 seconds."
}
  • Watch X-RateLimit-Remaining to throttle proactively
  • Use POST /links/bulk instead of individual create calls
  • Cache analytics responses on your side

Journey event ingestion (POST /journey/events, relative to the base URL) is exempt from the hourly API rate limit, and its responses do not carry X-RateLimit-* headers. It is separately volume-capped per month: past 150% of your monthly journey event limit, ingestion returns 429 with error code JOURNEY_LIMIT_EXCEEDED. See Journey Tracking.