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