Get a Tradovate API Access Token
Need to authenticate against the Tradovate API? This guide walks you through trading your credentials for a Bearer access token, one step at a time.
Need to authenticate against the Tradovate API? Whether you're wiring up a trading bot, pulling account data, or connecting automation like PickMyTrade, this guide walks you through trading your credentials for a Bearer access token, one step at a time.
What Is a Tradovate API Access Token?
A Tradovate access token is a short-lived JWT the API hands back once you send it valid credentials at its accessTokenRequest endpoint. From there, you attach that token as a Bearer token in the Authorization header of every REST and WebSocket call. It's the key that proves each request belongs to your account. Tokens don't last forever, so any bot or integration has to request one, put it to work, and renew it before it lapses.
Getting a Tradovate Access Token: Step-by-Step
Enable API Access and Grab Your Key (cid) and Secret (sec)
Before you can request a token, your account needs the API Access add-on switched on. That gives you an API Key, which becomes your cid (client ID), and an API Secret, which becomes your sec. Haven't set that up yet? Run through Get Tradovate API Access & Generate a Key first, then come back here with your cid and sec in hand.
Build the accessTokenRequest Payload
Put together a JSON body with your Tradovate login name and password, plus appId (any label for your app), appVersion, your cid, your sec, and a stable deviceId. Reuse that same deviceId, a consistent UUID, every single time. It feeds Tradovate's device recognition and 2FA checks, so a value that keeps changing will trip you up.
POST to the accesstokenrequest Endpoint
Send the payload as an HTTP POST to /v1/auth/accesstokenrequest. While you're testing, hit the demo host at https://demo.tradovateapi.com; for a funded account, use the live host at https://live.tradovateapi.com. The path is identical, only the host changes.
Read the Access Token From the Response
A successful call comes back with an accessToken (that's your Bearer token), an mdAccessToken for market data, an expirationTime, your userId, and account flags such as hasLive. Grab the accessToken and its expirationTime and hold onto both, so you know exactly when the clock runs out.
Send the Token as a Bearer Header, and Renew Before It Expires
On every request that follows, add the header Authorization: Bearer {accessToken}. Tokens live for roughly 90 minutes, so a few minutes before that window closes, call /auth/renewAccessToken instead of logging in from scratch. That keeps your session alive without hammering the login endpoint.




Why You'd Need This
- Build or debug a custom trading bot or dashboard on Tradovate's API.
- Stream real-time quotes over the Tradovate WebSocket feed.
- Place, modify, or flatten orders programmatically.
- Wire a third-party tool or webhook bridge into your account.
- Pull account, fill, and position data for journaling or analytics.
Automate This with PickMyTrade
Requesting tokens, tracking expirations, renewing them before they lapse, juggling device IDs, that's a lot of plumbing to babysit. PickMyTrade connects your TradingView alerts straight to your Tradovate account and handles the connection and authentication for you. Your signals turn into live orders automatically, with no tokens to manage on your end.
Skip the Token Juggling
No requesting tokens, tracking expirations, or renewing before they lapse. PickMyTrade handles the Tradovate connection and authentication for you.
Start Your Free 5-Day TrialFrequently Asked Questions
Roughly 90 minutes from creation. Renew it by calling /auth/renewAccessToken shortly before it expires, rather than logging in again every time.
The accessToken authorizes trading and account REST/WebSocket calls, while mdAccessToken authorizes the real-time market-data feed. Both come back in the same accessTokenRequest response.
Yes. Request tokens from the demo host for simulated accounts and the live host for funded ones, a token is only valid on the environment that issued it.
This guide is for educational and informational purposes only and is not financial, investment, or trading advice. Trading futures and other leveraged products carries a substantial risk of loss and is not suitable for every investor. PickMyTrade is an independent third-party automation platform and is not affiliated with, endorsed by, or sponsored by Tradovate, Inc. "Tradovate" and all related names, logos, and trademarks are the property of their respective owners. Platform features and steps change over time, so always confirm the current process in the official Tradovate platform and documentation before acting.