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.
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 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.
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
Any interested developer should be able to write at least a basic application that uses the Development Platform to access
a tutorial and sample code to help you begin.
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.