Yahoo! Query Language
Yahoo! Query Language (YQL) is an SQL-like query language created by Yahoo! as part of their Developer Network. YQL is designed to retrieve and manipulate data from APIs through a single Web interface, thus allowing mashups that enable developers to create their own applications[1] using Yahoo! Pipes online tool.
Initially launched in October 2008 with access to Yahoo APIs,[2] February 2009 saw the addition of open data tables from third parties such as Google Reader, the Guardian, and The New York Times.[3] Some of these APIs still require an API key to access them. On April 29 of 2009, Yahoo introduced the capability to execute the tables of data built through YQL using JavaScript run on the company's servers for free.[3] On January 3, 2019, Yahoo retired the YQL API service.
Examples
Filter RSS feeds
select title, link from rss where url = 'https://www.engadget.com/rss.xml'
Convert CSV to JSON or XML
select * from csv where url='http://download.finance.yahoo.com/d/quotes.csv?s=YHOO,GOOG,AAPL&f=sl1d1t1c1ohgv&e=.csv' and columns='symbol,price,date,time,change,col1,high,low,col2'
Extract HTML via CSS Selectors
SELECT * FROM data.html.cssselect WHERE url='http://www.w3.org/' AND css='ul.theme'
Get AppLinks meta data
SELECT * from applinks WHERE url IN ('movietickets.com', 'pinterest.com')
Parse any XML source
select Status.presence from xml where url = 'http://mystatus.skype.com/pjjdonnelly.xml' and Status.presence.lang = 'en'
Rate limits
Use of the YQL should not exceed reasonable request volume.[4] Access is limited as below:
- Per application limit (identified by your Access Key): 100,000 calls per day;
- Per IP limits: /v1/public/*: 2,000 calls per hour; /v1/yql/*: 20,000 calls per hour.
See also
References
- Perez, Juan Carlos (April 29, 2009). "Yahoo Extends YQL Web Data Query Platform". PC World.
- Kolakowski, Nicholas (April 29, 2009). "Yahoo Launches YQL Execute, Updates YSlow". eWeek. Archived from the original on July 31, 2012.
- O'Dell, Jolie (May 2, 2009). "Developers: Never Mind the APIs, Here's YQL Execute". ReadWriteWeb.
- "YQL".