AltorLabFree Scan →
HomeError CodesRECHARGE_API_RATE_LIMIT
rechargeshopify

Recharge API Rate Limit During Subscription Billing

Root cause

Your integration exceeded Recharge's API rate limit (typically 40 requests per second on the standard plan) during a bulk billing operation, causing subsequent API calls to return 429 Too Many Requests and billing operations to fail without being retried.

Symptoms

How to fix it

1

Implement exponential backoff on all Recharge API calls

When your Recharge API client receives a 429 response, read the Retry-After header and wait that many seconds before retrying. Implement exponential backoff with jitter: initial wait = Retry-After seconds, subsequent waits = previous wait × 2 + random(0–1) seconds. Never retry immediately on 429 — immediate retries worsen the rate limit situation.

2

Distribute bulk billing operations across time

For bulk operations (billing a cohort of subscriptions, running a migration), distribute the API calls over minutes rather than seconds. Use a queue with a configurable rate — for Recharge standard plans, stay below 30 requests per second to leave headroom. For Shopify API calls made alongside Recharge calls, use separate rate limiters for each API.

3

Resume incomplete bulk operations from the point of failure

Implement idempotent checkpointing in bulk billing jobs: before processing each subscription, write its ID to a checkpoint store. If the job fails due to rate limiting, restart it from the last checkpointed ID rather than from the beginning. This prevents double-billing of subscriptions that were already processed before the rate limit was hit.

Frequently asked questions

What is Recharge's API rate limit?

Recharge's standard plan allows 40 API requests per second per integration. Enterprise plans have higher limits. Rate limit headers are returned with every response: X-Recharge-Limit shows your current usage and X-Recharge-Limit-Remaining shows remaining calls in the current window. Monitor these headers in your integration to avoid hitting the limit unexpectedly.

Do Recharge API rate limit errors cause data loss or state corruption?

Rate limit errors do not corrupt data — they simply reject the request without acting on it. However, if your billing code does not retry rate-limited requests, the corresponding subscription billing attempt will not be created, resulting in a missed billing cycle. Always implement retry logic that handles 429 responses and tracks which subscriptions were successfully billed before the limit was hit.

Detect this error automatically

Free cross-stack scan finds all billing errors in 60 seconds.

Run Free Scan →