1

Using Yahoo Finance API (Not RSS) for commercial App

Hi There,

got a little Question: I'ld like to start a finance App and so I need Data ;-)

I could nowhere find any informations about usage of the Finance API (except the RSS-API I don't want to use).

Could anybody tell me where to find more Informations and If it's free for commercial use?

Thanks

Chris

by
23 Replies
  • Hi Chris,
    There are few more services provided to get the finance data, but RSS-API finance by yahoo is a better one, you can dynamically change the lookup of your website.
    Well you want the data for what market, webservicex.net also provides stock quotes, that's a web service. And google can provide you the tickler for your website. I think yahoo finance api is better choice to work with.

    Regards!
    0
  • hello,
    i have been searching far and through for details on this. i am interested in using yahoo data online for an iphone application idea. i have noticed that other iphone applications get their data from yahoo or google. where is the api they are using? where does this come from, and why is this so hard to find? every time i search for yahoo data, i get results for this rss feed service from yahoo finance for news. however, i am sure this is not what they are using, as that clearly states you cannot use the info there for commercial purposes. please help!

    here is an app as an example - http://www.turingstudios.com/PortfolioLive/FAQ.aspx - you can see in their faq, they say they pull data from yahoo. can i do this to? how? if this is the wrong place to be posting this, please let me know where to go. thanks!!

    br,
    .paul
    1
  • I just tried as of October 28, 2009 to make use of Java API as follows to get any values I want.

    What I could not find was a single reference or documentation of where this API is available besides some third party link:
    http://cliffngan.net/a/13

    that discusses what each parameter is!

    I wonder when would they stop allowing using the API this way as that would affect my application!

    URL url = null;
    try {
    url = new URL("http://finance.yahoo.com/d/quotes.csv?s=RHT+MSFT&f=sb2b3jk");
    } catch (MalformedURLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    URLConnection openConnection = null;
    try {
    openConnection = url.openConnection();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    InputStream inputStream = null;
    try {
    inputStream = openConnection.getInputStream();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    // BufferedInputStream bis = new BufferedInputStream(inputStream);

    CSVReader reader = new CSVReader(new InputStreamReader(inputStream), ',', '"', 0);
    List<String[]> myEntries = new ArrayList<String []>();
    try {
    myEntries = reader.readAll();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    for(String[] stringArray : myEntries)
    {
    for(String str : stringArray)
    System.out.println(str);
    System.out.println();
    }

    try {
    inputStream.close();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    /*
    File file = new File("testYahoo.csv");
    try {
    file.createNewFile();
    } catch (IOException e2) {
    // TODO Auto-generated catch block
    e2.printStackTrace();
    }
    if(!file.exists())
    {
    System.out.println("File " + file + " could not be created");
    }

    FileOutputStream fileOutputStream = null;
    try {
    fileOutputStream = new FileOutputStream(new File("testYahoo.csv"));
    } catch (FileNotFoundException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }

    byte[] byteArray = new byte[30];
    try {
    while(bis.read(byteArray) != -1)
    {
    System.out.println(byteArray);
    fileOutputStream.write(byteArray);
    }
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    finally
    {
    try {
    bis.close();
    inputStream.close();
    fileOutputStream.flush();
    fileOutputStream.close();

    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    */
    0
  • The reason for the lack of documentation is that we don't have a Finance API. It appears some have reverse engineered an API that they use to pull Finance data, but they are breaking our Terms of Service (no redistribution of Finance data) in doing this so I would encourage you to avoid using these webservices.

    Cheers,
    Robyn Tippins
    Community Manager, YDN
    0
  • Hi Robyn,

    what exactly does this mean? Does this mean that it is also not allowed to use the Yahoo! Query Language to gather finance data from the yahoo.finance.* data tables for commercial applications? Please let me know. Thanks, regards Holger
    0
  • The Finance TOS is fairly specific. Redistribution of data is only allowed if you are using the badges the team has created: http://finance.yahoo.com/badges

    Otherwise, you can use YQL or whatever method to obtain data for personal use. Thanks,

    Robyn Tippins
    Community Manager, YDN
    1
  • 3
  • Is it possible to query for DAX or DOW? The result is always "na"...
    0
  • QUOTE (michahermanns @ Feb 15 2010, 07:55 AM) <{POST_SNAPBACK}>
    Is it possible to query for DAX or DOW? The result is always "na"...


    Very interesting question you are asking here and can really help with forex.. Any answers?
    0
  • Robyn,<br>Thanks for the clarification. What if we are a open source community which intends to show the data fetched from Data tables through YQL, persist it for analytical purpose and further offer services on top of it.&nbsp;<br><br>In addition there should be no issues in stating that this yahoo&#39;s data when user of this open source project consumes it for his usage.<br><br>-J<br><br><br><div class="quote "><div class="quotetop ">QUOTE<cite>(duzins @ 19 Jan 2010 12:55 PM)</cite><blockquote class="quotemain">The Finance TOS is fairly specific. Redistribution of data is only allowed if you are using the badges the team has created: <a href="http://finance.yahoo.com/badges" rel="nofollow" target="ext">http://finance.yahoo.com/badges</a><br><br>Otherwise, you can use YQL or whatever method to obtain data for personal use. Thanks,<br><br>Robyn Tippins<br>Community Manager, YDN</blockquote></div></div>
    0
  • Hi Robyn,<br><br>I have been trying to contact the Yahoo customer care through several emails, so far got no response.<br><br>I am looking for Yahoo Finance data for commerical purpose - paid basis. Could you please direct me to right contact in Yahoo! Finance team?<br><br>-Jayesh<br><br><div class="quote"><div class="quotetop">QUOTE<cite>(duzins @ 30 Oct 2009 12:30 PM)</cite></div><blockquote class="quotemain">The reason for the lack of documentation is that we don&#39;t have a Finance API. It appears some have reverse engineered an API that they use to pull Finance data, but they are breaking our Terms of Service (no redistribution of Finance data) in doing this so I would encourage you to avoid using these webservices.<br><br>Cheers,<br>Robyn Tippins<br>Community Manager, YDN</blockquote></div>
    0
  • Hi Robyn,

    As a follow up to the above conversations, I have a few questions. I'm planning to use Yahoo finance as the back end to develop my website so that it gives visitors the quote information. It is similar to putting in a ticker to get a quote in a trading brokerage website. As per yahoo finance TOS, am I allowed to do this or will I be violating them? Is there a fee I could pay to avoid violating them in case the answer to the above is that I'm violating them? If not is there a workaround all this like the badges you mentioned above?

    Thanks, Suman

    0
  • I think there is a no redistribute rule. You'd need to contact the Yahoo Finance team directly for more information. Help.yahoo.com.

    0
  • Hi duzins,

    What about if my commercial application helps the customer analyze the data while forcing him to agree with Yahoo! TOU. The app is actually just a "window" on the financial data, which is free, and the customer is using the data for is own personal benefit/information. The tools provided for analysis are the added value on which he would agree to pay for.

    Would that work ? Is this the way applications like PortfolioLive is dragging data from Yahoo! ?

    Best regards, Lorenzo

    0
  • Because of our own licenses for that data, you can not use the Finance data commercially. If you have any other questions about commercial terms, our team cannot help you. You need to reach out to the Finance team directly.

    0
  • YDN Team - I too want to obtain finance data for redistribution on a web site. I've used it for personal use and it is what I need. How exactly do I contact the Finance team directly?

    0
  • The contact form for the Finance team is here: http://developer.yahoo.com/register/

    0
  • I was wondering if there is any API for obtaining option prices?

    I would wish to use this purely for private use for a research project.

    Otherwise, perhaps I would need to consider web scraping or some paid service. Does Yahoo offer any such service?

    0
  • Oh, in answer to my own question apparently I can use YQL and the community tables from http://www.datatables.org/ - awesome!

    0
  • I see these types of posts all the time, so I am going to go ahead and answer this in detail:

    You cannot use their data for redistribution no matter what the case is (even if its a free website). I run three financial websites (including one free one) and can tell you that the issue is not with Yahoo! Finance, but with who they pull their data from, which is typically either straight from the exchanges or from a data aggregator (like Morningstar, Thomson Reuters, Interactive Data, etc.). You are required to sign redistribution agreements and pay redistribution fees with each exchange you display prices from even if you are pulling the data from a data aggregator and not directly from the exchange. Point being, you need to go directly to the exchanges or to a data aggregator that offers redistribution (still need to sign redistribution agreements). Note that your are still considered to be redistribution data even if you are just displaying the prices on your website and not actually allowing the users to download the data.

    Its pretty unfortunate - especially when you are providing an educational service as one of our sites does (to schools), but its how the exchanges make money and it wouldn't be fair to companies like ours that pay the redistribution fees for people to just be able to launch free financial apps.

    Redistribution of delayed equities prices is actually free anyways, but you still have to sign a redistribution agreement with the exchanges. You will also need to purchase access to a web service that offers the prices. You wont be able to find a decent quality web service without paying a fee, which is typically based on the number of hits (and sometimes data points) you consume. Here are a few data aggregators that have reasonable prices:

    xignite.com quotemedia.com financialcontent.com zacksdata.com

    3
  • HI,

    I have used the yahoofinance api. Could you pls any body help for me? get Historical currency Rates to quote.csv in yahoo finance. The yahoo only provide the historical currency chart only if it provide any xml or excel or csv format.

    Thanks, Devendran

    0
  • Hi, Is there a way to download my portfolio data from yahoo finance into my website.

    0
  • take look at this https://code.google.com/p/yahoo-finance-web-api/ hope it works...... :)

    0

Recent Posts

in General Discussion at YDN