The Yahoo! Query Language is an expressive SQL-like language that lets you query, filter, and join data across Web services. With YQL, apps run faster with fewer lines of code and a smaller network footprint.
Yahoo! and other websites across the Internet make much of their structured data available to developers, primarily through Web services. To access and query these services, developers traditionally endure the pain of locating the right URLs and documentation to access and query each Web service.
With YQL, developers can access and shape data across the Internet through one simple language, eliminating the need to learn how to call different APIs.
YQL exposes an SQL-like SELECT syntax that is both familiar to developers and expressive enough for getting the right data. Through the SHOW and DESC commands, we enable developers to discover the available data sources and structure without opening another Web browser.
YQL Open Data Tables
Open Data Tables enable developers to add tables for any data on the Web to our stable of API-specific tables. Using Open Data Tables, anyone can make their data YQL-accessible. If you would like to create an Open Data Table, visit the community page at http://datatables.org.
Building upon Open Data Tables, the Execute element gives developers full control of how the data is fetched into YQL and how it's presented back to the user. With Execute, developers can build tables that manipulate, change, and sign the URLs to access almost any protected content. This lets YQL access and combine data across a variety of different authenticated services such as Netflix or Twitter. Developers can call multiple services and data sources within Execute to join and mash up data however they desire, letting Yahoo! do the work rather than their applications. Data can be tweaked and manipulated into an optimal format for applications to consume.
CSS selectors for HTML - a CSS selector table for getting data from HTML pages
use 'http://yqlblog.net/samples/data.html.cssselect.xml' as data.html.cssselect;
select * from data.html.cssselect where url="www.yahoo.com" and css=".accordion-stories a"
YQL Insert/ Update/ Delete
You can use YQL to write and modify data on Web services and applications using SQL keywords: INSERT, UPDATE, and DELETE. These verbs let you manipulate data mapped onto an Open Data Table and enables developers to use Open Data Tables to do the following:
Try creating a new Yahoo! update from the YQL console by
following this link:
INSERT INTO social.updates (guid, title, description) VALUES (me, "Using YQL", "Try YQL, it's fun.");
Our goal is to make it easy for you to use YQL in the widest possible range of applications. Please read the notice and usage limits described below for more information. If you have additional questions, please read the YQL Terms of Service and/or contact us at the email address below.
Deprecation Policy of the YQL Web Service
Yahoo! will notify users six months in advance with an announcement on this Web page and in our forum if it intends to discontinue or make backwards incompatible changes to the YQL Web Service.
Please send email to yql-questions [at] yahoo-inc.com with requests for additional information.
Content or API providers can opt out or restrict YQL access to their data by following the instructions in YQL for Content and API Providers.
Please remember that it is your responsibility to obtain the necessary permissions from the content or API providers to use their content or services, separate from your use of YQL: neither Yahoo! nor your use of YQL cover those permissions.
Questions and suggestions on YQL are discussed on the YQL Developer Community forum. If you have questions or need technical support, please use this forum.
Your use of YQL is subject to the YQL Terms of Service