I have seen a similiar project, but I want to know if a better way to accomplish this.

I am working with a SharePoint Foundation environment. Enterprise would like to have a stock ticker of company on portal page. Some users hitting the page are allowed to access external internet sites while others can only access intranet (portal) site. How can I utilize a stock ticker API with little to no managed code so that these users can still see the company stock ticker? Would impersonation be the only solution here?

  • I would say you do not have much choice - impersonation seems like the way to go.
    – Matt
    Mar 5, 2013 at 22:20

3 Answers 3


This question comes up a lot and the easiest and most reliable solution that I've found (so far) is to create some timed process such as a Timer Job or PowerShell Script run via Scheduled Task that periodically access the internet and pulls down the ticker information and then saves that into a SharePoint list. You then create your web part and simply read the stock data from the list. This way, it doesn't matter if the user has access to the internet or not as the data is saved in SharePoint.

You could even get really crazy and do things like letting users specify their own stocks to watch (and the backend process would fetch those as well) or even save multiple stock price updates to the list and graph them over time.

  • This is very similiar to what I had seen before. I guess the question would be how "real time" should this be since it will require a SPTimer job to run for the frequency end user would want ticker to update.
    – JuanTrev
    Mar 5, 2013 at 22:02
  • That would depend on the frequency of the service you are getting stock data from. In my experience, we poll it, and cache it ~ and update roughly every 15 minutes. Mar 5, 2013 at 22:05
  • Agreed. If "real time" is required, then either the 1) user must have an internet connection or 2) a custom web part is needed that will call the service on behalf of the user at the time the page is rendered or 3) a custom web service is created that can be called from the client that will in turn fetch the data from the Internet. All options involve some form of delay, even if only a few seconds.
    – Dave Wise
    Mar 5, 2013 at 22:15

You could manually code a BCS model that queries the external data and presents it as an external list. This can have an approved user account that has internet access go out and query the extenal data, or use secure store, then all internal users just query the external list.



Here is a stock ticker app that has access to 15 different stock markets as it claims. I tried it out and it seems to work and has a free trial

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.