# How to retrieve historical fills/trades via OAuth

**URL:** <https://community.tradovate.com/t/how-to-retrieve-historical-fills-trades-via-oauth/12607>\
**Category:** API Developers\
**Created:** [April 20, 2026, 12:28pm UTC](https://community.tradovate.com/t/how-to-retrieve-historical-fills-trades-via-oauth/12607 "2026-04-20T12:28:32Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![angomes](https://avatars.discourse-cdn.com/v4/letter/a/7feea3/32.png) [@angomes](https://community.tradovate.com/u/angomes)\
**Post date:** [April 20, 2026, 12:28pm UTC](https://community.tradovate.com/t/how-to-retrieve-historical-fills-trades-via-oauth/12607/1 "2026-04-20T12:28:32Z")

</div>

I’m building a third-party trader verification platform that connects Tradovate accounts via OAuth to display verified P&L on a public leaderboard. OAuth authentication works fine — account/list, cashBalance/getCashBalanceSnapshot, and position/list all return 200 with valid data.

The problem: I cannot retrieve any historical trade data. Every endpoint returns empty arrays:

- fillPair/list → 200 OK, 
- fill/list → 200 OK, 
- order/list → 200 OK, 
- cashBalanceLog/list → 200 OK, 
- cashBalanceLog/deps?masterid={accountId} → 200 OK, 

The account (live, accountType: Customer) has dozens of completed trades and 36 cash history entries visible in the Tradovate UI.

I contacted API Support and they confirmed:

- cashBalanceLog/deps should work with OAuth (Account Information: Read Only is sufficient)
- The Reporting API ([rpt-live.tradovateapi.com/v1](http://rpt-live.tradovateapi.com/v1)) exists as an alternative for historical data
- The recommended pattern is: Reporting API for initial historical load → WebSocket user/syncrequest for real-time updates going forward

However, they didn’t clarify whether the Reporting API is accessible with a standard OAuth token or requires Partner credentials.

Here’s what makes this confusing: I connected the exact same account to Kinfo ([kinfo.com](http://kinfo.com)) today, and they immediately displayed every historical trade with P&L, entry/exit times, fill prices, and contracts. Kinfo’s OAuth consent screen requests the same scopes I do (Users, Orders, Accounting, Positions, ContractLibrary). Same account, same scopes, completely different result.

My questions to the community:

Has anyone successfully retrieved historical fills/fillPairs via OAuth? If so, which endpoint and what parameters? Am I missing something obvious?

Any insight would be greatly appreciated.

---

<div class="post-metadata">

**Author:** ![daniel\_alcazar](https://avatars.discourse-cdn.com/v4/letter/d/e99b99/32.png) [@daniel\_alcazar](https://community.tradovate.com/u/daniel_alcazar)\
**Post date:** [May 23, 2026, 6:30am UTC](https://community.tradovate.com/t/how-to-retrieve-historical-fills-trades-via-oauth/12607/2 "2026-05-23T06:30:15Z")

</div>

My team and I are dealing with the EXACT same issue. Did you find any solution?
