There’s a fairly easy way of retrieving 15-minute delayed quotes off of Yahoo! Finance web site (“quotes.csv” API).However, so far I was unable to find any info on how to access real-time quotes.The hang-ups with real-time quotes are:Only available to logged-in user No API Non-obvious how to scrape the …
How can I get Yahoo realtime stock quotes in Perl?
There’s a fairly easy way of retrieving 15-minute delayed quotes off of Yahoo! Finance web site (“quotes.csv” API).
However, so far I was unable to find any info on how to access real-time quotes.
The hang-ups with real-time quotes are:
Only available to logged-in user
Non-obvious how to scrape the info – I’m somewhat convinced they are placed on the page by some weird Ajax call.
So I was wondering if anyone had managed to develop a publically available solution to retrieve real-time quotes for a stock from Yahoo! Finance.
Implementation language/framework need is flexible but Perl or Excel is highly preferred.
Assume that security is not an issue – I’m willing to supply yahoo userid and pasword, even in cleartext.
I’m not 100% hung up on Yahoo – they are merely the only provider of free realtime stock quotes I’m familiar with. if the same thing can be done with Google Finance, I’d be just as happy.
This is for a personal project, so scalability/fault tolerance/etc… are not important.
I’m looking for a “do the whole retrieval” library ideally, but if I’m pointed to partial solutions (e.g. how to retrieve info from Yahoo’s user-logged-in pages; how to scrape realtime quotes from Yahoo’s page) I can fill in the blanks.
I saw Finance::YahooQuote but it does not seem to allow you to supply log-in information and appears to use the lagging quotes.csv API
I could find no guarantees of real-time, but the Google Finance Portfolio Data API seems quite well documented and far cleaner than page scraping.
Excel has a built in link to MS stock quotes. They should provide the same information you are looking for. You can also download the addin.
Anywhere providing real-time data will want paying a fairly large sum for it. That’s why they delay the free data, because the real-time data is so valuable.
Looking at it the other way, any way you can find to get free real-time data is almost certainly illegal or breaks the usage agreement. This data belongs to someone and they won’t like you taking it.
I worked at a company who wanted such data legitimately and they could find no way to get it cheaply. In fact IIRC even a feed of time-delayed data is free if you plan to use it in an application rather than looking at it on a web-page.
For more info: How can I get Yahoo realtime stock quotes in Perl?