Help › API rate limits

API rate limits

SocialScalr's public REST API and outbound webhook layer have per-plan rate limits. The defaults are generous for normal integration patterns; custom limits available on request for high-volume Agency workspaces.

By · Last updated

Per-plan limits

PlanAPI req/minWebhook deliveries/minMax payload
Free---
Starter ($29/mo)100251 MB
Pro ($49/mo)6001002 MB
Agency ($149/mo, 10 seats)1,2002005 MB

Limits are scoped per workspace (not per API token). Multiple tokens within the same workspace share the same bucket.

Rate limit headers

Every API response includes:

Use these in client code to back off proactively before hitting 429.

When you hit the limit

The API returns:

HTTP/1.1 429 Too Many Requests
Retry-After: 18
Content-Type: application/json

{ "error": "rate_limit_exceeded",
  "message": "Rate limit exceeded. Try again in 18 seconds.",
  "retry_after_seconds": 18 }

Recommended client behavior:

Webhook delivery limits

Outbound webhook deliveries (events SocialScalr fires to your endpoint) are also rate-limited per workspace per minute. Behavior at the cap:

Per-endpoint limits within the API

A few endpoints have stricter limits because they're expensive server-side:

All other endpoints share the global per-minute bucket.

Best practices for high-volume integrations

  1. Use webhooks instead of polling. If you want to react to new replies, subscribe to lead.replied instead of polling GET /leads?stage=replied every minute. Webhooks are push and don't count against API limits.
  2. Paginate. Default page size is 50, max 250. Don't request 250 if you only need 50.
  3. Cache. Lead data doesn't change every second. Cache 5-15 minutes on your side for read-heavy patterns.
  4. Use the since= filter. GET /leads?since=15m is much cheaper than fetching everything and filtering client-side.
  5. Batch writes. POST /leads with an array of 100 leads is one request; sending 100 separate requests is 100. Use the array form.

Requesting a higher limit

Email [email protected] with:

Standard custom limits available: 2,400 API req/min, 400 webhook deliveries/min on Agency. Anything beyond requires architecture review.

Related

Frequently asked questions

What are SocialScalr's API rate limits?

Per workspace, per minute: Starter 100 requests, Pro 600 requests, Agency 1,200 requests. Outbound webhook deliveries: Starter 25/min, Pro 100/min, Agency 200/min. Free tier does not include API access. Rate limit window is rolling 60 seconds; current usage is exposed in response headers X-RateLimit-Remaining and X-RateLimit-Reset.

What happens when I hit the rate limit?

The API returns HTTP 429 Too Many Requests with a Retry-After header indicating seconds until the limit resets. Recommended client behavior: respect the header and back off. Do not retry immediately. Webhook deliveries that hit the per-minute cap queue and drain at the cap rate; SocialScalr does not drop events due to rate limiting.

Can I request higher rate limits?

Yes - email [email protected] with your use case. Standard custom limits are 2,400 req/min and 400 webhook deliveries/min for Agency customers with demonstrated need. Anything beyond requires architecture review to make sure the usage pattern actually requires the higher cap (often the answer is batching, pagination, or caching instead).