Rate Limits & Credits

Every API key is subject to rate limits and credit-based usage. Understand how limits are enforced and how credits are consumed across endpoints.

Rate Limits

Rate limits are enforced per API key, per minute. Exceeding the limit returns a 429 Too Many Requests response.

PlanRequests/minRequests/day
Free5100
Starter305,000
Professional10025,000
Enterprise500Custom

Rate Limit Headers

Every API response includes the following headers so you can track your usage in real time:

X-RateLimit-Limit

Maximum number of requests allowed in the current window.

X-RateLimit-Remaining

Number of requests remaining in the current window.

X-RateLimit-Reset

Unix timestamp (seconds) when the current rate limit window resets.

Handling 429 Responses

When you receive a 429 Too Many Requests response, check the Retry-After header. It contains the number of seconds to wait before making another request. Implement exponential backoff for best results.

Credits

Every API operation costs credits. Credits are deducted from your account balance on each successful request. The cost depends on the endpoint called.

OperationCreditsEndpoint
Phishing Analysis (Heuristic)1/phishing/analyze
Phishing Analysis (AI)10/phishing/analyze/ai
DNS Analysis1/phishing/dns
IP Blacklist Check1/phishing/blacklist
Safe Browsing2/phishing/safe-browsing
URL Expand1/phishing/url-expand
Exposure Scanner10/exposure/scan

Monthly Allowances

Each plan includes a monthly credit allowance that resets on your billing cycle date.

PlanMonthly CreditsPrice
Free50$0
Starter500$29/mo
Professional2,500$99/mo
EnterpriseUnlimitedCustom

Credit Packages

Need more credits? Purchase top-up packages at any time. Top-up credits never expire and stack on top of your monthly allowance.

1,000

credits

$9

5,000

credits

$39

10,000

credits

$69

25,000

credits

$149

Checking Your Balance

Every successful API response includes a meta object with your remaining credit balance, so you can track usage without making a separate call:

{
  "success": true,
  "data": { ... },
  "meta": {
    "credits_remaining": 4832,
    "credits_used": 1,
    "plan": "professional"
  }
}

The credits_remaining field reflects your balance after the current request has been deducted.