Skip to main content

Rate Limits

eBay enforces rate limits on API requests to ensure fair usage and system stability. Understanding these limits and implementing appropriate strategies is critical for building reliable applications. This guide covers eBay’s rate limit policies, the server’s rate limiting implementation, and best practices.

eBay Sell APIs Rate Limits

eBay implements different rate limits based on your authentication method and marketplace. When using user access tokens (OAuth 2.0 with user authorization):

Standard Tier

10,000 requests/dayDefault for most sellers

Premium Tier

25,000 requests/dayAvailable to Power Sellers

Enterprise Tier

50,000 requests/dayAvailable to Top Rated Sellers
Rate Window: 24 hours (rolling window) Scopes:

Client Credentials Limits (Fallback)

When using application tokens (OAuth 2.0 Client Credentials flow):

Basic Tier

1,000 requests/dayApplication-level operations only
Limitations:
  • Limited API access (no seller-specific operations)
  • Lower rate limits
  • No access to private seller data
Client credentials should only be used as a fallback. Always prefer user tokens for production workloads.

Rate Limit Headers

eBay includes rate limit information in response headers:

Client-Side Rate Limiting

The eBay MCP Server implements client-side rate limiting to prevent exceeding eBay’s limits before making requests.

RateLimitTracker Implementation

The server tracks request timestamps and enforces conservative limits (src/api/client.ts:15-44):

How It Works

1

Pre-Request Check

Before making an API call, the HTTP client checks if the rate limit allows the request:
2

Token Injection

If rate limit check passes, the request proceeds with authentication token injection
3

Request Recording

After successful rate limit check, the request timestamp is recorded:
4

Window Cleanup

Old timestamps outside the rate limit window are automatically removed to keep memory usage low

Configuration

The rate limiter uses conservative default values:
The 5,000 requests per minute limit is conservative. For user tokens with 10,000-50,000 daily limits, this allows sustained operation while preventing burst-related issues.

Server-Side Rate Limit Handling

When eBay Sell APIs returns a 429 (Too Many Requests) status, the server provides clear guidance:
Response includes:
  • Exact wait time from Retry-After header
  • Actionable advice (reduce frequency, upgrade to user tokens)
  • Clear error message

Rate Limit Monitoring

Header Tracking

The server logs rate limit information from eBay response headers (src/api/client.ts:94-104):
Output Example:

Statistics API

Get current client-side rate limit statistics:

Rate Limiting Strategies

1. Use User Tokens

Most Important: Always use user tokens for production workloads.
User tokens provide 10-50x higher rate limits compared to client credentials. Setup:
See OAuth Setup for detailed instructions.

2. Batch Operations

Group multiple operations into batch API calls when available:
Available Batch Operations:
  • bulkCreateOrReplaceInventoryItem - Create/update multiple inventory items
  • bulkCreateOffer - Create multiple offers
  • bulkPublishOffer - Publish multiple offers
  • bulkMigrateListing - Migrate multiple listings

3. Implement Caching

Cache frequently accessed, rarely changing data:
Good Candidates for Caching:
  • Category trees
  • Fulfillment/payment/return policies
  • Marketplace metadata
  • Seller standards profiles (refresh daily)

4. Request Throttling

For high-volume operations, throttle requests to stay within limits:

5. Exponential Backoff

When rate limited, use exponential backoff before retrying:

6. Prioritize Critical Operations

When approaching rate limits, prioritize essential operations:

Rate Limit Best Practices

Do’s

Use user tokens for production - 10-50x higher limits than client credentials
Monitor rate limit headers - Track remaining requests and adjust behavior
Implement client-side rate limiting - Prevent hitting eBay limits
Cache static data - Reduce unnecessary API calls
Use batch operations - Minimize request count
Handle 429 errors gracefully - Implement exponential backoff

Don’ts

Don’t burst requests - Spread requests over time to avoid hitting minute-level limits
Don’t ignore rate limit headers - Use them to adjust request frequency
Don’t retry immediately after 429 - Respect the Retry-After header
Don’t use client credentials for high-volume - Upgrade to user tokens

Troubleshooting Rate Limits

Symptom: Frequent Rate Limit Errors

Causes:
  1. Using client credentials (1,000 req/day limit)
  2. Burst requests without throttling
  3. Not using batch operations
Solutions:
  1. Switch to user tokens
  2. Implement request throttling
  3. Use batch APIs for bulk operations
  4. Cache frequently accessed data

Symptom: Inconsistent Rate Limits

Causes:
  1. Mixed use of user and app tokens
  2. Multiple server instances sharing same credentials
  3. External tools using same credentials
Solutions:
  1. Ensure consistent token usage
  2. Implement distributed rate limiting if running multiple instances
  3. Use separate credentials for different applications

Symptom: Rate Limit Warnings in Logs

Example:
Causes: Approaching daily or hourly limit Solutions:
  1. Reduce request frequency
  2. Defer non-critical operations
  3. Check for inefficient code (redundant API calls)

Rate Limit Tiers

eBay offers different rate limit tiers based on seller performance:
Maintain good seller performance to qualify for higher rate limit tiers. See eBay Seller Standards for details.

Comparing Token Types

Advantages:
  • 10,000-50,000 requests/day
  • Full API access
  • Seller-specific operations
  • Automatic token refresh
Disadvantages:
  • Requires OAuth authorization
  • Tokens expire (refresh every 2 hours)
  • User must grant permissions
Best For:
  • Production applications
  • High-volume operations
  • Seller-specific data access

Example: High-Volume Operation

Here’s how to efficiently process a large inventory update:
This approach:
  • Uses batch API (25 items per request)
  • Throttles to 10 requests/second
  • Provides progress feedback
  • Handles 10,000 items using only 400 requests

Error Handling

Handle rate limit errors effectively

OAuth Setup

Configure user tokens for higher limits

Best Practices

General best practices for eBay MCP Server

Bulk Operations

Efficient batch processing strategies