Incorrectly closed bar data?

Hello,

I’m not sure how long ago this started. It appears the that last bar in the 1m bar feed example below is not closed off with a final } character… There should be a } after 24.38 I believe?

I grabbed this from the code quick and its possible something is not right on my end, but i changed nothing and am starting to see errors processing the json data due the lacking terminator. Is anyone else seeing this?

Partial message piece in discussion: “vw”:24.38[{“T”:“success”,“msg”:“connected”}]

Expected message piece: “vw”:24.38}[{“T”:“success”,“msg”:“connected”}]

Full message example below:

[{“T”:“b”,“S”:“BJ”,“o”:90.59,“h”:90.59,“l”:90.59,“c”:90.59,“v”:560,“t”:“2025-12-31T18:49:00Z”,“n”:15,“vw”:90.59},{“T”:“b”,“S”:“FEZ”,“o”:64.63,“h”:64.635,“l”:64.62,“c”:64.62,“v”:2352,“t”:“2025-12-31T18:49:00Z”,“n”:28,“vw”:64.629773},{“T”:“b”,“S”:“BTCZ”,“o”:4.2,“h”:4.2,“l”:4.2,“c”:4.2,“v”:2800,“t”:“2025-12-31T18:49:00Z”,“n”:1,“vw”:4.2},{“T”:“b”,“S”:“DDM”,“o”:57.32,“h”:57.32,“l”:57.32,“c”:57.32,“v”:100,“t”:“2025-12-31T18:49:00Z”,“n”:1,“vw”:57.32},{“T”:“b”,“S”:“BMEA”,“o”:1.247,“h”:1.25,“l”:1.24,“c”:1.24,“v”:986,“t”:“2025-12-31T18:49:00Z”,“n”:5,“vw”:1.246282},{“T”:“b”,“S”:“OLLI”,“o”:110.535,“h”:110.535,“l”:110.52,“c”:110.52,“v”:450,“t”:“2025-12-31T18:49:00Z”,“n”:22,“vw”:110.525833},{“T”:“b”,“S”:“GOVT”,“o”:23.035,“h”:23.04,“l”:23.0312,“c”:23.035,“v”:43406,“t”:“2025-12-31T18:49:00Z”,“n”:21,“vw”:23.039239},{“T”:“b”,“S”:“XSMO”,“o”:72.36,“h”:72.38,“l”:72.36,“c”:72.38,“v”:2274,“t”:“2025-12-31T18:49:00Z”,“n”:15,“vw”:72.369526},{“T”:“b”,“S”:“STKL”,“o”:3.815,“h”:3.815,“l”:3.81,“c”:3.81,“v”:1019,“t”:“2025-12-31T18:49:00Z”,“n”:8,“vw”:3.8145},{“T”:“b”,“S”:“NWSA”,“o”:26.245,“h”:26.245,“l”:26.245,“c”:26.245,“v”:512,“t”:“2025-12-31T18:49:00Z”,“n”:14,“vw”:26.245},{“T”:“b”,“S”:“PSA.PRF”,“o”:20.65,“h”:20.65,“l”:20.63,“c”:20.647,“v”:800,“t”:“2025-12-31T18:49:00Z”,“n”:6,“vw”:20.636667},{“T”:“b”,“S”:“SGRY”,“o”:15.59,“h”:15.59,“l”:15.59,“c”:15.59,“v”:442,“t”:“2025-12-31T18:49:00Z”,“n”:21,“vw”:15.59},{“T”:“b”,“S”:“VSCO”,“o”:54.56,“h”:54.59,“l”:54.56,“c”:54.59,“v”:367,“t”:“2025-12-31T18:49:00Z”,“n”:13,“vw”:54.575},{“T”:“b”,“S”:“STNG”,“o”:50.75,“h”:50.75,“l”:50.75,“c”:50.75,“v”:832,“t”:“2025-12-31T18:49:00Z”,“n”:4,“vw”:50.75},{“T”:“b”,“S”:“JUNS”,“o”:1.0017,“h”:1.0017,“l”:1.0017,“c”:1.0017,“v”:10000,“t”:“2025-12-31T18:49:00Z”,“n”:1,“vw”:1.0017},{“T”:“b”,“S”:“BITF”,“o”:2.355,“h”:2.36,“l”:2.355,“c”:2.355,“v”:39522,“t”:“2025-12-31T18:49:00Z”,“n”:41,“vw”:2.359227},{“T”:“b”,“S”:“BAIG”,“o”:8.67,“h”:8.67,“l”:8.67,“c”:8.67,“v”:200,“t”:“2025-12-31T18:49:00Z”,“n”:2,“vw”:8.67},{“T”:“b”,“S”:“IREN”,“o”:37.67,“h”:37.67,“l”:37.645,“c”:37.65,“v”:13223,“t”:“2025-12-31T18:49:00Z”,“n”:222,“vw”:37.654613},{“T”:“b”,“S”:“CEVA”,“o”:21.6,“h”:21.6,“l”:21.6,“c”:21.6,“v”:1224,“t”:“2025-12-31T18:49:00Z”,“n”:57,“vw”:21.6},{“T”:“b”,“S”:“ISPO”,“o”:4.17,“h”:4.17,“l”:4.17,“c”:4.17,“v”:100,“t”:“2025-12-31T18:49:00Z”,“n”:1,“vw”:4.17},{“T”:“b”,“S”:“SIGA”,“o”:6.125,“h”:6.125,“l”:6.125,“c”:6.125,“v”:126,“t”:“2025-12-31T18:49:00Z”,“n”:6,“vw”:6.125},{“T”:“b”,“S”:“MAT”,“o”:19.99,“h”:19.99,“l”:19.99,“c”:19.99,“v”:1615,“t”:“2025-12-31T18:49:00Z”,“n”:50,“vw”:19.99},{“T”:“b”,“S”:“JANX”,“o”:13.8,“h”:13.8,“l”:13.8,“c”:13.8,“v”:365,“t”:“2025-12-31T18:49:00Z”,“n”:29,“vw”:13.8},{“T”:“b”,“S”:“NVMI”,“o”:334,“h”:334,“l”:334,“c”:334,“v”:86,“t”:“2025-12-31T18:49:00Z”,“n”:11,“vw”:334},{“T”:“b”,“S”:“TRIN”,“o”:14.775,“h”:14.775,“l”:14.7745,“c”:14.775,“v”:1133,“t”:“2025-12-31T18:49:00Z”,“n”:22,“vw”:14.774854},{“T”:“b”,“S”:“CVS”,“o”:79.72,“h”:79.7262,“l”:79.7101,“c”:79.7101,“v”:749,“t”:“2025-12-31T18:49:00Z”,“n”:31,“vw”:79.720598},{“T”:“b”,“S”:“BKYI”,“o”:0.5248,“h”:0.5248,“l”:0.5248,“c”:0.5248,“v”:827,“t”:“2025-12-31T18:49:00Z”,“n”:3,“vw”:0.5248},{“T”:“b”,“S”:“BSX”,“o”:95.885,“h”:95.885,“l”:95.88,“c”:95.88,“v”:1264,“t”:“2025-12-31T18:49:00Z”,“n”:36,“vw”:95.882421},{“T”:“b”,“S”:“ABSI”,“o”:3.485,“h”:3.485,“l”:3.48,“c”:3.48,“v”:633,“t”:“2025-12-31T18:49:00Z”,“n”:13,“vw”:3.481469},{“T”:“b”,“S”:“ADSE”,“o”:12.6,“h”:12.6,“l”:12.6,“c”:12.6,“v”:102,“t”:“2025-12-31T18:49:00Z”,“n”:2,“vw”:12.6},{“T”:“b”,“S”:“CPRX”,“o”:23.45,“h”:23.46,“l”:23.45,“c”:23.46,“v”:1096,“t”:“2025-12-31T18:49:00Z”,“n”:28,“vw”:23.452134},{“T”:“b”,“S”:“GAM”,“o”:58.93,“h”:58.93,“l”:58.93,“c”:58.93,“v”:100,“t”:“2025-12-31T18:49:00Z”,“n”:1,“vw”:58.93},{“T”:“b”,“S”:“FDMT”,“o”:7.49,“h”:7.5,“l”:7.49,“c”:7.495,“v”:1415,“t”:“2025-12-31T18:49:00Z”,“n”:20,“vw”:7.496764},{“T”:“b”,“S”:“SCE.PRL”,“o”:17.5,“h”:17.5,“l”:17.5,“c”:17.5,“v”:591,“t”:“2025-12-31T18:49:00Z”,“n”:6,“vw”:17.5},{“T”:“b”,“S”:“XEL”,“o”:74.21,“h”:74.22,“l”:74.21,“c”:74.22,“v”:1132,“t”:“2025-12-31T18:49:00Z”,“n”:50,“vw”:74.216633},{“T”:“b”,“S”:“GBIL”,“o”:99.9396,“h”:99.9396,“l”:99.9396,“c”:99.9396,“v”:294,“t”:“2025-12-31T18:49:00Z”,“n”:6,“vw”:99.9396},{“T”:“b”,“S”:“AZI”,“o”:3.2388,“h”:3.2388,“l”:3.23,“c”:3.23,“v”:334,“t”:“2025-12-31T18:49:00Z”,“n”:6,“vw”:3.232667},{“T”:“b”,“S”:“CABA”,“o”:2.145,“h”:2.15,“l”:2.14,“c”:2.15,“v”:512,“t”:“2025-12-31T18:49:00Z”,“n”:7,“vw”:2.147},{“T”:“b”,“S”:“VGZ”,“o”:1.925,“h”:1.93,“l”:1.925,“c”:1.93,“v”:897,“t”:“2025-12-31T18:49:00Z”,“n”:2,“vw”:1.929443},{“T”:“b”,“S”:“ARLO”,“o”:13.9682,“h”:13.9682,“l”:13.9682,“c”:13.9682,“v”:802,“t”:“2025-12-31T18:49:00Z”,“n”:10,“vw”:13.9682},{“T”:“b”,“S”:“BTCS”,“o”:2.6301,“h”:2.6345,“l”:2.6301,“c”:2.6345,“v”:1250,“t”:“2025-12-31T18:49:00Z”,“n”:3,“vw”:2.633698},{“T”:“b”,“S”:“SQQQ”,“o”:67.2,“h”:67.22,“l”:67.2,“c”:67.215,“v”:17556,“t”:“2025-12-31T18:49:00Z”,“n”:83,“vw”:67.212032},{“T”:“b”,“S”:“EBS”,“o”:12.34,“h”:12.352,“l”:12.34,“c”:12.352,“v”:382,“t”:“2025-12-31T18:49:00Z”,“n”:10,“vw”:12.346393},{“T”:“b”,“S”:“SJT”,“o”:5.5637,“h”:5.5637,“l”:5.5637,“c”:5.5637,“v”:6300,“t”:“2025-12-31T18:49:00Z”,“n”:1,“vw”:5.5637},{“T”:“b”,“S”:“TWLO”,“o”:143.38,“h”:143.4,“l”:143.379,“c”:143.39,“v”:2254,“t”:“2025-12-31T18:49:00Z”,“n”:65,“vw”:143.384672},{“T”:“b”,“S”:“PULM”,“o”:2.23,“h”:2.23,“l”:2.23,“c”:2.23,“v”:500,“t”:“2025-12-31T18:49:00Z”,“n”:1,“vw”:2.23},{“T”:“b”,“S”:“MEME”,“o”:6.25,“h”:6.25,“l”:6.25,“c”:6.25,“v”:500,“t”:“2025-12-31T18:49:00Z”,“n”:1,“vw”:6.25},{“T”:“b”,“S”:“AKR”,“o”:20.53,“h”:20.53,“l”:20.53,“c”:20.53,“v”:408,“t”:“2025-12-31T18:49:00Z”,“n”:10,“vw”:20.53},{“T”:“b”,“S”:“FDIG”,“o”:38.745,“h”:38.745,“l”:38.745,“c”:38.745,“v”:106,“t”:“2025-12-31T18:49:00Z”,“n”:2,“vw”:38.745},{“T”:“b”,“S”:“INO”,“o”:1.77,“h”:1.77,“l”:1.7699,“c”:1.7699,“v”:1247,“t”:“2025-12-31T18:49:00Z”,“n”:11,“vw”:1.769909},{“T”:“b”,“S”:“INSM”,“o”:174.32,“h”:174.32,“l”:174.32,“c”:174.32,“v”:2996,“t”:“2025-12-31T18:49:00Z”,“n”:98,“vw”:174.32},{“T”:“b”,“S”:“SVCO”,“o”:4.1,“h”:4.1,“l”:4.1,“c”:4.1,“v”:316,“t”:“2025-12-31T18:49:00Z”,“n”:4,“vw”:4.1},{“T”:“b”,“S”:“PYLD”,“o”:26.705,“h”:26.705,“l”:26.705,“c”:26.705,“v”:384,“t”:“2025-12-31T18:49:00Z”,“n”:4,“vw”:26.705},{“T”:“b”,“S”:“LASR”,“o”:38.0707,“h”:38.0707,“l”:38.0707,“c”:38.0707,“v”:1401,“t”:“2025-12-31T18:49:00Z”,“n”:9,“vw”:38.0707},{“T”:“b”,“S”:“FBIO”,“o”:3.6436,“h”:3.6436,“l”:3.6436,“c”:3.6436,“v”:3000,“t”:“2025-12-31T18:49:00Z”,“n”:2,“vw”:3.6436},{“T”:“b”,“S”:“AES”,“o”:14.495,“h”:14.5,“l”:14.495,“c”:14.4956,“v”:2888,“t”:“2025-12-31T18:49:00Z”,“n”:46,“vw”:14.496243},{“T”:“b”,“S”:“NEE.PRN”,“o”:23.7915,“h”:23.7915,“l”:23.7915,“c”:23.7915,“v”:758,“t”:“2025-12-31T18:49:00Z”,“n”:1,“vw”:23.7915},{“T”:“b”,“S”:“GO”,“o”:10.13,“h”:10.13,“l”:10.12,“c”:10.124,“v”:1137,“t”:“2025-12-31T18:49:00Z”,“n”:21,“vw”:10.123855},{“T”:“b”,“S”:“MPA”,“o”:11.08,“h”:11.09,“l”:11.08,“c”:11.09,“v”:600,“t”:“2025-12-31T18:49:00Z”,“n”:3,“vw”:11.088276},{“T”:“b”,“S”:“EVR”,“o”:340.75,“h”:340.75,“l”:340.75,“c”:340.75,“v”:62,“t”:“2025-12-31T18:49:00Z”,“n”:4,“vw”:340.75},{“T”:“b”,“S”:“NEXA”,“o”:8.835,“h”:8.835,“l”:8.835,“c”:8.835,“v”:102,“t”:“2025-12-31T18:49:00Z”,“n”:2,“vw”:8.835},{“T”:“b”,“S”:“ATOS”,“o”:0.572,“h”:0.572,“l”:0.572,“c”:0.572,“v”:465,“t”:“2025-12-31T18:49:00Z”,“n”:14,“vw”:0.572},{“T”:“b”,“S”:“BBD”,“o”:3.335,“h”:3.335,“l”:3.335,“c”:3.335,“v”:1751,“t”:“2025-12-31T18:49:00Z”,“n”:6,“vw”:3.335},{“T”:“b”,“S”:“CCRN”,“o”:8.04,“h”:8.04,“l”:8.04,“c”:8.04,“v”:337,“t”:“2025-12-31T18:49:00Z”,“n”:9,“vw”:8.04},{“T”:“b”,“S”:“BSAC”,“o”:31.17,“h”:31.17,“l”:31.17,“c”:31.17,“v”:240,“t”:“2025-12-31T18:49:00Z”,“n”:8,“vw”:31.17},{“T”:“b”,“S”:“BTSG”,“o”:37.66,“h”:37.66,“l”:37.63,“c”:37.645,“v”:4111,“t”:“2025-12-31T18:49:00Z”,“n”:80,“vw”:37.64671},{“T”:“b”,“S”:“DAWN”,“o”:9.29,“h”:9.29,“l”:9.29,“c”:9.29,“v”:408,“t”:“2025-12-31T18:49:00Z”,“n”:13,“vw”:9.29},{“T”:“b”,“S”:“LASE”,“o”:2.48,“h”:2.48,“l”:2.48,“c”:2.48,“v”:100,“t”:“2025-12-31T18:49:00Z”,“n”:1,“vw”:2.48},{“T”:“b”,“S”:“BMNZ”,“o”:23.7101,“h”:23.755,“l”:23.7101,“c”:23.755,“v”:4260,“t”:“2025-12-31T18:49:00Z”,“n”:5,“vw”:23.752862},{“T”:“b”,“S”:“CPRI”,“o”:24.38,“h”:24.38,“l”:24.38,“c”:24.38,“v”:1774,“t”:“2025-12-31T18:49:00Z”,“n”:30,“vw”:24.38[{“T”:“success”,“msg”:“connected”}]

To workaround this for now, I’m scanning the feed data I receive and just truncate off the bad bar item being returned. Yes, its now a loss of a bar in the feed and isnt a great solution but it will get me by for now. I did not determine if the actual feed was truncated or not or if it is something in my code. The reason I dont think its in the code is because it has worked for years until recently and none of that side of stuff has changed.

@Homer I’m not able to replicate the issue you are seeing. Below is the raw JSON output when streaming bar data (using Postman) for two symbols META and NVDA and everything seems formatted correctly.

[{"T":"success","msg":"connected"}]
[{"T":"success","msg":"authenticated"}]

{"action":"subscribe","bars":["META","NVDA"]}
[{"T":"subscription","bars":["META","NVDA"]}]

[{"T":"b","S":"META","o":659,"h":659.0001,"l":659,"c":659.0001,"v":451,"t":"2026-01-01T00:18:00Z","n":41,"vw":659.00005},{"T":"b","S":"NVDA","o":186.41,"h":186.41,"l":186.36,"c":186.36,"v":1179,"t":"2026-01-01T00:18:00Z","n":27,"vw":186.389223}]

[{"T":"b","S":"NVDA","o":186.37,"h":186.39,"l":186.37,"c":186.39,"v":7712,"t":"2026-01-01T00:19:00Z","n":43,"vw":186.379679}]

[{"T":"b","S":"NVDA","o":186.388,"h":186.388,"l":186.36,"c":186.3601,"v":3449,"t":"2026-01-01T00:20:00Z","n":53,"vw":186.367542},{"T":"b","S":"META","o":658.9399,"h":658.9399,"l":658.9399,"c":658.9399,"v":324,"t":"2026-01-01T00:20:00Z","n":4,"vw":658.9399}]

One odd thing about the example you posted is that it is missing the authenticated and subscription confirmation messages shown below:

[{"T":"success","msg":"authenticated"}]
[{"T":"subscription","bars":["META","NVDA"]}].

Perhaps your code filters these out? If so, that may be part of the issue. Your code may be also filtering or dropping the expected parentheses?

Does the authenticated come with every 1m bar feed? It’s possible that’s why its not in my example, if it is not there for every bar feed but only one time post authentication. My example was at the point of failure which may have been many bar feeds down line for the day.

The same question for subscription…

What’s weird is that I’ve never run into these errors until recently and have not touched any streaming code for a long long time. The last bar segment in my example, prior to [{“T”:“success”,“msg”:“connected”}] , isnt finished with a closing } .

I have a recieveasync running on a websocket. I only process the messages when the websocket end of message arrives.

This is not happening many times a day. Kind of randomly. the impact seems to only be the ticker bars for the issue bar (example above) and i guess any other bar that would have appear behind it (if any)… for that 1m bar feed. So the next minute bar feed might be fine and i only lose out on a random 1m window of an unknown number of bars. This is not of huge concern to me as i currently am not micro-second trading when things happen. I’ll keep an eye on this and follow up if anything becomes a concern. I’m more worries about connection issues and aborts and will keep an eye on those too.

Thanks for throwing some ideas out there.