Search Documentation
API Call Limits
eBay APIs support a large number of applications and serve billions of API calls every month. To maintain a high level of availability and provide superior quality of service, eBay limits the API call usage. The limits on the total calls and the rate at which the calls can be made depend on the API.
Our default API call limits are designed for individuals and smaller businesses. If your volume increases, you can get higher limits after completing our Application Growth Check.
After you join the eBay Developers Program and get your application keyset, you can start using eBay APIs immediately. The default call limits on the eBay APIs allow you to test and explore the API capabilities. Many applications are able to perform all capabilities using the default limits. If you need higher call limits, you can complete our Application Growth Check, to verify that your application is adhering to eBay's API License Agreement, and that you've made the most efficient use of the APIs you've implemented.
The following table provides the default API call limit rates for individuals and smaller businesses.
| Functional Group | API Name | Default Call Limits |
|---|---|---|
| App Settings & Insight | Analytics APIs | 5,000 API calls per day |
| Communication | Notification | 10,000 API calls per day |
| Inventory Discovery and Refresh | Browse API* | All methods except getItems: 5000 API calls per day |
| getItems: 5000 API calls per day | ||
| Feed Beta API* | item, item_group, item_priority resources: 10,000 API calls per day | |
| item_snapshot resource: 75,000 API calls per day | ||
| Feed v1 API* | 75,000 API calls per day | |
| Listing Management | Media | image resource: 1,000,000 API calls per day POST rate user level limit: 50 requests per 5 seconds |
| video resource: 5,000 API calls per day POST rate user level limit: 50 requests per 5 seconds |
||
| document resource: 1,000,000 API calls per day POST rate user level limit: 50 requests per 5 seconds |
||
| Marketing and Discounts | Deal API* | 5,000 API calls per day |
| Marketing API* | 5,000 API calls per day | |
| Merchandising API | 5,000 API calls per day | |
| Marketplace Metadata | Catalog† | 10,000 API calls per day |
| Charity | 5,000 API calls per day | |
| Taxonomy | 5,000 API calls per day | |
| Offers and Leads | Offer API* | 5,000 API calls per day |
| Order Management | Order v1 API* | 5,000 API calls per day |
| Order v2 API* | 5,000 API calls per day | |
| Post-Order API | Each resource within the Post-Order API has its own separate call limit:
|
|
| Other APIs | Business Policies API (deprecated) |
5,000 API calls per day |
| Identity† | 5,000 API calls per day | |
| Trading API | 5,000 API calls per day | |
| Translation (beta) | 5,000 API calls per day |
* Buy APIs require an additional license. See the API documentation for details.
† Additional user restrictions apply. See the API documentation for details.
For OAuth token call limit details, see Access token rate limits and best practices.
GraphQL API Rate Limits
Unlike REST APIs, which apply call limits at the API level, Public GraphQL rate limits are applied to individual operations. Each operation (query or mutation) has its own default call limit, independent of other operations in the same API.
The following table lists the default rate limits for Public GraphQL operations.
| Functional Group | API Name | Operation | Default Call Limits |
|---|---|---|---|
| Account Management | User Note | createOrReplaceUserNote | 5,000 API calls per day |
| deleteUserNote | 5,000 API calls per day | ||
| User | user | 10,000 API calls per day | |
| Auction API | itemBiddingActivity | 5,000 API calls per day | |
| userBiddingActivity | 5,000 API calls per day | ||
| Watch List API | addToWatchList | 5,000 API calls per day | |
| removeAllFromWatchList | 5,000 API calls per day | ||
| removeFromWatchList | 5,000 API calls per day | ||
| userCustomLists | 5,000 API calls per day | ||
| userWatchList | 5,000 API calls per day | ||
| Inventory Discovery and Refresh | Follow API | userSavedSearches | 5,000 API calls per day |
| userSavedSellers | 5,000 API calls per day | ||
| Order Management | Order API | orders | 5,000 API calls per day |
| ordersByIds | 5,000 API calls per day | ||
| orderLineItemsByIds | 5,000 API calls per day | ||
| Item Commitment API | itemCommitments | 5,000 API calls per day | |
| itemCommitmentsByIds | 5,000 API calls per day | ||
| commitToPurchase | 5,000 API calls per day | ||
| Cancellation API | contractCancellation | 5,000 API calls per day | |
| Return API | orderReturn | 5,000 API calls per day | |
| Order Inquiry API | orderInquiry | 5,000 API calls per day | |
| Purchase Quote API | requestPurchaseQuote | 5,000 API calls per day | |
| purchaseQuotes | 5,000 API calls per day | ||
| purchaseQuotesByIds | 5,000 API calls per day | ||
| purchaseQuoteLineItemsByIds | 5,000 API calls per day | ||
| App Settings & Insight | App Insights | applicationApiRateLimits | 5,000 API calls per day |
| userApiRateLimits | 5,000 API calls per day | ||
| bulkDataTransferThresholds | 5,000 API calls per day | ||
| Offers and Leads | Offer API | acceptOffer | 45,000 API calls per day |
| counterOffer | 45,000 API calls per day | ||
| declineOffer | 45,000 API calls per day | ||
| makeOffer | 10,000 API calls per day | ||
| buyerNegotiationHistory | 4 Million API calls per day |
When a call exceeds its operation rate limit, the API returns HTTP 200 with a GraphQL execution-time error: extensions.errorCode = RATE_LIMITED. See the Response Status and Error Codes → GraphQL API Errors for details.
GraphQL Query Complexity Limits
In addition to rate limits, all Public GraphQL operations are subject to four structural query-complexity limits. These limits are enforced before execution and are independent of rate limits and any operation-specific pagination, result-size, or bulk-input limits. The same complexity limits apply regardless of whether the operation is run on behalf of a buyer or a seller.
| Limit | Maximum | What it means | What to do if exceeded |
|---|---|---|---|
| Query depth | 15 | A single operation can have up to 15 nested selection levels. | Remove unnecessary nesting or split the request into smaller, focused operations. |
| Total fields | 2,000 | A single operation can select up to 2,000 fields, including fields added through fragments. | Request only fields the application needs; simplify fragments; split very large operations. |
| Root fields | 11 | A single operation can contain up to 11 non-aliased top-level fields under Query or Mutation. | Reduce the number of independent top-level calls or split them across requests. |
| Root field aliases | 0 | A single operation cannot contain root field aliases. | Do not use aliased root calls; use bulk inputs where available or split the work across requests. |
When a call exceeds a query-complexity limit, the API returns HTTP 422 Unprocessable Entity with extensions.errorCode = MAX_COMPLEXITY_EXCEEDED. See Response Status and Error Codes → GraphQL API Errors → HTTP 422 for details.