Overview
Retrieve a list of transactions for a specified account.
Description

This API returns a list of transactions (such as deposits, withdrawals, and transfers) for a single, specified account. The request can specify start and end dates, going back as much as two years, and the maximum number of transactions to return. Results can be filtered by:

  • a single transaction type (e.g., check, dividend, transfer)
  • a group of related transaction types - deposits, withdrawals, or trades
  • within a group (e.g., deposits), a list of transaction types (e.g., dividend & interest)
  • within the trades group:
  • one or all asset types - equities, options, money market, mutual funds, or bonds
  • within a single asset type, a single ticker symbol

Since an account history may contain a large number of transactions, the API allows you to page through them in groups by specifying how many to return at a time (the count) and the starting point for each successive group (the marker).

URL
https://etws.etrade.com/accounts/rest/{accountId}/transactions
HTTP Method: GET
Request Parameters

The only required parameter is the account ID. By default the API returns a maximum of 50 transactions for the specified account, going back thirty days, and all transaction types are included.

The request parameters and transaction types are shown below, followed by example queries.

Request parameters
Parameter Type Required? Description
accountId path required Numeric account ID. This is the only required parameter.
group path optional Major groupings of the transaction types defined in the Transaction types table below. Possible values are: DEPOSITS, WITHDRAWALS, TRADES.
assetType path   Only allowed if group is TRADES. Possible values are: EQ (equities), OPTN (options), MMF (money market funds), MF (mutual funds), BOND (bonds). To retrieve all types, use ALL or omit this parameter.
transactionType path   Transaction type(s) to include, e.g., check, deposit, fee, dividend, etc. A list of types is provided in the Transaction types table below. If a group is specified, this can be a comma-separated list of valid types for the group. Otherwise, only one type is accepted.
tickerSymbol path   Only allowed if group is TRADES. A single market symbol, e.g., GOOG.
fromDate string   The earliest date to include in the date range, formatted as MMDDYYYY. History is available for two years.
toDate string   The latest date to include in the date range, formatted as MMDDYYYY.
count integer   Number of transactions to return in the response. If not specified, defaults to 50. Used for paging as described in the Notes below.
marker integer   Specifies the desired starting point of the set of items to return. Used for paging as described in the Notes below.
Transaction types
Most transaction types are members of groups: trades (T), deposits (D), and withdrawals (W), as shown in the table below. Exceptions are corporate actions, currency exchange transactions, and sweep deposits.
Type Group Description
assignment T A balance adjustment as the result of another party exercising an option. For a definition of assignments, refer to the E*TRADE online glossary.
atm D, W Service charge from automated teller machines
check D, W Check deposit or withdrawal
corporate_actions   Split, merger, or acquisition
contribution D, W Money put into retirement fund
currency_xch   Currency exchange
debit W List of transactions that decrease assets
deposit D List of transactions that Increase assets
direct_debit W Decrease of assets
direct_deposit D Increase of assets
distribution D, W Money taken out of retirement fund
dividend D Dividend paid
exercise T A balance adjustment as the result of exercising an option
expiration T The date on which an option, right, or warrant expires and becomes worthless if not exercised. Also, the date on which an agreement is no longer in effect.
fee W Service fees
interest D Interest charged
pos D, W Point of sale debit
sweep   Sweep deposit
transfer D, W Cash transfer (in or out)
wire D, W Cash wire (in or out)
Sample Requests

Below are some examples of queries to demonstrate the API syntax. The path parameters, if used, appear in the order shown here:

https://etws.etrade.com/accounts/rest/{accountId}/transactions/{Group}/{AssetType}/{TransactionType}/{TickerSymbol}{.json}

 

List all deposits for the last 30 days, up to 50 transactions:

https://etws.etrade.com/accounts/rest/83405188/transactions/DEPOSITS

 

All deposits for the year 2011, up to 25 transactions:

https://etws.etrade.com/accounts/rest/83405188/transactions/DEPOSITS?fromDate=01012011&toDate=12312011&count=25

 

