@Craige_Hales,
Kindly provided the following guidance :
API is a specification for how to use a service. There isn't much of a standard, even amongst API's that claim to be rest-based. You'll be doing a lot of reading, most likely.
I think you mentioned earlier that you had to authenticate to the service you want to use. The Twitter authentication is quite a complicated process using OAuth2, which I'm not qualified to talk about...I stumbled through it and got it working and it represents a lot of the JSL in the 7-things blog.
Or you might have a much simpler authentication using a password.
when you connect to a website from a browser, a socket streams the html from the site into the browser. Usually the html is a finite length, but if there is a program on the server generating the html, it is quite possible for it to stream forever.
JMP's sockets can do that with http. Curl can do that with https (or http). JMP 14 will have curl support builtin.
A rest-based service is likely to hand you json data. (I can't keep up with what goes into each JMP release; I think 13 has some json support and 14 may have more. there is also some jsl Xan and I played with a while back.) json is nested key-value data, not particularly human-friendly, but not too bad either.
part of the magic of streaming data is realizing that curl, or a socket, is going to give you most of the data, up to right now. and maybe in small chunks. so you might have to assemble it into complete chunks and figure out where the chunk boundaries are. and hang on to the last few bytes of the next chunk and wait for the rest to be delivered by the socket, or curl. If you look at the connect example, you'll get a sense of it...a loop that polls the socket and bulds a longer and longer result as the data arrives. Although that example knows the data should be finite and waits until it is all available before proceeding. The twitter example (somewhere in it, its been a long time) uses RunProgram to get a stream from curl, forever. the runprogram readfunction also concatenates data together but occasionally processes the data when it sees it has a complete chunk. With the socket there is an explicit loop. In the twitter runprogram logic the loop is implicit...the runfunction callback is driven by the curl program receiving more data from twitter.
Best
Uday