Rate Limits

API requests are rate-limited based on your subscription plan.

Limits by plan

PlanPriceRequests
Free$0/mo1,000/month
Plus$29/mo25,000/month
Pro$69/mo150,000/month
Ultra$199/mo500,000/month

Exceeding the limit

If you exceed your rate limit, you'll receive a 429 Too Many Requests response:

{
  "error": "rate_limit_exceeded",
  "message": "Rate limit exceeded. Please retry later.",
  "retryAfter": 30
}

Best practices

1. Implement exponential backoff

When you get a 429, wait before retrying and increase the wait time on repeated failures:

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:
            wait_time = 30 * (2 ** attempt)
            print(f"Rate limited. Waiting {wait_time}s...")
            time.sleep(wait_time)
            continue

        return response

    raise Exception("Max retries exceeded")

2. Cache responses

Cache API responses when possible. Filing data doesn't change frequently.

3. Use the limit parameter

Request only the data you need to reduce unnecessary API calls.

Need higher limits?

Upgrade your plan for more requests, or email support@secdaily.io for custom enterprise plans.