Throttling
Newegg Marketplace API supports large variety of application and process millions of API requests daily. To maintain stable service with a high level of availability, Newegg Marketplace limits the API usage.
Per Seller
Rate limiting of each API request is based on per-seller basis.
Rate Limit
Rate limits are divided into minute intervals. This means you have a maximum number of requests you can submit to a specific function in a one-minute period.
Datafeed Limit
Datafeed related functions have the hourly limitation of request and the maximum size of each request. This means you have a maximum allowance of requests you can submit to a specific function in a one-hour period. And each request cannot exceed the maximum size limitation.
The response if you exceed the limit:
Example: XML, Response
<?xml version="1.0" encoding="utf-8"?> <Errors> <Error> <Code>DF012</Code> <Message>Your feed with request ID: 2291326430 exceeded the hourly allowance and cannot be processed. Please submit your feed again after 2016-12-16 11:05:00.</Message> </Error> </Errors>
Example: Json, Response
[ { "Code": "DF012", "Message": "Your feed with request ID: 2291326430 exceeded the hourly allowance and cannot be processed. Please submit your feed again after 2016-12-16 11:05:00." } ]
HTTP Headers and Response Codes
The following elements in HTTP headers can be used for diagnosing a given rate limit for the API service endpoint.
- X-RateLimit-Limit:Request limit per defined time window
- X-RateLimit-Remaining: The number of requests left for the time window.
- X-RateLimit-ResetTime: the time for resetting the remaining records.
- X-RecordCount-Limit: the max record seller can upload.
- X-RecordCount-Remaining: the # of record count left for the time window
- X-RecordCount-ResetTime: the time for resetting the remaining records.
The API will return a HTTP 429 “Too Many Requests” response code, and the following error will be returned in the response body:
Example: XML, Response
<?xml version="1.0" encoding="utf-8"?> <Errors> <Error> <Code>429</Code> <Message>Too many request.</Message> </Error> </Errors>
Example: Json, Response
[ { "Code": "429", "Message": "Too many request." } ]
Last updated: October 15, 2018