Here is something I was playing around with last week. Give it a try. Just pass a list of comma delimited stock quotes to the function. It will return a list of all the quotes with each item having the details of the stock in a comma delimited format: symbol, last trade time, last value, open value, PE, etc... The downside it is not in realtime. Public Function GetQuote(ByVal symbols As String) As StockDetails Dim url As String = "http://quote.yahoo.com/d/quotes.csv?s=" & symbols & "&d=t&f=sl1d1t1c1ohgvj1pp2wern" 'stores url of yahoo quote engine Dim buffer As String Dim webRequest As WebRequest Dim webResponse As WebResponse webRequest = HttpWebRequest.Create(url) webResponse = webRequest.GetResponse() Dim sr As StreamReader = New StreamReader(webResponse.GetResponseStream, System.Text.Encoding.ASCII) buffer = sr.ReadToEnd() sr.Close() Return buffer End Function This should be much easier than obtaining values from an existing web page. Michael