Developer Platform FAQ

The E*TRADE 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 etrade.com and via E*TRADE 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.

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.

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.

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 on 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.

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.

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.

Your application needs a "consumer key" to access to our services. It only takes 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.