There's one less line of code if you use Encoding.UTF8 instead of instantiating your own object (although in principle the encoding is given to you in HttpWebResponse.ContentEncoding).<p>The Microsoft samples don't seem to do this, but consider putting your WebResponse and StreamReader objects in 'using' blocks: these classes implement IDisposable to ensure orderly cleanup.
I'm hoping to build off of this but its the bare minimum to start processing the API. Of course, I'll be adding some queuing and analysis on top of this.