Developers Program

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
Account Management Account API 25,000 API calls per day
Finances API 15,000 API calls per day
Analytics and Reporting Analytics API customer_service_metric resource: 400 API calls per day
seller_standards_profile resource, traffic_report resource: 100 API calls per day
App Settings & Insight Analytics APIs 5,000 API calls per day
Communication Notification 10,000 API calls per day
Listing Management Feed API 100,000 API calls per day
Inventory API 2 Million API calls per day
Media
image resource: 200,000 API calls per day
Consumers can utilize up to 10% of the total daily limit within an hour
video resource: 5,000 API calls per day
document resource: 1,000,000 API calls per day
POST rate user level limit: 50 requests per 5 seconds
Listing Metadata Catalog† 10,000 API calls per day
Charity 5,000 API calls per day
Metadata API 5,000 API calls per day
Taxonomy 5,000 API calls per day
Marketing and Discounts Merchandising API 5,000 API calls per day
Marketing and Promotions Marketing API Marketing Promotion API: 100,000 API calls per day
Marketing Ads API: 10,000 API calls per day
Recommendation API 5,000 API calls per day
Offers and Leads Negotiation API 1 Million API calls per day
Order Management Fulfillment API Order resource (all methods): 100,000 API calls per day
getPaymentDispute method: 250,000 API calls per day
getPaymentDisputeSummaries method: 250,000 API calls per day
Payment_dispute resource (all other methods): 250,000 API calls per day (combined limit for all methods)
Logistics API 2.5 Million 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
Compliance API 5,000 API calls per day
Identity† 5,000 API calls per day
Product API 5,000 API calls per day
Product Metadata API 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 5K/day
deleteUserNote 5K/day
Auction API itemBiddingActivity 5K/day
userBiddingActivity 5K/day
App Settings & Insight App Insights API applicationApiRateLimits 5K/day
bulkDataTransferThresholds 5K/day
userApiRateLimits 5K/day
Listing Management Inventory Mapping API startListingPreviewsCreation 100K/day (50/5 sec)
listingPreviewsCreationTaskById 100K/day (1000/5 sec)
Listing API bulkUpdateInventory 5K/day
createListing 5K/day
createSecondChanceListing 5K/day
endListing 5K/day
relistListing 5K/day
updateListing 5K/day
sellerListingSearch 5K/day
sellerListings 5K/day
Media videosByIds 5K/day
Offers and Leads Offer API acceptOffer 45K/day
counterOffer 45K/day
declineOffer 45K/day
sellerNegotiationHistory 4M/day
Order Management Cancellation API approveContractCancellation 5K/day
createItemCommitmentCancellation 300/day
createOrderCancellation 300/day
createPurchaseQuoteCancellation 300/day
declineContractCancellation 300/day
contractCancellation 5K/day
sellerContractCancellations 5K/day
Item Commitment API bulkUpdateItemCommitmentTags 5K/day
markItemCommitmentsPaid 5K/day
itemCommitments 5K/day
itemCommitmentsByIds 5K/day
Order Inquiry API processOrderInquiryRefund 5K/day
provideShipmentInfoForItemNotReceivedInquiry 5K/day
sendOrderInquiryMessage 5K/day
submitOrderInquiryReferral 5K/day
orderInquiry 5K/day
sellerOrderInquiries 5K/day
Order API bulkUpdateOrderTags 5K/day
markOrdersPaid 5K/day
orderLineItemsByIds 5K/day
orders 5K/day
ordersByIds 5K/day
Purchase Quote API createPurchaseQuote 5K/day
bulkUpdatePurchaseQuotes 5K/day
requestPurchaseQuote 5K/day
purchaseQuotes 5K/day
purchaseQuotesByIds 5K/day
purchaseQuoteLineItemsByIds 5K/day
Return API approveReturn 5K/day
attachReturnShipmentLabel 5K/day
declineReturn 5K/day
processReturnRefund 5K/day
proposeKeepItemWithPartialRefund 5K/day
provideRmaNumber 5K/day
recordReturnLabelSentOffline 5K/day
recordReturnReceived 5K/day
sendReturnMessage 5K/day
submitReturnReferral 5K/day
updateSellerRmaPreference 5K/day
orderReturn 5K/day
sellerOrderReturns 5K/day
Return Rules API appendSellerReturnResponseRule 10K/day
appendSellerReturnToAddressRule 10K/day
deleteSellerReturnRule 10K/day
updateSellerReturnResponseRuleCondition 100K/day
updateSellerReturnResponseRulesPriorities 100K/day
updateSellerReturnRuleStatus 10K/day
updateSellerReturnToAddressRuleCondition 100K/day
updateSellerReturnToAddressRulesPriorities 100K/day
sellerReturnPreference 5K/day
Other APIs User API user 10K/day

When a call exceeds its operation-level rate limit, the API returns HTTP 200 with a GraphQL execution-time error: extensions.errorCode = RATE_LIMITED. See the RATE_LIMITED error code in Response Status and Error Codes → GraphQL API Errors for details.

Note: Cancellation API mutations are subject to a known GraphQL federation gateway issue (tracked internally) causing schema validation errors on some cancellation requests; limits and behavior for this API may change before GA.

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.

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.

Note: These are independent limits; an operation must remain within all four.

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.