Details about how to obtain access tokens using OAuth 2.0
Fetch positions, balances and other account related details.
Place equity and complex option trades including advanced orders.
Fetch quotes, chains and historical data via REST and streaming APIs.
Stream market data and account events in real-time.
Create and update custom watchlists.
Examples, response types, property details and explanations.
Get historical activity for an account. This data originates with our clearing firm and inherently has a few limitations:
https://sandbox.tradier.com
curl -X GET "https://api.tradier.com/v1/accounts/{account_id}/history?page=3&limit=100&type=trade, option, ach, wire, dividend, fee, tax, journal, check, transfer, adjustment, interest&start=yyyy-mm-dd&end=yyyy-mm-dd&symbol=SPY&exactMatch=true" \ -H 'Authorization: Bearer <TOKEN>' \ -H 'Accept: application/json'
// Version 1.8.0_31 import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpUriRequest; import org.apache.http.client.methods.RequestBuilder; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.util.EntityUtils; import java.io.IOException; public class MainClass { public static void main(String[] args) throws IOException { final HttpUriRequest request = RequestBuilder .get("https://api.tradier.com/v1/accounts/{account_id}/history") .addHeader("Authorization", "Bearer <TOKEN>") .addHeader("Accept", "application/json") .addParameter("account_id", "VA000000") .addParameter("page", "3") .addParameter("limit", "100") .addParameter("type", "trade, option, ach, wire, dividend, fee, tax, journal, check, transfer, adjustment, interest") .addParameter("start", "yyyy-mm-dd") .addParameter("end", "yyyy-mm-dd") .addParameter("symbol", "SPY") .addParameter("exactMatch", "true") .build(); final HttpResponse response = HttpClientBuilder.create().build().execute(request); final String jsonString = EntityUtils.toString(response.getEntity()); final JsonNode json = new ObjectMapper().readTree(jsonString); System.out.println(response.getStatusLine().getStatusCode()); System.out.println(json); } }
# Version 2.5.0p0 require 'uri' require 'net/http' url = URI("https://api.tradier.com/v1/accounts/{account_id}/history?page=3&limit=100&type=trade, option, ach, wire, dividend, fee, tax, journal, check, transfer, adjustment, interest&start=yyyy-mm-dd&end=yyyy-mm-dd&symbol=SPY&exactMatch=true") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = 'Bearer <TOKEN>' request["Accept"] = 'application/json' response = http.request(request) puts response.code puts response.read_body
// Version go1.12 package main import ( "fmt" "net/http" "net/url" "io/ioutil" "log" ) func main() { apiUrl := "https://api.tradier.com/v1/accounts/{account_id}/history?page=3&limit=100&type=trade, option, ach, wire, dividend, fee, tax, journal, check, transfer, adjustment, interest&start=yyyy-mm-dd&end=yyyy-mm-dd&symbol=SPY&exactMatch=true" u, _ := url.ParseRequestURI(apiUrl) urlStr := u.String() client := &http.Client{} r, _ := http.NewRequest("GET", urlStr, nil) r.Header.Add("Authorization", "Bearer <TOKEN>") r.Header.Add("Accept", "application/json") resp, _ := client.Do(r) responseData, err := ioutil.ReadAll(resp.Body) if err != nil { log.Fatal(err) } fmt.Println(resp.Status) fmt.Println(string(responseData)) }
// Version 4.6.2.0 using System; using System.Net; using System.IO; using System.Text; public class MainClass { public static void Main (string[] args) { var request = (HttpWebRequest)WebRequest.Create("https://api.tradier.com/v1/accounts/{account_id}/history?page=3&limit=100&type=trade, option, ach, wire, dividend, fee, tax, journal, check, transfer, adjustment, interest&start=yyyy-mm-dd&end=yyyy-mm-dd&symbol=SPY&exactMatch=true"); request.Method = "GET"; request.Headers["Authorization"] = "Bearer <TOKEN>"; request.Accept = "application/json"; var response = (HttpWebResponse)request.GetResponse(); Console.WriteLine (response.StatusCode); var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); Console.WriteLine (responseString); } }
// Version 10.15.2 const request = require('request'); request({ method: 'get', url: 'https://api.tradier.com/v1/accounts/{account_id}/history', qs: { 'page': '3', 'limit': '100', 'type': 'trade, option, ach, wire, dividend, fee, tax, journal, check, transfer, adjustment, interest', 'start': 'yyyy-mm-dd', 'end': 'yyyy-mm-dd', 'symbol': 'SPY', 'exactMatch': 'true' }, headers: { 'Authorization': 'Bearer <TOKEN>', 'Accept': 'application/json' } }, (error, response, body) => { console.log(response.statusCode); console.log(body); });
# Version 3.6.1 import requests response = requests.get('https://api.tradier.com/v1/accounts/{account_id}/history', params={'page': '3', 'limit': '100', 'type': 'trade, option, ach, wire, dividend, fee, tax, journal, check, transfer, adjustment, interest', 'start': 'yyyy-mm-dd', 'end': 'yyyy-mm-dd', 'symbol': 'SPY', 'exactMatch': 'true'}, headers={'Authorization': 'Bearer <TOKEN>', 'Accept': 'application/json'} ) json_response = response.json() print(response.status_code) print(json_response)
<?php // Version 7.2.17-0ubuntu0.18.04.1 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://api.tradier.com/v1/accounts/{account_id}/history?page=3&limit=100&type=trade, option, ach, wire, dividend, fee, tax, journal, check, transfer, adjustment, interest&start=yyyy-mm-dd&end=yyyy-mm-dd&symbol=SPY&exactMatch=true'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); $headers = array(); $headers[] = 'Authorization: Bearer <TOKEN>'; $headers[] = 'Accept: application/json'; curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $result = curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); if (curl_errno($ch)) { echo 'Error:' . curl_error($ch); } curl_close ($ch); echo $http_code; echo $result;
Response Definition
{ "history": { "event": [ { "amount": 10.06, "date": "2018-10-31T00:00:00Z", "type": "trade", "trade": { "commission": 0.0000000000, "description": "GENERAL ELECTRIC COMPANY", "price": 10.060000, "quantity": -1.00000000, "symbol": "GE", "trade_type": "Equity" } }, { "amount": 0.12, "date": "2018-10-25T00:00:00Z", "type": "dividend", "adjustment": { "description": "GENERAL ELECTRIC COMPANY", "quantity": 0.00000000 } }, { "amount": 0, "date": "2018-09-21T00:00:00Z", "type": "option", "option": { "option_type": "OPTEXP", "description": "Expired", "quantity": -1.00000000 } }, { "amount": -13.05, "date": "2018-06-19T00:00:00Z", "type": "trade", "trade": { "commission": 0.0000000000, "description": "GENERAL ELECTRIC COMPANY", "price": 13.050000, "quantity": 1.00000000, "symbol": "GE", "trade_type": "Equity" } }, { "amount": -129.05, "date": "2018-05-23T00:00:00Z", "type": "trade", "trade": { "commission": 0.0000000000, "description": "CALL GE 06\/22\/18 14", "price": 1.290000, "quantity": 1.00000000, "symbol": "GE180622C00014000", "trade_type": "Option" } }, { "amount": -51.05, "date": "2018-05-23T00:00:00Z", "type": "trade", "trade": { "commission": 0.0000000000, "description": "CALL GE 06\/22\/18 15", "price": 0.510000, "quantity": 1.00000000, "symbol": "GE180622C00015000", "trade_type": "Option" } }, { "amount": 99.95, "date": "2018-05-23T00:00:00Z", "type": "trade", "trade": { "commission": 0.0000000000, "description": "CALL GE 06\/22\/18 14", "price": 1.000000, "quantity": -1.00000000, "symbol": "GE180622C00014000", "trade_type": "Option" } }, { "amount": -3000.00, "date": "2018-05-23T00:00:00Z", "type": "journal", "journal": { "description": "6YA-00005 TO 6YA-00102", "quantity": 0.00000000 } }, { "amount": 187.82, "date": "2018-05-21T00:00:00Z", "type": "trade", "trade": { "commission": 0.0000000000, "description": "APPLE INC", "price": 187.820100, "quantity": -1.00000000, "symbol": "AAPL", "trade_type": "Equity" } }, { "amount": 2500.00, "date": "2018-05-11T00:00:00Z", "type": "journal", "journal": { "description": "TFR FROM ACCT VA-00000-0", "quantity": 0.00000000 } }, { "amount": -79.09, "date": "2018-04-19T00:00:00Z", "type": "trade", "trade": { "commission": 0.0000000000, "description": "EXXON MOBIL CORP", "price": 79.090000, "quantity": 1.00000000, "symbol": "XOM", "trade_type": "Equity" } }, { "amount": 0, "date": "2017-07-19T00:00:00Z", "type": "option", "option": { "option_type": "expiration", "description": "Expired", "quantity": -2.00000000 } } ] } }