Rate Limiting

Understanding API rate limits and how to handle them

The PartsSource APIs implement rate limiting to ensure fair usage and system stability. Understanding these limits helps you design robust integrations.


Rate Limits

Tier
Requests/Second
Burst Limit

Standard

1,000 RPS

2,000 requests

Enterprise

Custom

Custom

circle-info

Rate limits are applied per API client (identified by your client_id). Contact your account manager for enterprise tier access.


Rate Limit Headers

Every API response includes rate limit information in headers:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1634825400
Header
Description

X-RateLimit-Limit

Maximum requests allowed per second

X-RateLimit-Remaining

Requests remaining in current window

X-RateLimit-Reset

Unix timestamp when the limit resets


Rate Limit Exceeded Response

When you exceed the rate limit, you'll receive a 429 Too Many Requests response:

The Retry-After header indicates how many seconds to wait before retrying.


Handling Rate Limits

Basic Retry Strategy

Exponential Backoff

For production systems, implement exponential backoff:

TypeScript Example

Python Example


Best Practices

1. Monitor Rate Limit Headers

Track your remaining quota proactively:

2. Implement Request Queuing

For high-volume operations, queue requests to stay under limits:

3. Cache Responses

Reduce API calls by caching frequently-accessed data:

4. Use Pagination Efficiently

Fetch only the data you need:

  • Use reasonable page sizes (50-100 records)

  • Filter results server-side when possible

  • Don't fetch all pages if you only need the first few

5. Batch Operations

Combine multiple operations where possible to reduce total requests.


Troubleshooting

Consistently hitting rate limits?

  1. Audit your integration - Are you making unnecessary calls?

  2. Implement caching - Cache responses that don't change frequently

  3. Use webhooks - If available, prefer push over polling

  4. Contact support - Request enterprise tier for higher limits

Rate limit headers missing?

The headers are only present on authenticated requests. Verify you're including a valid Authorization header.

Getting 429s even with low volume?

  1. Check if other applications share your credentials

  2. Verify you're not making parallel requests unintentionally

  3. Check for retry loops that could amplify traffic

Last updated