Sample code for 30+ languages & platforms
Java

ETrade List Orders

See more ETrade Examples

Gets the order details for a selected brokerage account based on the search criteria provided.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Http;
import com.chilkatsoft.chilkat2.HttpResponse;
import com.chilkatsoft.chilkat2.JsonObject;
import com.chilkatsoft.chilkat2.Xml;

public class ChilkatExample {

    public static void main(String[] args) {
        // This requires the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Http http = new Http();

        http.setOAuth1(true);
        http.setOAuthVerifier("");
        http.setOAuthConsumerKey("ETRADE_CONSUMER_KEY");
        http.setOAuthConsumerSecret("ETRADE_CONSUMER_SECRET");

        // Load the access token previously obtained via the OAuth1 Authorization
        JsonObject jsonToken = new JsonObject();
        try {
            jsonToken.loadFile("qa_data/tokens/etrade.json");
        } catch (ChilkatException e) {
            System.out.println("Failed to load OAuth1 token");
            return;
        }

        http.setOAuthToken(jsonToken.stringOf("oauth_token"));
        http.setOAuthTokenSecret(jsonToken.stringOf("oauth_token_secret"));

        String sandboxUrl = "https://apisb.etrade.com/v1/accounts/{$accountIdKey}/orders";
        String liveUrl = "https://api.etrade.com/v1/accounts/{$accountIdKey}/orders";

        http.setUrlVar("accountIdKey", "6_Dpy0rmuQ9cu9IbTfvF2A");

        HttpResponse resp = new HttpResponse();
        try {
            http.httpNoBody("GET", sandboxUrl, resp);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // Make sure a successful response was received.
        if (resp.getStatusCode() > 200) {
            System.out.println(resp.getStatusLine());
            System.out.println(resp.getHeader());
            System.out.println(resp.getBodyStr());
            return;
        }

        // Sample XML response:

        // Use this online tool to generate parsing code from sample XML:
        // Generate Parsing Code from XML

        // <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        // <OrdersResponse>
        //     <marker>12345678999</marker>
        //     <next>https://api.sit.etrade.com/accounts/E5Nd4LJBsEi_UyHm4Vio9g/orders?marker=12345678999</next>
        //     <Order>
        //         <orderId>479</orderId>
        //         <details>https://api.etrade.com/accounts/E5Nd4LJBsEi_UyHm4Vio9g/orders/479</details>
        //         <orderType>OPTN</orderType>
        //         <OrderDetail>
        //             <placedTime>123453456</placedTime>
        //             <orderValue>123.0000</orderValue>
        //             <status>OPEN</status>
        //             <orderTerm>GOOD_FOR_DAY</orderTerm>
        //             <priceType>LIMIT</priceType>
        //             <limitPrice>1.5</limitPrice>
        //             <stopPrice>0</stopPrice>
        //             <marketSession>REGULAR</marketSession>
        //             <allOrNone>false</allOrNone>
        //             <Instrument>
        //                 <Product>
        //                     <symbol>RIMM</symbol>
        //                     <securityType>OPTN</securityType>
        //                     <callPut>CALL</callPut>
        //                     <expiryYear>2012</expiryYear>
        //                     <expiryMonth>3</expiryMonth>
        //                     <expiryDay>9</expiryDay>
        //                     <strikePrice>12</strikePrice>
        //                 </Product>
        //                 <symbolDescription>RESEARCH IN MOTION LTD COM</symbolDescription>
        //                 <orderAction>BUY_OPEN</orderAction>
        //                 <quantityType>QUANTITY</quantityType>
        //                 <orderedQuantity>5</orderedQuantity>
        //                 <filledQuantity>5</filledQuantity>
        //                 <averageExecutionPrice>0</averageExecutionPrice>
        //                 <estimatedCommission>9.99</estimatedCommission>
        //                 <estimatedFees>0</estimatedFees>
        //             </Instrument>
        //             <netPrice>0</netPrice>
        //             <netBid>0</netBid>
        //             <netAsk>0</netAsk>
        //             <gcd>0</gcd>
        //             <ratio/>
        //         </OrderDetail>
        //     </Order>
        //     <Order>
        //         <orderId>477</orderId>
        //         <details>https://api.etrade.com/accounts/E5Nd4LJBsEi_UyHm4Vio9g/orders/477</details>
        //         <orderType>ONE_CANCELS_ALL</orderType>
        //         <totalOrderValue>209.99</totalOrderValue>
        //         <totalCommission>10.74</totalCommission>
        //         <OrderDetail>
        //             <orderNumber>1</orderNumber>
        //             <placedTime>1331699203122</placedTime>
        //             <orderValue>123.0000</orderValue>
        //             <status>OPEN</status>
        //             <orderTerm>GOOD_FOR_DAY</orderTerm>
        //             <priceType>LIMIT</priceType>
        //             <limitPrice>2</limitPrice>
        //             <stopPrice>0</stopPrice>
        //             <marketSession>REGULAR</marketSession>
        //             <bracketedLimitPrice>2</bracketedLimitPrice>
        //             <initialStopPrice>2</initialStopPrice>
        //             <allOrNone>false</allOrNone>
        //             <Instrument>
        //                 <Product>
        //                     <symbol>ETFC</symbol>
        //                     <securityType>EQ</securityType>
        //                 </Product>
        //                 <symbolDescription>ETRADE Financials</symbolDescription>
        //                 <orderAction>BUY</orderAction>
        //                 <quantityType>QUANTITY</quantityType>
        //                 <orderedQuantity>100</orderedQuantity>
        //                 <filledQuantity>0</filledQuantity>
        //                 <averageExecutionPrice>0</averageExecutionPrice>
        //                 <estimatedCommission>9.99</estimatedCommission>
        //                 <estimatedFees>0</estimatedFees>
        //             </Instrument>
        //             <netPrice>0</netPrice>
        //             <netBid>0</netBid>
        //             <netAsk>0</netAsk>
        //             <gcd>0</gcd>
        //             <ratio/>
        //         </OrderDetail>
        //         <OrderDetail>
        //             <orderNumber>2</orderNumber>
        //             <placedTime>1331699203</placedTime>
        //             <orderValue>231.0000</orderValue>
        //             <status>OPEN</status>
        //             <orderTerm>GOOD_FOR_DAY</orderTerm>
        //             <priceType>LIMIT</priceType>
        //             <limitPrice>0.5</limitPrice>
        //             <stopPrice>0</stopPrice>
        //             <marketSession>REGULAR</marketSession>
        //             <initialStopPrice>0.5</initialStopPrice>
        //             <allOrNone>false</allOrNone>
        //             <Instrument>
        //                 <Product>
        //                     <symbol>MON</symbol>
        //                     <securityType>OPTN</securityType>
        //                     <callPut>CALL</callPut>
        //                     <expiryYear>2012</expiryYear>
        //                     <expiryMonth>4</expiryMonth>
        //                     <expiryDay>21</expiryDay>
        //                     <strikePrice>85</strikePrice>
        //                 </Product>
        //                 <symbolDescription>MON Mar 9 '12 $85 Call</symbolDescription>
        //                 <orderAction>BUY_OPEN</orderAction>
        //                 <quantityType>QUANTITY</quantityType>
        //                 <orderedQuantity>1</orderedQuantity>
        //                 <filledQuantity>0</filledQuantity>
        //                 <averageExecutionPrice>0</averageExecutionPrice>
        //                 <estimatedCommission>9.99</estimatedCommission>
        //                 <estimatedFees>0</estimatedFees>
        //             </Instrument>
        //             <netPrice>0</netPrice>
        //             <netBid>0</netBid>
        //             <netAsk>0</netAsk>
        //             <gcd>0</gcd>
        //             <ratio/>
        //         </OrderDetail>
        //     </Order>
        //     <Order>
        //         <orderId>475</orderId>
        //         <details>https://api.etrade.com/accounts/E5Nd4LJBsEi_UyHm4Vio9g/orders/475</details>
        //         <orderType>SPREADS</orderType>
        //         <OrderDetail>
        //             <placedTime>1331742953</placedTime>
        //             <executedTime>1331742955432</executedTime>
        //             <orderValue>4445.99</orderValue>
        //             <status>EXECUTED</status>
        //             <orderTerm>GOOD_FOR_DAY</orderTerm>
        //             <priceType>NET_DEBIT</priceType>
        //             <limitPrice>1.5</limitPrice>
        //             <stopPrice>0</stopPrice>
        //             <marketSession>REGULAR</marketSession>
        //             <allOrNone>false</allOrNone>
        //             <Instrument>
        //                 <Product>
        //                     <symbol>REE</symbol>
        //                     <securityType>OPTN</securityType>
        //                     <callPut>CALL</callPut>
        //                     <expiryYear>2012</expiryYear>
        //                     <expiryMonth>7</expiryMonth>
        //                     <expiryDay>21</expiryDay>
        //                     <strikePrice>7</strikePrice>
        //                 </Product>
        //                 <symbolDescription>REE Jul 21 '12 $7 Call</symbolDescription>
        //                 <orderAction>BUY_OPEN</orderAction>
        //                 <quantityType>QUANTITY</quantityType>
        //                 <orderedQuantity>2</orderedQuantity>
        //                 <filledQuantity>2</filledQuantity>
        //                 <averageExecutionPrice>1.5</averageExecutionPrice>
        //                 <estimatedCommission>7.24</estimatedCommission>
        //                 <estimatedFees>0</estimatedFees>
        //             </Instrument>
        //             <Instrument>
        //                 <Product>
        //                     <symbol>REE</symbol>
        //                     <securityType>OPTN</securityType>
        //                     <callPut>PUT</callPut>
        //                     <expiryYear>2013</expiryYear>
        //                     <expiryMonth>1</expiryMonth>
        //                     <expiryDay>19</expiryDay>
        //                     <strikePrice>12.50</strikePrice>
        //                 </Product>
        //                 <symbolDescription>REE Jan 19 '13 $12.50 Put</symbolDescription>
        //                 <orderAction>BUY_OPEN</orderAction>
        //                 <quantityType>QUANTITY</quantityType>
        //                 <orderedQuantity>2</orderedQuantity>
        //                 <filledQuantity>2</filledQuantity>
        //                 <averageExecutionPrice>1.5</averageExecutionPrice>
        //                 <estimatedCommission>7.24</estimatedCommission>
        //                 <estimatedFees>0</estimatedFees>
        //             </Instrument>
        //             <netPrice>0</netPrice>
        //             <netBid>0</netBid>
        //             <netAsk>0</netAsk>
        //             <gcd>0</gcd>
        //             <ratio/>
        //         </OrderDetail>
        //     </Order>
        // </OrdersResponse>
        //

        Xml xml = new Xml();
        xml.loadXml(resp.getBodyStr());
        System.out.println(xml.getXml());

        int orderId = 0;
        String details = "";
        String orderType = "";
        int j = 0;
        int count_j = 0;
        String placedTime = "";
        String orderValue = "";
        String status = "";
        String orderTerm = "";
        String priceType = "";
        String limitPrice = "";
        int stopPrice = 0;
        String marketSession = "";
        String allOrNone = "";
        int k = 0;
        int count_k = 0;
        String symbol = "";
        String securityType = "";
        String callPut = "";
        int expiryYear = 0;
        int expiryMonth = 0;
        int expiryDay = 0;
        String strikePrice = "";
        String symbolDescription = "";
        String orderAction = "";
        String quantityType = "";
        int orderedQuantity = 0;
        int filledQuantity = 0;
        String averageExecutionPrice = "";
        String estimatedCommission = "";
        int estimatedFees = 0;
        int netPrice = 0;
        int netBid = 0;
        int netAsk = 0;
        int gcd = 0;
        int orderNumber = 0;
        int bracketedLimitPrice = 0;
        String initialStopPrice = "";
        String executedTime = "";
        String totalOrderValue = "";
        String totalCommission = "";

        String marker = xml.getChildContent("marker");
        String next = xml.getChildContent("next");
        int i = 0;
        int count_i = xml.numChildrenHavingTag("Order");
        while (i < count_i) {
            xml.setI(i);
            orderId = xml.getChildIntValue("Order[i]|orderId");
            details = xml.getChildContent("Order[i]|details");
            orderType = xml.getChildContent("Order[i]|orderType");
            j = 0;
            count_j = xml.numChildrenHavingTag("Order[i]|OrderDetail");
            while (j < count_j) {
                xml.setJ(j);
                placedTime = xml.getChildContent("Order[i]|OrderDetail[j]|placedTime");
                orderValue = xml.getChildContent("Order[i]|OrderDetail[j]|orderValue");
                status = xml.getChildContent("Order[i]|OrderDetail[j]|status");
                orderTerm = xml.getChildContent("Order[i]|OrderDetail[j]|orderTerm");
                priceType = xml.getChildContent("Order[i]|OrderDetail[j]|priceType");
                limitPrice = xml.getChildContent("Order[i]|OrderDetail[j]|limitPrice");
                stopPrice = xml.getChildIntValue("Order[i]|OrderDetail[j]|stopPrice");
                marketSession = xml.getChildContent("Order[i]|OrderDetail[j]|marketSession");
                allOrNone = xml.getChildContent("Order[i]|OrderDetail[j]|allOrNone");
                k = 0;
                count_k = xml.numChildrenHavingTag("Order[i]|OrderDetail[j]|Instrument");
                while (k < count_k) {
                    xml.setK(k);
                    symbol = xml.getChildContent("Order[i]|OrderDetail[j]|Instrument[k]|Product|symbol");
                    securityType = xml.getChildContent("Order[i]|OrderDetail[j]|Instrument[k]|Product|securityType");
                    callPut = xml.getChildContent("Order[i]|OrderDetail[j]|Instrument[k]|Product|callPut");
                    expiryYear = xml.getChildIntValue("Order[i]|OrderDetail[j]|Instrument[k]|Product|expiryYear");
                    expiryMonth = xml.getChildIntValue("Order[i]|OrderDetail[j]|Instrument[k]|Product|expiryMonth");
                    expiryDay = xml.getChildIntValue("Order[i]|OrderDetail[j]|Instrument[k]|Product|expiryDay");
                    strikePrice = xml.getChildContent("Order[i]|OrderDetail[j]|Instrument[k]|Product|strikePrice");
                    symbolDescription = xml.getChildContent("Order[i]|OrderDetail[j]|Instrument[k]|symbolDescription");
                    orderAction = xml.getChildContent("Order[i]|OrderDetail[j]|Instrument[k]|orderAction");
                    quantityType = xml.getChildContent("Order[i]|OrderDetail[j]|Instrument[k]|quantityType");
                    orderedQuantity = xml.getChildIntValue("Order[i]|OrderDetail[j]|Instrument[k]|orderedQuantity");
                    filledQuantity = xml.getChildIntValue("Order[i]|OrderDetail[j]|Instrument[k]|filledQuantity");
                    averageExecutionPrice = xml.getChildContent("Order[i]|OrderDetail[j]|Instrument[k]|averageExecutionPrice");
                    estimatedCommission = xml.getChildContent("Order[i]|OrderDetail[j]|Instrument[k]|estimatedCommission");
                    estimatedFees = xml.getChildIntValue("Order[i]|OrderDetail[j]|Instrument[k]|estimatedFees");
                    k = k + 1;
                }

                netPrice = xml.getChildIntValue("Order[i]|OrderDetail[j]|netPrice");
                netBid = xml.getChildIntValue("Order[i]|OrderDetail[j]|netBid");
                netAsk = xml.getChildIntValue("Order[i]|OrderDetail[j]|netAsk");
                gcd = xml.getChildIntValue("Order[i]|OrderDetail[j]|gcd");
                orderNumber = xml.getChildIntValue("Order[i]|OrderDetail[j]|orderNumber");
                bracketedLimitPrice = xml.getChildIntValue("Order[i]|OrderDetail[j]|bracketedLimitPrice");
                initialStopPrice = xml.getChildContent("Order[i]|OrderDetail[j]|initialStopPrice");
                executedTime = xml.getChildContent("Order[i]|OrderDetail[j]|executedTime");
                j = j + 1;
            }

            totalOrderValue = xml.getChildContent("Order[i]|totalOrderValue");
            totalCommission = xml.getChildContent("Order[i]|totalCommission");
            i = i + 1;
        }

        System.out.println("Success.");
    }
}