Skip to content

24 ways to impress your friends

The Web Is Your CMS


Comments are ordered by helpfulness, as indicated by you. Help us pick out the gems and discourage asshattery by voting on notable comments.

Got something to add? You can leave a comment below.

Michael Kowalski

Nice post, and YQL rather rocks. But I’m going to be nitpicky: you really mean “the web is your delivery tier” or something. There’s nothing about the “M” bit of CMS; all that stuff about business process (approvals, versioning, reporting, etc). Content aggregation is a very small part of the puzzle.


Beautiful tutorial, congratulations to you.

I came a doubt, how to use “YQL” on a page that asks me for a Username and Password?

such as a forum

Sorry for my bad English.

Bill Bolmeier

I love the title of this article, it’s so true. Thanks for the code, practical applications and resources. Great ways to pull everything together that’s already “out there”.


I first met YQL in .NET magazine (here in the UK) a while ago. The possibilities are very exciting, and really bring home the advantages of a semantic web.

Thanks Christian.


Saw a YQL demo at the devdays con in London and it was easily the most exciting technology I saw on the day. Thanks for the more indepth explanation and example Christian – although exactly how many different ways you need to be able to get pictures of funny cats I’m not too sure :)

Took me all of a few seconds to use YQL to create a page to search Australian Senate debates for information regarding the Internet Filter the Communication Minister is trying to implement. This is really technology at its best – fast, easy to use and incredibly practical. Well done Yahoo for pushing the development and thank you Christian for being such a good spokesman for it.

Chris Heilmann

Thanks for all the kind words.

@Michael, true, the M is not there, the idea was to make people aware of the opportunities you have by distributing your data on the web – something a CMS can not do for you (external comments, getting visibility where people already are rather than going to your site…)

@steerpike full of win! Good, current example.


Achtung, Heilmann. Excellent article that finally gave me the overview of YQL that I’d been missing.

Seems very cool and will help me with a small Xmas project. Unfortunately, you lost me at “Do the curl call”. Care to explain what’s happening there?

Kyle Fox

Great article, this has definitely piqued my interest in using YQL. Until now it’s been one of those technologies I kind of glossed over, but you’ve definitely shown how practical it is.

Why was PHP was chosen as the language to demonstrate YQL? Since I’m not a PHP coder, I’m with Bruce — you lost me at the curl example. Seems like there’s a lof PHP-specific code there which, for me, got in the way.

Chris Heilmann

@brucel cURL – – is a piece of software that is ubiquitous these days – any unix (or mac) computer comes with it (just go to the command line and type “curl —url” for example). What it allows you to do is to make requests to the web and get back the data – much like a browser does, but from any other programming language. It is a very basic tool that anyone who wants to play with APIs should know about. A simple google search gives you lots of examples how to use it. I’ve talked about it 2 years ago in Sweden and Gareth Rushgrove’s a first class web citizen is probably the best introduction to using cURL to work with APIs” I’ve seen.

@kylefox – I used PHP as this is the server-side programming language that is the most common for people to use. You can use YQL in any other language – as it is a web service, but doing the same in JavaScript for example is not safe as not every user has it enabled and you don’t want a web site that is JS dependent. Almost every hosting package comes with PHP – had I used Python or Ruby it would be harder to use this code.

I’ve always been very annoyed with for example Ajax tutorials that totally glossed over the server-side component of Ajax solutions. We cannot be arrogant about the backend and just see it as something that just happens. This is why we have a lot of insecure web sites out there and this is why people put data in JavaScript that shouldn’t be there and wonder when others steal their data.

Using PHP is easy for anybody with simple HTML and JavaScript or indeed programming skills. And the benefits of using it are quite outstanding – from using simple includes for re-use to generating dynamic navigation menus. JavaScript is cool (and I have written several books on it – that is how much I like it) but it is not a language to build crucial web content with.


@Bruce and @Kyle,
I wrote a quick post on how I used YQL with javascript to produce a single page of content and then used the same YQL call in PHP to generate a RSS feed. I thought it might be useful for people to see how you can do almost exactly the same call but with two different languages for different end results.

I thought it might also be easier for front-end engineers to be able to compare the javascript version with the PHP one.

Juarez P. A. FIlho

YQL is fantastic… Aggregate all these APIs and other cool stuffs makes our work easy.
I knew about YQL in a PHP’s Event in São Paulo – Brasil and I was shocked.
Unfortunately I still couldn’t put my fingers on it… I hope so soon.
Great article Heilmann.

Simon T

Great article Heilmann,

I have just started playing around with a few rss feeds and did not know you could even do this. Curl is a little confusing to me as the others say but I am sure it would be worth the investment in time to master this small technique.

I will have to try YQL on my next project.

Pietro Polsinelli

I like your perspective, so much that I’ve been working on trying to take “the web is your CMS” seriously, and putting together a service that will allow to offer the full spectrum of CMS services from the mashup perspective, here:

It is a beta, but it should begin to give the idea of the direction we are taking. With this kind of service in easy cases you should be freed of even having to code against the mashup, and you get what the mashup approach most misses: state.

Drew Brees

This example is an excellent solution for a problem I’ve been facing. Sending so many queiries on the fly for a search program I’m scripting is bringing back all manner of problems. This should solve one major issue so thank-you very much.

Brad Proctor

Wow, I’ve never heard of YQL before. It’s a great idea and it makes a lot of sense for accessing information from other websites. Thanks for sharing, I’m going to have to look into this. We have a website that pulls in data from other sources and I’ve always done it the hard way.

Impress us

Be friendly / use Textile