For the complete documentation index, see llms.txt. This page is also available as Markdown.

Rate limiting and retries

Tune provider pacing, retries, chunking, and write delays when APIs return 429s, 5xx errors, or timeouts.

CrossWatch uses several layers of request control.

That reduces API errors and avoids unnecessary load.

Only tune provider limits when logs show repeated 429s, 5xx errors, or timeouts.

Most installs should keep the defaults.

Only tune rate limits when a provider returns repeated 429, temporary 5xx, or timeout errors.

What CrossWatch does by default

CrossWatch can apply:

  • client-side request pacing

  • separate read and write limits

  • automatic retries

  • exponential backoff

  • Retry-After handling

  • request batching and write delays

Supported providers usually use this shape:

"rate_limit": {
  "get_per_sec": 10,
  "post_per_sec": 1
}
  • get_per_sec controls reads.

  • post_per_sec controls writes.

  • Any non-GET method uses the write bucket.

1 means about one request per second.

0.5 means about one request every two seconds.

3.33 means about one request every 300 milliseconds.

Setting a bucket to 0 disables local pacing for that bucket.

It does not disable requests.

Related docs

Sync chunking internals

Open

Default provider pacing

  • Trakt3.33 reads/sec, 1 write/sec, chunks of 100

  • SIMKL10 reads/sec, 1 write/sec, chunks of 500

  • MDBList10 reads/sec, 1 write/sec, chunks of 500, write delays of 600ms

  • PublicMetaDB20 reads/sec, 3 writes/sec, plus hourly ratings quotas

AniList and TMDb use retry handling, but do not expose configurable per-second pacing.

Plex, Emby, and Jellyfin use feature-specific pacing instead of provider-wide requests-per-second settings.

When to change settings

Change settings when you see:

  • HTTP 429

  • temporary 500, 502, 503, or 504

  • repeated provider timeouts

Most of the time, increasing max_retries is not the first fix.

Reducing pressure works better.

Safe tuning order

When writes hit 429:

  1. Reduce post_per_sec.

  2. Reduce batch or chunk size.

  3. Increase the write delay.

When reads hit 429:

  1. Reduce get_per_sec.

  2. Increase the schedule interval.

  3. Avoid overlapping jobs on one account.

When you see repeated 5xx or timeouts:

  1. Reduce batch or chunk size.

  2. Add or increase write delays.

  3. Reduce request rates.

Conservative examples

Trakt:

MDBList:

Use conservative settings when several jobs, profiles, or installs share one account.

Last updated

Was this helpful?