How can I get Yahoo realtime stock quotes in Perl? - 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
No API
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.
Notes:
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
Thanks!

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.

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.

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.

As of 1 November 2017, Yahoo has shut down the stock quote API. Alphadvantage https://www.alphavantage.co/documentation/ is the current go-to for delayed quotes on US exchanges. You do need to update Finance::Quote to 1.40 or later (1.47 is the current version as of 18 Dec 2017).

Related

Intranet site Content Management

I'm currently designing my very first Website for a small business Intranet (5 pages). Can anyone recommend the best way to manage content for the Company News section? I don't really want to get involved in day to day content updates so something that would be simple for the Marketing guy to create and upload a simple news article, perhaps created in MS Word, lets assume the author has no html skills.
I've read about Content Management systems but,
A. I won't get any funding for purchase and
B. Think it's a bit overkill for a small 5 page internal website.
It's been an unexpected hurdle in my plans, for something that I'd assumed would be a fairly common functionality I can't seem to find any definitive articles to suit my needs.
I'm open to suggestions (even if it's confirmation that a CMS is the only way to go).
Your requirements are : small site, no budget and the need for it to be easy for the marketing guy to upload a news item.
My recommendation would be to go with an all in one CMS e.g wordpress which has the kind of functionality you're talking about out of the box.
My guess is this organisation is just getting into "intranets" so something quick and simple that can be used to justify expenditure if value is returned is the key. Perhaps look at a plugin that automatically emails a summary of the blog posts to all employees once a week would be useful ?
There are many options and you can use any one of these:
Joomla
SilverStripe CMS
ModX
Cushy CMS
Frog CMS
Drupal
Additional in what Mr. Mckinnon said, you must keep in mind that if you don't want to get involved in daily updates of the people who is going to use the platform, you should consider the following:
What kind of data you want to be displayed
Who can view/modify that data
Who can create/remove data
How you will be organizing all that data
Your intranet should not be limited to display or create data, eventually all that data can turn into a beautiful Knowledge Base (KB) for your company that eventually your coworkers can share their solutions to common and rare problems that company can present eventually. This KB is amazing and time-saving, it is recommended to start it as soon as possible, so newcomers to your Company have access to it and see the most common issues and they can enter into production asap (we all know time is a luxury in every company regarding size).
Just keep in mind too, that all that knowledge and data is beyond valuable to you and your coworkers, so you should also consider some additional login credentials so your Company System Administrator can manage those credentials and also eventual audit for unauthorized access (if applicable).
I hope this helps from the administrative point of view

Webservice standards and DTDs

While brainstorming about six years ago, I had what I thought was a great idea: in the future there could be webservice standards and DTDs that effectively turn the web into a decentralized knowledgebase. I listed several areas where I thought this could be applied, one of which was:
For making data avail. directly from a business's website: open hours, locations, and contact phone numbers. Suggest a web service standard by which businesses have a standard URL extended off the main (base) URL for there website, at which is located a webservice. That webservice as well has a standardized set of services for downloading a list of their locations, contact telephone numbers, and business hours.
It's interesting looking back at these notes now since this is not how things have evolved. Instead of businesses putting this information on only their website then letting any search engine or other data aggregator to crawl it, they are updating it separately on their website, their Facebook page, and Google Maps. Facebook and Google Maps, due to their popularity, have become the solution to the problem I though my idea would solve.
Is the way things are better than the way I thought they could be? If so then why doesn't my idea fit the reality? If not then what's holding my idea back from being realized?
A lot of this information is available via APIs, that doesn't mean that it doesn't get put other places as well, through a variety of means. For example, a company may expose information via an API, and their Facebook app might use that API to populate a Facebook page.
Also, various microformats are in use that encapsulate some of this information.
The biggest obstacle is agreeing on what meta-information should be exposed, how it should be exposed, and how it should be accessed.

Does there exist a robust Twilio enabled CMS with subscription management?

I've done quite a bit of searching for a CMS platform or robust framework that will perhaps facilitate the management of signup and subscriptions right of the box with a Twilio tie in.
Thus far I've only been successful at finding how many startups have been funded by the Twilio fund, who's building the nextgen voice enabled app, and various other things of that nature vs any real meat. Seems that there's a dearth of meaningful information without applying a plethora of negative google filters to reduce matches and even then it's still not giving anything real meaningful wrt my search.
So, I'm hoping that someone may have a better eye on the lay of the Twilio landscape as far as already existent systems go that can handle the bulk of needs that exist for a "regular" CMS esque site that needs to also handle subscriptions and e-commerce related tasks.
Hitherto I've just planned to build something out myself, but I wanted to do a sanity check before I spend a lot of time that could perhaps be obviated.
My suggestion would be to find a CMS that does everything you want (except the twilio links), on the platform you want, and then just add the Twilio stuff in. Twilio is simple to use, and should be simple to add-on to most open source CMS's. It'll probably be the easiest part of the project....

