# 15sec realtime streaming data via getChart

**URL:** <https://community.tradovate.com/t/15sec-realtime-streaming-data-via-getchart/12458>\
**Category:** API Developers\
**Created:** [January 6, 2026, 10:27pm UTC](https://community.tradovate.com/t/15sec-realtime-streaming-data-via-getchart/12458 "2026-01-06T22:27:32Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Pete\_Davis](https://avatars.discourse-cdn.com/v4/letter/p/eb9ed0/32.png) [@Pete\_Davis](https://community.tradovate.com/u/Pete_Davis)\
**Post date:** [January 6, 2026, 10:27pm UTC](https://community.tradovate.com/t/15sec-realtime-streaming-data-via-getchart/12458/1 "2026-01-06T22:27:32Z")

</div>

I need real time streaming data in both 15sec and 30sec timeframes. What’s the best way to do it:

**Option 1: use minute bars with these settings:  
\*\*  
{  
“symbol”: “ESM6”, // Your instrument symbol  
“chartDescription”: {  
“underlyingType”: “MinuteBar”, // Options: Tick, DailyBar, MinuteBar, Custom  
“elementSize”: 0.25, // For 15-second bars  
“elementSizeUnit”: “UnderlyingUnits”,  
“withHistogram”: false  
},  
“timeRange”: {  
“asMuchAsElements”: 100 // Number of historical bars to load first  
}  
}**

Option 2: use tick bars with these settings. My concern with tick bars is how to consistently aggregate them into 15- and 30-sec bars, since these bars are not time-based.  
\*\*  
{  
“symbol”: “ESM6”,  
“chartDescription”: {  
“underlyingType”: “Tick”,  
“elementSize”: 15,  
“elementSizeUnit”: “Seconds”,  
“withHistogram”: false  
},  
“timeRange”: {  
“asMuchAsElements”: 100  
}  
}
