Helium Logo

Rate Limits

Rate limits help ensure fair usage and system stability. Different pricing tiers have different limits.

Rate Limit Tiers

TierRequests/Hour
Free100
Pro10,000
EnterpriseCustom

Rate Limit Headers

Every API response includes rate limit information in the headers:

X-RateLimit-Limit: 10000
X-RateLimit-Remaining: 9995
X-RateLimit-Reset: 1640995200
  • X-RateLimit-Limit: Maximum number of requests allowed per hour
  • X-RateLimit-Remaining: Number of requests remaining in the current window
  • X-RateLimit-Reset: Unix timestamp when the rate limit resets

Handling Rate Limits

When you receive a 429 status code, implement exponential backoff:

import time
import requests
 
def make_request_with_retry(url, headers, max_retries=3):
for attempt in range(max_retries):
response = requests.get(url, headers=headers)
if response.status_code == 429:
reset_time = int(response.headers.get('X-RateLimit-Reset', 0))
wait_time = max(60, reset_time - time.time())
print(f"Rate limited. Waiting {wait_time}s...")
time.sleep(wait_time)
continue
return response
raise Exception("Max retries exceeded")

Tip: Monitor your rate limit usage and upgrade your plan if you consistently hit limits. Enterprise customers can request custom limits.