Rate limits

Request and concurrency limits for the SnitchFeed HTTP API.

Overview

All v1 endpoints are limited in two ways, per organization:

  1. Rate: requests per minute, scoped per endpoint group — see below.
  2. Concurrency: at most 2 in-flight requests at a time, across all v1 endpoints combined.

Exceeding either limit returns 429 Too Many Requests with a JSON body that may include retryAfter (seconds) and a matching Retry-After header. The error code is rate_limited in both cases.

The per-minute window is rolling: each successful request consumes one token until the bucket refills. The concurrency cap counts requests that have started and not yet finished (including slow LinkedIn calls). A third overlapping request is rejected immediately; it does not wait in line.

Unauthenticated requests do not consume a concurrency slot. Failed requests (4xx / 5xx) still release the slot when the response is sent.

/v1/data/* endpoints

20 requests per minute, per search surface: Twitter, LinkedIn (search, company, comments, reactions, person posts/comments, industries), and Hacker News each have their own independent bucket.

  • /v1/data/twitter/tweets/search
  • /v1/data/linkedin/posts/search
  • /v1/data/linkedin/company/get
  • /v1/data/linkedin/posts/comments
  • /v1/data/linkedin/posts/reactions
  • /v1/data/linkedin/person/posts
  • /v1/data/linkedin/person/comments
  • /v1/data/linkedin/industries
  • /v1/data/hackernews/search

A burst of LinkedIn requests does not affect your Twitter or Hacker News quota, since each surface tracks its own bucket.

Other /v1/* endpoints

60 requests per minute, shared across your organization's own data:

  • /v1/mentions
  • /v1/listeners
  • /v1/feeds
  • /v1/organization/context
  • /v1/organization/usage

These endpoints read data already stored for your org rather than fetching live from an external platform, so they get a higher shared limit than the /v1/data/* search surfaces.

Response headers

HeaderWhen presentMeaning
X-RateLimit-LimitSuccessMax requests in the per-minute window for the bucket this request hit (20 for /v1/data/*, 60 otherwise)
X-RateLimit-RemainingSuccessRequests left in the current per-minute window
X-RateLimit-ResetSuccessUnix timestamp when the per-minute window resets
X-Concurrency-LimitAfter authMax in-flight requests per organization (currently 2)
X-Concurrency-RemainingConcurrency 429Always 0 when the in-flight cap is hit
Retry-After429 responseSeconds to wait before retrying

Need higher throughput?

Contact hello@snitchfeed.com if you need custom limits for your workload.

On this page