If you get to a solution let me know. But API would not be a bad bet, because where are you going to get all of that data from? Even if you do have a place to keep it it will be old within seconds.
Therefore I would recommend haveing a look at API and as C# is frequently used in API, it shouldn't be too hard to find something. I know Yahoo has something.