Culturegrid is a huge index of cultural assets in the UK (books, photographs, videos, locations...), and has a search API. It's XML, so if you want to do client-side stuff with it in Javascript it's going to be tricky. That's where this API proxy comes in handy.
Try the Culturegrid Mobile app which consumes the JSON via client-side javascript.
gem install culturegrid
results = CultureGrid.search("happy")
puts results.first.title
#=> "Portraits: The Happiest Girl in the World"
One thing that this API does not provide is a full image for a result.
Take a look at Culture Scraper which will allow you to get a full image for many of the results.