Get a user’s balances

  • Available in Sandbox
  • Available in Production
  • Available to Advisors
  • Supported

Get balance information for each of a user’s accounts. Account balances are calculated on each request during market hours. Each night, balance figures are reconciled with our clearing firm and used as starting point for the following market session.

This call should be used when information is required across multiple accounts, as opposed to making multiple account-based calls.

GET

Headers

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

Code Example

If you're developing in the sandbox, change the hostname to https://sandbox.tradier.com
curl -X GET "https://api.tradier.com/v1/user/balances" \
     -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/user/balances")
        .addHeader("Authorization", "Bearer <TOKEN>")
        .addHeader("Accept", "application/json")
        
        .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/user/balances")

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/user/balances"

    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/user/balances");
    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/user/balances',
    qs: {
      
    },
    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/user/balances',
    params={},
    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/user/balances');
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

{
  "accounts": {
    "account": [
      {
        "balances": {
          "option_short_value": 0,
          "total_equity": 0,
          "account_number": "VA000000",
          "account_type": "cash",
          "close_pl": 0,
          "current_requirement": 0,
          "equity": 0,
          "long_market_value": 0,
          "market_value": 0,
          "open_pl": 0,
          "option_long_value": 0,
          "option_requirement": 0,
          "pending_orders_count": 0,
          "short_market_value": 0,
          "stock_long_value": 0,
          "total_cash": 0,
          "uncleared_funds": 0,
          "pending_cash": 0,
          "cash": {
            "cash_available": 0.00000000,
            "sweep": 0,
            "unsettled_funds": 0
          }
        },
        "account_number": "VA000000"
      },
      {
        "balances": {
          "option_short_value": 0,
          "total_equity": 2302.47000000,
          "account_number": "TBI0000000",
          "account_type": "margin",
          "close_pl": 0,
          "current_requirement": 0,
          "equity": 0,
          "long_market_value": 0,
          "market_value": 0,
          "open_pl": 0,
          "option_long_value": 0,
          "option_requirement": 0,
          "pending_orders_count": 0,
          "short_market_value": 0,
          "stock_long_value": 0,
          "total_cash": 2302.47000000,
          "uncleared_funds": 0,
          "pending_cash": 0,
          "margin": {
            "fed_call": 0,
            "maintenance_call": 0,
            "option_buying_power": 2302.47000000,
            "stock_buying_power": 4604.94,
            "stock_short_value": 0,
            "sweep": 0
          }
        },
        "account_number": "TBI0000000"
      }
    ]
  }
}