Skip to main content

Rate limits

Per-product limits, what a 429 looks like and how to back off

Limits count per workspace unless a row says otherwise, so every key in a workspace shares them. A call over a limit answers 429 rate_limited with a Retry-After header in seconds. It costs nothing.

Limits by model​

These come from GET /api/v1/models.

SlugLimits
ember-v160 drafts a day and 5 drafts open at once per workspace
ember-14k60 drafts a day and 5 drafts open at once per workspace
ember-28k60 drafts a day and 5 drafts open at once per workspace
x-writer-v160 drafts a day and 5 drafts open at once per workspace
x-reply-v160 drafts a day and 5 drafts open at once per workspace
prose-160 drafts a day and 5 drafts open at once per workspace
reddit-pooled-v120 requests a minute and 1,000 requests a day per workspace
x-viral-v110 requests a minute and 250 requests a day per workspace
wave-v360 reads a minute per workspace
hot-rules-v160 reads a minute per workspace
reddit-mentions60 reads a minute, 20 writes a minute and 10 trackers in total per workspace
api.call30 top posts reads a minute per workspace
profile.proposal6 proposals an hour per workspace

Limits by product​

ProductLimit
Reddit top posts30 calls a minute
Reddit mentions60 reads and 20 changes a minute; 10 live trackers per workspace; a report refreshes at most once a minute
Drafts60 drafts a day and 5 open at once; at most 3 options per draft
X signals60 reads a minute; 50 keyword changes a day
Profile proposals6 an hour
Repository scans10 scans queued or running per workspace; repositories up to 1 GB and 5,000 files; scans run one at a time in a shared queue

Drafts​

A draft submit that stores a new draft returns its day limit in headers:

HeaderMeaning
X-RateLimit-LimitDrafts allowed a day
X-RateLimit-RemainingDrafts left today
X-RateLimit-ResetSeconds until the window resets

A sixth open draft in a workspace answers 429 drafts_queue_full. Poll the open ones and submit again when one finishes. Writers run on GPUs that start when needed, and the daily GPU budget is shared. When it runs out, a draft fails with gpu_daily_cap and is refunded in full; submit again after 00:00 UTC.

Back off​

  • Wait for Retry-After before you retry a 429.
  • Poll jobs at the poll_after_s the API returns: 30 seconds while a draft is queued and 10 while it writes, 30 seconds while a scan is queued and 15 while it runs.
  • Mention reports change at most once a minute. Poll every 5 minutes or less often, and send If-None-Match with the last ETag to get a free 304.