> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://partner.ninjatrader.com/eval/overview/quick-setup/5-minute-quickstart/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://partner.ninjatrader.com/_mcp/server. # 5-Minute Quickstart Get up and running with the NinjaTrader Partner API in just a few minutes. This guide walks you through making your first API call and accessing live market data. ## Prerequisites Before you begin, ensure you have: * **Partner Account Access to Dashboards** (Request from an Evaluation Support representative if needed) * **API Credentials** (API Key and Secret, created in Dashboards) * **Development Environment** (Node.js, Python, or preferred language) * **HTTP Client** (curl, Postman, or programming language HTTP library) ## Step 1: Obtain API Credentials Once approved, you'll receive your API credentials. This should consist of a username and password. Once you have your credentials: 1. Log on to Dashboards ([staging](https://dashboards.staging.ninjatrader.dev) [prod](https://dashboards.tradovate.com)). 2. Navigate to Eval Functions from the side bar 3. Click the API Entitlement tab at the top of the page. 4. Create a new API key. 5. Copy the ID and client secret when presented. Now we have everything we need to create an `/auth/accesstokenrequest` payload: ```json { "name": "", "password": "", //or API dedicated password "appId": "", "appVersion": "1.0.0", "cid": 1234, // use your API key ID presented when key is created "sec": "" // use the secret presented when key is created } ``` > **Warning:** Keep your API credentials secure! Never commit them to version control or expose them in client-side code. ## Step 2: Authenticate Now that we have our payload, we can get an access token from the system: ```typescript const YOUR_CREDENTIALS = { name: "", password: "", //or API dedicated password appId: "", appVersion: "1.0.0", cid: 1234, // use your API key ID presented when key is created sec: "" // use the secret presented when key is created } const response = await fetch('https://live.tradovateapi.com/v1/auth/accesstokenrequest', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(YOUR_CREDENTIALS) }); const { accessToken } = await response.json(); console.log('Access token:', accessToken); ``` ```python import requests your_credentials = json.dumps({ 'name': '', 'password': '', # or API dedicated password 'appId': '', 'appVersion': '1.0.0', 'cid': 1234, # use your API key ID presented when key is created 'sec': '' # use the secret presented when key is created }) response = requests.post( 'https://live.tradovateapi.com/v1/auth/accesstokenrequest', json=your_credentials ) access_token = response.json()['accessToken'] print(f'Access token: {access_token}') ``` ```cURL curl -X POST https://live.tradovateapi.com/v1/auth/accesstokenrequest \ -H "Content-Type: application/json" \ -d '{ "name": "your_username", "password": "your_password", "appId": "your_api_key", "environment": "demo" }' ``` ## Step 3: Make Your First API Call Now use your access token to fetch your user profile: ```typescript const userResponse = await fetch('https://live.tradovateapi.com/v1/auth/me', { headers: { 'Authorization': `Bearer ${accessToken}`, 'Content-Type': 'application/json' } }); const user = await userResponse.json(); console.log('Current user:', user); ``` ```python headers = { 'Authorization': f'Bearer {access_token}', 'Content-Type': 'application/json' } user_response = requests.get( 'https://live.tradovateapi.com/v1/auth/me', headers=headers ) user = user_response.json() print(f'Current user: {user}') ``` Congratulations! You've successfully: ✅ Authenticated with the NinjaTrader API\ ✅ Retrieved your user profile As a next step, we suggest you take a look at the endpoints in the [API Reference](/api/rest-api-endpoints/authentication/access-token-request) section, and begin perusing the [Partner Operations](/eval/overview/prop-firm-management/create-and-manage-users-and-accounts) portion of this guide.