Skip to content

Rate Limits

ATS Screener implements rate limiting to protect the free-tier LLM APIs and prevent abuse.

LimitValueScope
Requests per minute10Per IP address
Requests per day200Per IP address

Rate limiting is enforced at the SvelteKit server endpoint level:

  1. Each request is tracked by client IP address (via x-forwarded-for)
  2. If the per-minute limit is exceeded, subsequent requests receive 429 Too Many Requests
  3. If the daily limit is exceeded, requests are blocked until the window resets

All API responses include:

X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Cache-Control: no-store

When you receive a 429 response:

{
"error": "rate limit exceeded. try again in 60 seconds."
}

Best practices:

  • Implement exponential backoff in your client
  • Cache results locally to avoid redundant requests
  • For high-volume use, self-host with your own API keys

When self-hosting, rate limits are configurable. The actual bottleneck becomes your LLM provider’s free tier:

ProviderModelRPMRPDTPMTPD
GoogleGemma 3 27B3014,40015K-
GroqLlama 3.3 70B301,00012K100K

For the latest limits, see the official documentation: