What is the E*TRADE Developer Platform?

E*TRADE's Developer Platform is a set of web services and related resources that make it easy to create customized applications that integrate the data and functions provided at http://www.etrade.com and via E*TRADE's mobile and Pro clients.

Using the platform, E*TRADE customers can build their own custom solutions or can use third-party applications to enhance their trading experience with powerful active trading tools, social investing, and market intelligence.

What style of API does it use?

E*TRADE uses a REST-based API to provide access to detailed account information such as balances, positions, alerts, and watch lists, plus access to market data including quotes and option chains, and even the ability to preview and place equity and option orders. The REST-based web service is easy to integrate into your application statelessly, without complex session management, and flexibly delivers your data in either JSON or XML format.

The Developer Platform also provides a streaming API, based on the Comet web-service architecture, to deliver timely order-status notifications to your application and let your users know when their orders go through.

What is REST?

REST, or REpresentational State Transfer protocol, is a simple, powerful HTTP-based web service architecture built on a request-response model. In recent years it has become one of the most popular models for Internet-based service architecture.

In REST, a client sends an HTTP request to the service, with parameters added to the URL or included in the header as XML or JSON, and receives an HTTP response that contains XML or JSON content in the body. The world-wide web is an example of REST. With the E*TRADE Developer Platform, it's easy for your application to modify account data, request market quotes, or even place an order for a stock purchase using REST.

The Wikipedia article on REpresentational State Transfer (REST) provides a good overview of the underlying technology behind the API.

How does the platform protect user data?

The E*TRADE Developer Platform uses the popular OAuth authorization protocol, which allows an authenticated E*TRADE user to authorize your application for limited temporary access to the user account. In practice, this means that your E*TRADE-approved application requires the user to log in to an E*TRADE dialog box and click a consent button, which grants your application the necessary privileges to do trading. At the end of the session, you destroy the credential, keeping the user account secure. It's an easy, industry-standard solution.

For more information on OAuth, visit http://oauth.net.

How much does the Development Platform cost?

Nothing. The platform is free for developers to use. When people use your application for trading, E*TRADE makes the same small per-trade fee as it does on the public E*TRADE website. This pays for the cost of creating and maintaining the developer platform.

Who can use it?

Any interested developer should be able to write at least a basic application that uses the Development Platform to access the E*TRADE service. We suggest working in Java, PHP, and/or JavaScript. We've posted complete documentation as well as a tutorial and sample code to help you begin.

How do I get started?

Your application needs a "consumer key" to access to our services. It usually takes just a few business days to get a key for our "sandbox" service, and not much longer than that for a key to our actual production service. You'll also need an E*TRADE account, which may take a few business days to set up.

We suggest you sign up for an account and start reading the introductory documentation, which explains how to apply for a consumer key.

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.