Skip to main content

Rate limits

The Filebase S3 API has an effective rate limit of 500 requests per second per account. The Platform API has the same limit. Excess requests return:

HTTP/1.1 503 Slow Down

with the standard S3 error body. The standard AWS SDK retry behavior — exponential backoff with jitter — handles this gracefully, so most workloads never see the error from application code.

What counts as a request

Each HTTP call to s3.filebase.io counts as one request, regardless of object size:

  • One PutObject = one request.
  • One GetObject = one request.
  • One multipart upload of a 1 GB file with 100 parts = 102 requests (Create, 100 × UploadPart, Complete).
  • One pre-signed URL fetch = one request, regardless of how many bytes are returned.

ListObjectsV2 is paginated — every page of up to 1,000 keys is one request.

Working with the limit

Burst-friendly retries

The default AWS SDK retry policy is well-tuned. You don't need to write custom logic in most cases. Verify your client is using the default retryer, not a no-retry policy.

Concurrency limits

If you're driving Filebase from a worker pool, cap the pool size to keep your sustained rate well below 500 RPS. A pool of 50 concurrent workers each averaging 10 RPS approaches the limit but stays under it.

Bulk operations

DeleteObjects deletes up to 1,000 objects per request — far cheaper than 1,000 separate DeleteObject calls. Use it when bulk-deleting:

aws --endpoint https://s3.filebase.io s3 rm s3://my-bucket/prefix/ --recursive

The CLI batches into DeleteObjects calls automatically.

Backoff and jitter

If you do hit 503 SlowDown, back off with jitter. Constant-interval retries from many clients can synchronize and keep the rate above the limit indefinitely. Add a random delay component:

const baseMs = 50;
const jitter = Math.random() * 50;
await sleep(baseMs * 2 ** retryNumber + jitter);

The default AWS SDK retryer does this automatically.

Need a higher limit?

If your sustained workload exceeds 500 RPS, contact hello@filebase.com — higher limits are available for paid customers.

Public bucket reads

Anonymous reads from public buckets served through the Filebase CDN are not rate-limited per account — the CDN absorbs traffic at the edge. The 500 RPS limit applies to authenticated S3 API calls.

What's next