Sample code for 30+ languages & platforms
Java

ETrade List Transactions

See more ETrade Examples

Gets transactions for the selected brokerage account.

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}/transactions";
        String liveUrl = "https://api.etrade.com/v1/accounts/{$accountIdKey}/transactions";

        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"?>
        // <TransactionListResponse>
        //    <Transaction>
        //       <transactionId>18165100001766</transactionId>
        //       <accountId>83564979</accountId>
        //       <transactionDate>1528948800000</transactionDate>
        //       <postDate>1528948800000</postDate>
        //       <amount>-2</amount>
        //       <description>ACH WITHDRAWL REFID:109187276;</description>
        //       <description2>109187276</description2>
        //       <transactionType>Transfer</transactionType>
        //       <memo />
        //       <imageFlag>false</imageFlag>
        //       <instType>BROKERAGE</instType>
        //       <brokerage>
        //          <product />
        //          <quantity>0</quantity>
        //          <price>0</price>
        //          <settlementCurrency>USD</settlementCurrency>
        //          <paymentCurrency>USD</paymentCurrency>
        //          <fee>0</fee>
        //          <settlementDate>1528948800000</settlementDate>
        //       </brokerage>
        //       <detailsURI>https://api.etrade.com/v1/accounts/yIFaUoJ81qyAhgxLWRQ42g/transactions/18165100001766</detailsURI>
        //    </Transaction>
        //    <Transaction>
        //       <transactionId>18158100000983</transactionId>
        //       <accountId>83564979</accountId>
        //       <transactionDate>1528344000000</transactionDate>
        //       <postDate>1528344000000</postDate>
        //       <amount>-2</amount>
        //       <description>ACH WITHDRAWL REFID:98655276;</description>
        //       <description2>98655276</description2>
        //       <transactionType>Transfer</transactionType>
        //       <memo />
        //       <imageFlag>false</imageFlag>
        //       <instType>BROKERAGE</instType>
        //       <brokerage>
        //          <product />
        //          <quantity>0</quantity>
        //          <price>0</price>
        //          <settlementCurrency>USD</settlementCurrency>
        //          <paymentCurrency>USD</paymentCurrency>
        //          <fee>0</fee>
        //          <settlementDate>1528344000000</settlementDate>
        //       </brokerage>
        //       <detailsURI>https://api.etrade.com/v1/accounts/yIFaUoJ81qyAhgxLWRQ42g/transactions/18158100000983</detailsURI>
        //    </Transaction>
        //    <pageMarkers>eNpTsAlITE91zi%2FNK%2FHMc04syi8tTs2xM7TRxybMpWATkl%2BSmBOUmpxflAKWtTO10ccQg6mDmwEyEE0EqAbE8SvNTUotCk4tLE3NS061M9Ax0DEEYgOIA9BkuRQgmjxTfDKLQUYoQAV8E4uyU4vsDC0MzUwNDYDA0NzMrKamBmIKVJYLphpiKsyTUB7IbH1kwwFa7F0D</pageMarkers>
        //    <moreTransactions>false</moreTransactions>
        //    <transactionCount>5</transactionCount>
        //    <totalCount>5</totalCount>
        // </TransactionListResponse>

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

        String transactionId = "";
        int accountId = 0;
        String transactionDate = "";
        String postDate = "";
        int amount = 0;
        String description = "";
        int description2 = 0;
        String transactionType = "";
        String imageFlag = "";
        String instType = "";
        int quantity = 0;
        int price = 0;
        String settlementCurrency = "";
        String paymentCurrency = "";
        int fee = 0;
        String settlementDate = "";
        String detailsURI = "";

        int i = 0;
        int count_i = xml.numChildrenHavingTag("Transaction");
        while (i < count_i) {
            xml.setI(i);
            transactionId = xml.getChildContent("Transaction[i]|transactionId");
            accountId = xml.getChildIntValue("Transaction[i]|accountId");
            transactionDate = xml.getChildContent("Transaction[i]|transactionDate");
            postDate = xml.getChildContent("Transaction[i]|postDate");
            amount = xml.getChildIntValue("Transaction[i]|amount");
            description = xml.getChildContent("Transaction[i]|description");
            description2 = xml.getChildIntValue("Transaction[i]|description2");
            transactionType = xml.getChildContent("Transaction[i]|transactionType");
            imageFlag = xml.getChildContent("Transaction[i]|imageFlag");
            instType = xml.getChildContent("Transaction[i]|instType");
            quantity = xml.getChildIntValue("Transaction[i]|brokerage|quantity");
            price = xml.getChildIntValue("Transaction[i]|brokerage|price");
            settlementCurrency = xml.getChildContent("Transaction[i]|brokerage|settlementCurrency");
            paymentCurrency = xml.getChildContent("Transaction[i]|brokerage|paymentCurrency");
            fee = xml.getChildIntValue("Transaction[i]|brokerage|fee");
            settlementDate = xml.getChildContent("Transaction[i]|brokerage|settlementDate");
            detailsURI = xml.getChildContent("Transaction[i]|detailsURI");
            i = i + 1;
        }

        String pageMarkers = xml.getChildContent("pageMarkers");
        String moreTransactions = xml.getChildContent("moreTransactions");
        int transactionCount = xml.getChildIntValue("transactionCount");
        int totalCount = xml.getChildIntValue("totalCount");

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