Geolocation APIs: SimpleGeo vs CityGrid vs PublicEarth vs Twitter vs Foursquare vs Loopt vs Fwix. How to retrieve venue/location information?

We need to display meta information (e.g, address, name) on our site for various venues like bars, restaurants, and theaters.
Ideally, users would type in the name of a venue, along with zip code, and we present the closest matches.
Which APIs have people used for similar geolocation purposes? What are the pros and cons of each?
Our basic research yielded a few options (listed in title and below). We're curious to hear how others have deployed these APIs and which ones are ultimately in use.
Fwix API: http://developers.fwix.com/
Zumigo
Does Facebook plan on offering a Places API eventually that could accomplish this?
Thanks!
Facebook Places is based on Factual. You can use Factual's API which is pretty good (and still free, I think?)
http://www.factual.com/topic/local
You can also use unauthenticated Foursquare as a straight places database. The data is of uneven quality since it's crowdsourced, but I find it generally good. It's free to a certain API limit, but I think the paid tier is negotiated.
https://developer.foursquare.com/
I briefly looked at Google Places but didn't like it because of all the restrictions on how you have to display results (Google wants their ad revenue).
It's been a long time since this question was asked but a quick update on answers for other people.
This post, right now at least, will not go into great detail about each service but merely lists them:
http://wiki.developer.factual.com/w/page/12298852/start
http://developer.yp.com
http://www.yelp.com/developers/documentation
https://developer.foursquare.com/
http://code.google.com/apis/maps/documentation/places/
http://developers.facebook.com/docs/reference/api/
https://simplegeo.com/docs/api-endpoints/simplegeo-context
http://www.citygridmedia.com/developer/
http://fwix.com/developer_tools
http://localeze.com/
They each have their pros and cons (i.e. Google Places only allows 20 results per query, Foursquare and Facebook Places have semi-unreliable results) which can be explained a bit more in detail, although not entirely, in the following link. http://www.quora.com/What-are-the-pros-and-cons-of-each-Places-API
For my own project I ended up deciding to go with Factual's API since there are no restrictions on what you do with the data (one of the only ToS' that I've read in its entirety). Factual has a pretty reliable API, which as a user of the API you may update, modify, or flag rows of the data. Facebook Places bases their data on Factual's, just another fact to shed some perspective.
Hope I can be of help to any future searchers.
This is not a complete answer, because I havn't compared the given geolocation API, but there is also the Google Places API, which solves a similiar problem like the other APIs.
One thing about SimpleGeo: The Location API of SimpleGeo supports mainly US (and Canada?) based locations. The last time I checked, my home country Germany doesn't has many known locations.
Comparison between places data APIs is tough to keep up to date, with the fast past of the space, and with acquisitions like SimpleGeo and HyperPublic changing the landscape quickly.
So I'll just throw in CityGrids perspective as of February 2012. CityGrid provides 18M US places, allowing up to 10M requests per month for developers (publishers) at no charge.
You can search using a wide range of "what" and "where" (Cities, Neighborhoods, Zip Codes, Metro Areas, Addresses, Intersections) searches including latlong. We have rich data for each place including images, videos, reviews, offers, etc.
CityGrid also has a developer revenue sharing program where we'll pay you to display some places as well as large mobile and web advertising network.
You can also query Places via the CityGrid API using Factual, Foursquare and other places providers places and venue IDs. We aggregate data from several places data providers through our system.
Website: http://developer.citygridmedia.com/

finance api for iphone commercial app use

I am planning to create a stock based app for iphone. It's going to be a paid app. So I wanted to know what options do I have for getting the data from API.
I have heard of Yahoo finance api, but think it is not free for commecrial use.
What does Apple use for their native app. Could you please provide me with other options.
Thank you.
Getting fast reliable tick data is going to be very expensive, especially if you want every tick. If you want any kind of order book depth, it's even more expensive.
You might want to investigate LMAX who offer a free API. I think they are the same company that do Betfair in the UK. I'm not sure what markets they offer, whether you can use it outside the UK, and whether the prices on show are actual exchange traded prices, or from their own user generated markets, but it might be of interest...
For historical data (historical stock quotes, historical financial statements, historical dividends, etc), you can use the APIs at http://www.mergent.com/servius
(EDIT: The API can deliver historical ratio information such as P/E ratios, but that feature is still undocumented - will be documented soon).
(EDIT: There's also http://www.zacksdata.com/zacks-data-api . By the way, as a disclosure, both APIs are managed by my company).