Skip to main content
Screenshotly enforces rate limits to ensure fair usage and service reliability.

Limits by plan

Rate limits are applied per API key within a 60-second sliding window. Check your current usage in the dashboard.

Rate limit headers

Every API response includes headers to help you track your usage: When you hit the rate limit, a Retry-After header is also included indicating how many seconds to wait.

429 Too Many Requests

When you exceed your per-minute rate limit, the API returns a 429 status code:

402 Usage Limit Exceeded

When you exceed your monthly screenshot quota, the API returns a 402 status code:

Checking your usage

Use the usage endpoint to check your remaining credits programmatically:
When using response_type: "json" for captures, the response includes a remaining_credits field.

Handling rate limits

Exponential backoff

When you receive a 429 response, wait before retrying:

Best practices

  • Monitor usage — check the X-RateLimit-Remaining header or the usage endpoint before large operations
  • Stagger requests — spread requests over time instead of sending them all at once
  • Use batch processing — the batch endpoint processes up to 50 URLs per request
  • Respect Retry-After — use the header value for optimal retry timing
  • Upgrade your plan — if you consistently hit limits, consider upgrading at pricing
  • Cache results — store screenshot URLs and reuse them instead of recapturing the same pages