Overview

The E*TRADE API uses rate limits to manage the volume of incoming requests.

Rate limits are implemented on the Accounts, Market, and Order API modules. The limit is specified at two levels:

  • A "throttling" limit defines the maximum number of requests that will be processed per second. This is designed to encourage a smooth level of activity and avoid large bursts of requests.
  • A "consumption" limit defines the maximum requests per hour.

Requests that exceed the limit are not processed. Instead of the expected XML or JSON response, they return an HTML error page containing the message: " Number of requests exceeded the rate limit set ", with the HTTP status code 400. (See the separate documentation on error codes for more information.)

The Get Rate Limits API allows applications to query the limits for the current user and get current usage status. This allows the application to pace itself as needed and avoid failed requests or periods of forced inactivity.

Limits

Rate limits are enforced separately for each consumer key, and within that, separately for each API module. If your application requires higher limits, please contact Customer Service.

The table below shows the limits that are assigned to a typical consumer key. To give a sense of how these limits work in actual practice, the table lists both the maximum requests per hour (the typical tracking interval), and how that breaks down into average requests per second.
Module Throttling Limit
(requests per second per user)
Consumption Limit
(requests per hour per user)
Accounts 2 7000
Market 4 14000
Order 2 7000
Requests for Multiple Items

A single request for multiple data items, such as a call to the Get Quote API that includes 25 different stock symbols as parameters, is treated as a single request.

The Get Rate Limits API

For more information on how rate limits may affect your application and how your application can respond, refer to the documentation on the Get Rate Limits API.

PLEASE READ THE IMPORTANT DISCLOSURES BELOW

By using E*TRADE API ("API") and accepting the terms of the Application Programming Interface License Agreement and the Application Programming Interface User Agreement, you agree that API may employ security policies, procedures and systems of Third Party providers which may or may not be less stringent and secure than the policies, procedures and systems of E*TRADE Securities LLC ("E*TRADE") or its affiliates. Material provided on API may have been produced by independent third parties not affiliated or endorsed by E*TRADE or its affiliates ("Third Party"). To the extent that API or Third Party providers express opinions or make recommendations, you understand that such opinions or recommendations are expressed by the Third Party provider and are not the opinions or recommendations of E*TRADE or its affiliates. E*TRADE is not responsible for the accuracy of market data displayed on API or made available by Third Party providers. There may be latency between the time an order (or other information) is submitted from API and the time the order is received by E*TRADE. The E*TRADE Two Second Execution Guarantee or any similar guarantee does not apply for orders placed through API and Third Party provider web sites. The E*TRADE CompleteTM Protection Guarantee does not apply. Orders created and submitted through API are not vetted until they are received by E*TRADE. It is possible that E*TRADE may reject an order placed through API. Please see the Application Programming Interface License Agreement and the Application Programming Interface User Agreement for more information.


The E*TRADE family of companies provides financial services including trading, investing, and related banking products and services to retail investors.


Securities products and services offered by E*TRADE Securities LLC, Member FINRA/SIPC.


System response and account access times may vary due to a variety of factors, including trading volumes, market conditions, system performance, and other factors.