The next 25 deposit transactions (URL received as part of preceding response):

https://etws.etrade.com/accounts/rest/83405188/transactions/DEPOSITS.json?fromDate=01012011&toDate=12212011&count=25&marker=345678

 

From the withdrawals group, just the ATM fees and service fees:

https://etws.etrade.com/accounts/rest/83405188/transactions/WITHDRAWALS/ATM,fee.json

 

From the trades group, all transactions for Google:

https://etws.etrade.com/accounts/rest/83405188/transactions/TRADES/OPTN/ALL/GOOG

 

Just the assignment and exercise transactions for Google options:

https://etws.etrade.com/accounts/rest/83405188/transactions/TRADES/OPTN/ASSIGNMENT,EXERCISE/GOOG

 

All checking deposits and withdrawals:

https://etws.etrade.com/accounts/rest/83405188/transactions/TRADES/EQ/
Response Properties
Property Type Description
count integer Number of transactions returned in this response
next string URL to fetch the next set of transactions ("page") in this series, if there is one. Empty if there are no more transactions to retrieve.
transaction complex Container for the elements of a transaction, shown next. The number of these transaction containers is reflected in the count. Appears if there is at least one transaction that meets the requirements.
transactionId long Numeric transaction ID
transactionDate long Date and time in epoch time
transactionShortDesc string Brief description of transaction type, e.g., "Adjustment", "Interest", "Transfer", "Wire", "Contribution", "Fee", "Option Assignment", "Option Expiration", "Option Exercise", "Bought", "Bought To Open", "Sold", etc.
description string One-line description of transaction
amount double Amount of transaction in dollars, or 0.00 if not applicable
details string URL to request the details of this transaction, as described in the Get Transaction Details API
Sample Response - XML
<transactions>
  <accountId>83405188</accountId>
  <count>2</count>
  <next></next>
  <transaction>
    <transactionId>345678</transactionId>
    <transactionDate>1266519026</transactionDate>
    <transactionShortDesc>Bought</transactionShortDesc>
    <description>10 of AAPL @ $3.00 (Order #141)</description>
    <amount>-39.99</amount>
    <details>
    https://etws.etrade.com/accounts/sandbox/rest/83405188/transactions/345678
    </details>
  </transaction>
  <transaction>
    <transactionId>345678</transactionId>
    <transactionDate>1266519024</transactionDate>
    <transactionShortDesc>Sold</transactionShortDesc>
    <description>1 of KO @ $100.00 (Order #142)</description>
    <amount>90.00</amount>
    <details>
    https://etws.etrade.com/accounts/sandbox/rest/83405188/transactions/345678
    </details>
  </transaction>
</transactions>
Sample Response - JSON
{
  "transactions": {
    "accountId": "83405188",
    "count": "2",
    "transaction": [
      {
        "transactionId": "345678",
        "transactionDate": "1266519026",
        "transactionShortDesc": "Bought",
        "description": "10 of AAPL @ $3.00 (Order #141)",
        "amount": "-39.99",
        "details": "https://etws.etrade.com/accounts/sandbox/rest/83405188/transactions/345678"
      },
      {
        "transactionId": "345678",
        "transactionDate": "1266519024",
        "transactionShortDesc": "Sold",
        "description": "1 of KO @ $100.00 (Order #142)",
        "amount": "90.00",
        "details": "https://etws.etrade.com/accounts/sandbox/rest/83405188/transactions/345678"
      }
    ]
  }
}
Notes
  • To page through a large number of items, use the count property to specify how many items to return in a group (the default is 50), and the marker property to specify the starting point. A request with no count and no marker retrieves the most recent 50 transactions. The next URL provided in the response retrieves the next set of transactions in the series, using the transaction ID of the last transaction as the marker. To page through all the items, repeat the request with the marker from each previous response until you receive a response with a count less than the one you specified, indicating that there are no more items.
  • The API does not explicitly provide for bi-directional paging. Your application can support paging backward and forward either by saving and re-using markers within the series (that is, re-issuing the requests for pages that are earlier in the series), or saving the items returned and re-displaying them from the local copy if desired.
Sample use cases
Some possible use cases and workflows are described below.
Purpose Workflow Related APIs
Transaction history For a selected account, display basic account info, current balances, and a paged history of transactions for the account. Allow the user to filter the history with criteria such as date range, symbol, or transaction type. Get Transaction History, List Accounts, Get Account Balance
Transaction details When the user selects a transaction from a list of transactions, the details of the transaction are displayed along with supporting information such as basic account information and a description of any securities involved. Get Transaction History, Get Transaction Details, List Accounts, Look Up Product
Sandbox Samples
Request 1 - Basic listing of transactions

No filter except account ID. A maximum of 10 records is requested.

GET https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions?count=10
Response 1

In this response, a count of 10 items is returned, plus a next URL that can be used for retrieving the next 10 items. Notice that, in the next URL, the marker is the transaction ID of the last transaction received in this. You can use the provided next URL, or construct your own custom URL by using the last transaction ID as a marker.

<transactions>
  <accountId>83405188</accountId>
  <count>10</count>
  <next>
https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions?count=10&marker=345687
  </next>
  <transaction>
    <transactionId>345678</transactionId>
    <transactionDate>1266519026</transactionDate>
    <transactionShortDesc>Bought</transactionShortDesc>
    <description>10 of AAPL @ $3.00 (Order #141)</description>
    <amount>-39.99</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/345678
    </details>
  </transaction>
  <transaction>
    <transactionId>345679</transactionId>
    <transactionDate>1266519024</transactionDate>
    <transactionShortDesc>Sold</transactionShortDesc>
    <description>1 of KO @ $100.00 (Order #142)</description>
    <amount>90.00</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/345679
    </details>
  </transaction>
  <transaction>
    <transactionId>345680</transactionId>
    <transactionDate>1266517024</transactionDate>
    <transactionShortDesc>Bought To Open</transactionShortDesc>
    <description>1 IBM Jan 19 '13 $205 Call(IBM) @ $10.10</description>
    <amount>-1012.75</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/345680
    </details>
  </transaction>
  <transaction>
    <transactionId>345681</transactionId>
    <transactionDate>1266519026</transactionDate>
    <transactionShortDesc>Bought</transactionShortDesc>
    <description>10 of AAPL bonds</description>
    <amount>-39.99</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/345681
    </details>
  </transaction>
  <transaction>
    <transactionId>345682</transactionId>
    <transactionDate>1266519024</transactionDate>
    <transactionShortDesc>Sold</transactionShortDesc>
    <description>1 of KO bonds</description>
    <amount>90.00</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/345682
    </details>
  </transaction>
  <transaction>
    <transactionId>345683</transactionId>
    <transactionDate>1266519026</transactionDate>
    <transactionShortDesc>Bought</transactionShortDesc>
    <description>10 of AAPL Mutual funds</description>
    <amount>-39.99</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/345683
    </details>
  </transaction>
  <transaction>
    <transactionId>345684</transactionId>
    <transactionDate>1266519024</transactionDate>
    <transactionShortDesc>Sold</transactionShortDesc>
    <description>1 of KO Mutual funds</description>
    <amount>90.00</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/345684
    </details>
  </transaction>
  <transaction>
    <transactionId>345685</transactionId>
    <transactionDate>1266519026</transactionDate>
    <transactionShortDesc>Bought</transactionShortDesc>
    <description>10 of AAPL money market funds</description>
    <amount>-39.99</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/345685
    </details>
  </transaction>
  <transaction>
    <transactionId>345686</transactionId>
    <transactionDate>1266519024</transactionDate>
    <transactionShortDesc>Sold</transactionShortDesc>
    <description>1 of KO money market funds</description>
    <amount>90.00</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/345686
    </details>
  </transaction>
  <transaction>
    <transactionId>345687</transactionId>
    <transactionDate>1266517024</transactionDate>
    <transactionShortDesc>Option Expiration</transactionShortDesc>
    <description>1 IBM Expiration</description>
    <amount>0</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/345687
    </details>
  </transaction>
</transactions>
Request 2 - Deposits for single date
GET https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/DEPOSITS?fromDate=02182010&toDate=02182010
Response 2

In this response, the count is 10 and the next element is empty. Based on this, we infer that there were 10 deposits on this date.

<transactions>
  <accountId>83405188</accountId>
  <count>10</count>
  <next></next>
  <transaction>
    <transactionId>123456</transactionId>
    <transactionDate>1266518024</transactionDate>
    <transactionShortDesc>Check</transactionShortDesc>
    <description>Deposited check $100</description>
    <amount>100</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/123456
    </details>  
  </transaction>
  <transaction>
    <transactionId>123456</transactionId>
    <transactionDate>1266518024</transactionDate>
    <transactionShortDesc>Contribution</transactionShortDesc>
    <description>Deposited $100 contribution</description>
    <amount>100</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/123456
    </details>  
  </transaction>
  <transaction>
    <transactionId>123456</transactionId>
    <transactionDate>1266518024</transactionDate>
    <transactionShortDesc>Direct Deposit</transactionShortDesc>
    <description>Deposited $100 direct deposit</description>
    <amount>100</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/123456
    </details>  
  </transaction>
  <transaction>
    <transactionId>123456</transactionId>
    <transactionDate>1266518024</transactionDate>
    <transactionShortDesc>Deposit</transactionShortDesc>
    <description>Deposited $100 deposit</description>
    <amount>100</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/123456
    </details>  
  </transaction>
  <transaction>
    <transactionId>123456</transactionId>
    <transactionDate>1266518024</transactionDate>
    <transactionShortDesc>Distribution</transactionShortDesc>
    <description>Deposited $100 Distribution</description>
    <amount>100</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/123456
    </details>  
  </transaction>
  <transaction>
    <transactionId>123456</transactionId>
    <transactionDate>1266518024</transactionDate>
    <transactionShortDesc>Dividend</transactionShortDesc>
    <description>Deposited $100 Dividend</description>
    <amount>100</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/123456
    </details>  
  </transaction>
  <transaction>
    <transactionId>123456</transactionId>
    <transactionDate>1266518024</transactionDate>
    <transactionShortDesc>Pos</transactionShortDesc>
    <description>Deposited $100 pos</description>
    <amount>100</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/123456
    </details>  
  </transaction>
  <transaction>
    <transactionId>123456</transactionId>
    <transactionDate>1266518024</transactionDate>
    <transactionShortDesc>Interest</transactionShortDesc>
    <description>Deposited $100 Interest</description>
    <amount>100</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/123456
    </details>  
  </transaction>
  <transaction>
    <transactionId>123456</transactionId>
    <transactionDate>1266518024</transactionDate>
    <transactionShortDesc>Transfer</transactionShortDesc>
    <description>TEST</description>
    <amount>100</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/123456
    </details>  
  </transaction>
  <transaction>
    <transactionId>123456</transactionId>
    <transactionDate>1266518024</transactionDate>
    <transactionShortDesc>Wire</transactionShortDesc>
    <description>Deposited $100 Wire</description>
    <amount>100</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/123456
    </details>  
  </transaction>
</transactions>
Request 3 - Selected transaction types from a single group
GET https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/WITHDRAWALS/CHECK,CONTRIBUTION,DIRECT_DEBIT,DISTRIBUTINO,FEE,POS,TRANSFER,WIRE
Response 3
<transactions>
  <accountId>83405188</accountId>
  <count>8</count>
  <next></next>
  <transaction>
    <transactionId>234567</transactionId>
    <transactionDate>1266518024</transactionDate>
    <transactionShortDesc>Check</transactionShortDesc>
    <description>Withdrew  $100 Check</description>
    <amount>-100</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/234567
    </details>
  </transaction>
  <transaction>
    <transactionId>234567</transactionId>
    <transactionDate>1266518024</transactionDate>
    <transactionShortDesc>Contribution</transactionShortDesc>
    <description>Withdrew  $100 contribution</description>
    <amount>-100</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/234567
    </details>
  </transaction>
  <transaction>
    <transactionId>234567</transactionId>
    <transactionDate>1266518024</transactionDate>
    <transactionShortDesc>Withdrawal direct debit</transactionShortDesc>
    <description>Withdrew  $100 direct debit</description>
    <amount>100</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/234567
    </details>
  </transaction>
  <transaction>
    <transactionId>234567</transactionId>
    <transactionDate>1266518024</transactionDate>
    <transactionShortDesc>Distribution</transactionShortDesc>
    <description>Withdrew  $100 distribution</description>
    <amount>-100</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/234567
    </details>
  </transaction>
  <transaction>
    <transactionId>234567</transactionId>
    <transactionDate>1266518024</transactionDate>
    <transactionShortDesc>Fee</transactionShortDesc>
    <description>Subscription:                 Pro Dec 11</description>
    <amount>-54.81</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/234567
    </details>
  </transaction>
  <transaction>
    <transactionId>234567</transactionId>
    <transactionDate>1266518024</transactionDate>
    <transactionShortDesc>Pos</transactionShortDesc>
    <description>Withdrew  $100 pos</description>
    <amount>-100</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/234567
    </details>
  </transaction>
  <transaction>
    <transactionId>234567</transactionId>
    <transactionDate>1266518024</transactionDate>
    <transactionShortDesc>Transfer</transactionShortDesc>
    <description>TRANSFER TO XXXX0940-1        REFID:140230935;</description>
    <amount>-100</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/234567
    </details>
  </transaction>
  <transaction>
    <transactionId>234567</transactionId>
    <transactionDate>1266518024</transactionDate>
    <transactionShortDesc>Wire</transactionShortDesc>
    <description>Withdrew  $100 wire</description>
    <amount>-100</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/234567
    </details>
  </transaction>
</transactions>
Request 4 - All trades for one asset type and security

This example requests a JSON response by adding ".json" at the end of the path.

GET https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/TRADES/EQ/AAPL.json
Response 4
{
  "transactions": {
    "accountId": "83405188",
    "count": "1",
    "transaction": {
      "transactionId": "345678",
      "transactionDate": "1266519026",
      "transactionShortDesc": "Bought",
      "description": "10 of AAPL @ $3.00 (Order #141)",
      "amount": "-39.99",
      "details": "
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/345678
    "
    }
  }
}
Request 5 - All trades for all asset types for one security
GET https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/TRADES/ALL/GOOG
Response 5
<transactions>
  <accountId>83405188</accountId>
  <count>1</count>
  <next></next>
  <transaction>
    <transactionId>345678</transactionId>
    <transactionDate>1266517024</transactionDate>
    <transactionShortDesc>Bought To Open</transactionShortDesc>
    <description>1 IBM Jan 19 '13 $205 Call(IBM) @ $10.10</description>
    <amount>-1012.75</amount>
    <details>
    https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/345678
    </details>
  </transaction>
</transactions>
Request 6 - Checking account deposits and withdrawals

Lists checking transactions for this account - both deposits and withdrawals. This example requests a JSON response by adding ".json" at the end of the path.

GET https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/CHECK.json?fromDate=01012011&toDate=12312011
Response 6
{
  "transactions": {
    "accountId": "83405188",
    "count": "2",
    "transaction": [
      {
        "transactionId": "123456",
        "transactionDate": "1266518024",
        "transactionShortDesc": "Check",
        "description": "Deposited check $100",
        "amount": "100",
        "details": "https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/123456"
      },
      {
        "transactionId": "234567",
        "transactionDate": "1266518024",
        "transactionShortDesc": "Check",
        "description": "Withdrew  $100 Check",
        "amount": "-100",
        "details": "https://etwssandbox.etrade.com/accounts/sandbox/rest/83405188/transactions/234567"
      }
    ]
  }
}
Related APIs
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.