Overview

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 an account’s orders

  • Available in Paper Trading
  • Available in Production
  • Available to Advisors
  • Supported

Retrieve orders placed within an account. Without additional parameters, this API will return orders placed for the market session of the present calendar day. You may also pass in pagination parameters, which will return all orders within the specified parameters.

Note: The session all filter should be used sparingly. If necessary you may step through 1-month intervals, however please refrain from making frequent requests for stale order data.
Caution: If your application polls against this endpoint requesting all orders, we may be forced to temporarily disable your access.
GET

Headers

Header Required Values/Example Default
Accept Optional application/xml, application/json application/xml
Authorization Required Bearer {token}

Parameters

Parameter Type Param Type Required Values/Example Default
account_id Path String Required VA000000
Account number
filter Query String Optional intraday or all intraday
Show orders based on session. `all` will return a maximum of 1 month of data.
page Query String Optional 3 1
Used for paginated results. Page to start results.
limit Query String Optional 100 25
Number of results to return per page.
date Query String Optional yyyy-mm-dd
Filter orders created on a specific date.
start Query String Optional yyyy-mm-dd One months prior to today.
Start date, applicable only with `all` filter
end Query String Optional yyyy-mm-dd End of current day
End date, applicable only with `all` filter

Code Example

If you're developing using a paper trading account, change the hostname to https://sandbox.tradier.com
curl -X GET "https://api.tradier.com/v1/accounts/{account_id}/orders?filter=intraday or all&page=3&limit=100&date=yyyy-mm-dd&start=yyyy-mm-dd&end=yyyy-mm-dd" \
     -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}/orders")
        .addHeader("Authorization", "Bearer <TOKEN>")
        .addHeader("Accept", "application/json")
        .addParameter("account_id", "VA000000")
        .addParameter("filter", "intraday or all")
        .addParameter("page", "3")
        .addParameter("limit", "100")
        .addParameter("date", "yyyy-mm-dd")
        .addParameter("start", "yyyy-mm-dd")
        .addParameter("end", "yyyy-mm-dd")
        .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}/orders?filter=intraday or all&page=3&limit=100&date=yyyy-mm-dd&start=yyyy-mm-dd&end=yyyy-mm-dd")

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}/orders?filter=intraday or all&page=3&limit=100&date=yyyy-mm-dd&start=yyyy-mm-dd&end=yyyy-mm-dd"

    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}/orders?filter=intraday or all&page=3&limit=100&date=yyyy-mm-dd&start=yyyy-mm-dd&end=yyyy-mm-dd");
    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}/orders',
    qs: {
       'filter': 'intraday or all',
       'page': '3',
       'limit': '100',
       'date': 'yyyy-mm-dd',
       'start': 'yyyy-mm-dd',
       'end': 'yyyy-mm-dd'
    },
    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}/orders',
    params={'filter': 'intraday or all', 'page': '3', 'limit': '100', 'date': 'yyyy-mm-dd', 'start': 'yyyy-mm-dd', 'end': 'yyyy-mm-dd'},
    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}/orders?filter=intraday or all&page=3&limit=100&date=yyyy-mm-dd&start=yyyy-mm-dd&end=yyyy-mm-dd');
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

Response Definition

