Shane Vitarana more brain > blog.html

Introducing YouTube-G

Walter Korman and I are proud to release youtube-g version 0.4.1.

youtube-g is a pure Ruby client for the YouTube GData API. It provides an easy way to access the latest YouTube video search results from your own programs. In comparison with the earlier Youtube search interfaces, this new API and library offers much-improved flexibility around executing complex search queries to obtain well-targeted video search results.

More detail on the underlying source Google-provided API is available at:


Aims to be in parity with Google’s YouTube GData API. Core functionality is currently present – work is in progress to fill in the rest.


Create a client:

require 'youtube_g'
client =

Basic queries:

client.videos_by(:query => "penguin")
client.videos_by(:tags => ['tiger', 'leopard'])
client.videos_by(:categories => [:news, :sports])
client.videos_by(:categories => [:news, :sports], :tags => ['soccer', 'football'])
client.videos_by(:user => 'liz')

Standard feeds:

client.videos_by(:top_rated, :time => :today)

Advanced queries (with boolean operators OR (either), AND (include), NOT (exclude)):

client.videos_by(:categories => { :either => [:news, :sports], :exclude => [:comedy] }, :tags => { :include => ['football'], :exclude => ['soccer'] })


Rubyforge project:


Google Group:



0.4.1 / 2008-02-11

0.4.0 / 2007-12-18

0.3.0 / 2007-09-17


Our previous library, youtube, has been deprecated. Please use youtube-g from now on.

Who can guess what the name youtube-g is in reference to? Hint: Like us, you probably used BBS’s before the days of the web, when wide adoption of TCP/IP was still a few years away.