You will need to do some string manipulation to split the result into smaller strings. One for each line. This way you can call JSON.parse on each of those lines and use your awesome data!
You should use a non blocking library to read data from the socket. We use node.js. Events come in as they happen so it makes sense that your program would be sleeping most of the time. Doing this solves your application looking like it is stuck. The socket is just open waiting to send you more events.
If you want to poll the last known value for every report for every scout you can use sync with stale=1 and tail=0
If you want to get the last reports you have not pulled from the api yet set start time to be the last time from the last report you saved and add 1