{
  "orders": {
    "order": [
      {
        "id": 228175,
        "type": "limit",
        "symbol": "AAPL",
        "side": "buy",
        "quantity": 50.00000000,
        "status": "expired",
        "duration": "pre",
        "price": 22.0,
        "avg_fill_price": 0.00000000,
        "exec_quantity": 0.00000000,
        "last_fill_price": 0.00000000,
        "last_fill_quantity": 0.00000000,
        "remaining_quantity": 0.00000000,
        "create_date": "2018-06-01T12:02:29.682Z",
        "transaction_date": "2018-06-01T12:30:02.385Z",
        "class": "equity"
      },
      {
        "id": 228749,
        "type": "market",
        "symbol": "SPY",
        "side": "buy_to_open",
        "quantity": 1.00000000,
        "status": "expired",
        "duration": "pre",
        "avg_fill_price": 0.00000000,
        "exec_quantity": 0.00000000,
        "last_fill_price": 0.00000000,
        "last_fill_quantity": 0.00000000,
        "remaining_quantity": 0.00000000,
        "create_date": "2018-06-06T20:16:17.342Z",
        "transaction_date": "2018-06-06T20:16:17.357Z",
        "class": "option",
        "option_symbol": "SPY180720C00274000"
      },
      {
        "id": 229063,
        "type": "debit",
        "symbol": "SPY",
        "side": "buy",
        "quantity": 1.00000000,
        "status": "canceled",
        "duration": "pre",
        "price": 42.0,
        "avg_fill_price": 0.00,
        "exec_quantity": 0.00000000,
        "last_fill_price": 0.00000000,
        "last_fill_quantity": 0.00000000,
        "remaining_quantity": 0.00000000,
        "create_date": "2018-06-12T21:13:36.076Z",
        "transaction_date": "2018-06-12T21:18:41.604Z",
        "class": "combo",
        "num_legs": 2,
        "strategy": "covered call",
        "leg": [
          {
            "id": 229064,
            "type": "debit",
            "symbol": "SPY",
            "side": "buy",
            "quantity": 100.00000000,
            "status": "canceled",
            "duration": "pre",
            "price": 42.0,
            "avg_fill_price": 0.00000000,
            "exec_quantity": 0.00000000,
            "last_fill_price": 0.00000000,
            "last_fill_quantity": 0.00000000,
            "remaining_quantity": 0.00000000,
            "create_date": "2018-06-12T21:13:36.076Z",
            "transaction_date": "2018-06-12T21:18:41.587Z",
            "class": "equity"
          },
          {
            "id": 229065,
            "type": "debit",
            "symbol": "SPY",
            "side": "sell_to_close",
            "quantity": 1.00000000,
            "status": "canceled",
            "duration": "pre",
            "price": 42.0,
            "avg_fill_price": 0.00000000,
            "exec_quantity": 0.00000000,
            "last_fill_price": 0.00000000,
            "last_fill_quantity": 0.00000000,
            "remaining_quantity": 0.00000000,
            "create_date": "2018-06-12T21:13:36.076Z",
            "transaction_date": "2018-06-12T21:18:41.597Z",
            "class": "option",
            "option_symbol": "SPY180720C00274000"
          }
        ]
      },
      {
        "id": 229123,
        "type": "credit",
        "symbol": "SPY",
        "side": "buy",
        "quantity": 1.00000000,
        "status": "expired",
        "duration": "pre",
        "price": 0.8,
        "avg_fill_price": 0.00,
        "exec_quantity": 0.00000000,
        "last_fill_price": 0.00000000,
        "last_fill_quantity": 0.00000000,
        "remaining_quantity": 0.00000000,
        "create_date": "2018-06-13T16:54:39.812Z",
        "transaction_date": "2018-06-13T20:55:00.069Z",
        "class": "multileg",
        "num_legs": 4,
        "strategy": "condor",
        "leg": [
          {
            "id": 229124,
            "type": "credit",
            "symbol": "SPY",
            "side": "buy_to_open",
            "quantity": 1.00000000,
            "status": "expired",
            "duration": "pre",
            "price": 0.8,
            "avg_fill_price": 0.00000000,
            "exec_quantity": 0.00000000,
            "last_fill_price": 0.00000000,
            "last_fill_quantity": 0.00000000,
            "remaining_quantity": 0.00000000,
            "create_date": "2018-06-13T16:54:39.812Z",
            "transaction_date": "2018-06-13T20:55:00.069Z",
            "class": "option",
            "option_symbol": "SPY180720C00274000"
          },
          {
            "id": 229125,
            "type": "credit",
            "symbol": "SPY",
            "side": "sell_to_open",
            "quantity": 1.00000000,
            "status": "expired",
            "duration": "pre",
            "price": 0.8,
            "avg_fill_price": 0.00000000,
            "exec_quantity": 0.00000000,
            "last_fill_price": 0.00000000,
            "last_fill_quantity": 0.00000000,
            "remaining_quantity": 0.00000000,
            "create_date": "2018-06-13T16:54:39.812Z",
            "transaction_date": "2018-06-13T20:55:00.069Z",
            "class": "option",
            "option_symbol": "SPY180720C00275000"
          },
          {
            "id": 229126,
            "type": "credit",
            "symbol": "SPY",
            "side": "sell_to_open",
            "quantity": 1.00000000,
            "status": "expired",
            "duration": "pre",
            "price": 0.8,
            "avg_fill_price": 0.00000000,
            "exec_quantity": 0.00000000,
            "last_fill_price": 0.00000000,
            "last_fill_quantity": 0.00000000,
            "remaining_quantity": 0.00000000,
            "create_date": "2018-06-13T16:54:39.812Z",
            "transaction_date": "2018-06-13T20:55:00.069Z",
            "class": "option",
            "option_symbol": "SPY180720C00276000"
          },
          {
            "id": 229127,
            "type": "credit",
            "symbol": "SPY",
            "side": "buy_to_open",
            "quantity": 1.00000000,
            "status": "expired",
            "duration": "pre",
            "price": 0.8,
            "avg_fill_price": 0.00000000,
            "exec_quantity": 0.00000000,
            "last_fill_price": 0.00000000,
            "last_fill_quantity": 0.00000000,
            "remaining_quantity": 0.00000000,
            "create_date": "2018-06-13T16:54:39.812Z",
            "transaction_date": "2018-06-13T20:55:00.069Z",
            "class": "option",
            "option_symbol": "SPY180720C00277000"
          }
        ]
      }
    ]
  }
}