Find Videos with the YouTube Search API

The instant search feature at Zero Dollar Movies uses the YouTube data API to find free movies on the YouTube website.

When the user enters a search query, the script makes a request to the gdata.youtube.com (YouTube data API) for search results. The resultset is returned in JSON format. The code uses YouTube API v2 and, while optional, it may be a good idea to include a developer key in the API requests.

<input id="searchquery" />
<div id="results"></div>

<!-- Include the latest jQuery library -->
<script src="http://code.jquery.com/jquery-latest.min.js"></script>

<script type="text/javascript">
  jQuery(document).ready(function ($) {
    $('#searchquery').keyup(function () {
      // the search term
      var q = $('#searchquery').val().trim();

      // container to display search results
      var $results = $('#results');

      // YouTube Data API base URL (JSON response)
      var url = 'http://gdata.youtube.com/feeds/api/videos/?v=2&alt=jsonc&callback=?';

      // set paid-content as false to hide movie rentals
      url = url + '&paid-content=false';

      // set duration as long to filter partial uploads
      url = url + '&duration=long';

      // order search results by view count
      url = url + '&orderby=viewCount';

      // we can request a maximum of 50 search results in a batch
      url = url + '&max-results=50';

      $.getJSON(url + '&q=' + q, function (json) {
        var count = 0;

        if (json.data.items) {
          var items = json.data.items;
          var html = '';

          items.forEach(function (item) {
            // Check the duration of the video,
            // full-length movies are generally longer than 1 hour
            var duration = Math.round(item.duration / (60 * 60));

            // Filter out videos that aren't in the Film or Movies category
            if (duration > 1 && (item.category == 'Movies' || item.category == 'Film')) {
              // Include the YouTube Watch URL youtu.be
              html += '<p><a href="http://youtu.be/' + item.id + '">';

              // Add the default video thumbnail (default quality)
              html += '<img src="http://i.ytimg.com/vi/' + item.id + '/default.jpg">';

              // Add the video title and the duration
              html += '<h2>' + item.title + ' ' + item.duration + '</h2></a></p>';
              count++;
            }
          });
        }

        // Did YouTube return any search results?
        if (count === 0) {
          $results.html('No videos found');
        } else {
          // Display the YouTube search results
          $results.html(html);
        }
      });
    });
  });
</script>

Generate a YouTube Developer Key

You can go to the Google API console to create a developer key for your project. Go to cloud.google.com/console and start a new project. Give your project a unique name and then choose APIs to turn on the YouTube Data API. Next create a new key under Public API access, set the type as Browser key and the website referrer as your website address (to prevent abuse).

YouTube Data API Quota Limits

YouTube Data API v3’s quota is 50,000,000 units per day. The quota cost of making a single search request to YouTube is just 2 units and thus a normal web application is unlikely to exceed the quota anytime soon.

You can also enable billing the Google Cloud console to further increase your quota.

Amit Agarwal

Amit Agarwal

Google Developer Expert, Google Cloud Champion

Amit Agarwal is a Google Developer Expert in Google Workspace and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India.

Amit has developed several popular Google add-ons including Mail Merge for Gmail and Document Studio. Read more on Lifehacker and YourStory

0

Awards & Titles

Digital Inspiration has won several awards since it's launch in 2004.

Google Developer Expert

Google Developer Expert

Google awarded us the Google Developer Expert award recogizing our work in Google Workspace.

ProductHunt Golden Kitty

ProductHunt Golden Kitty

Our Gmail tool won the Lifehack of the Year award at ProductHunt Golden Kitty Awards in 2017.

Microsoft MVP Alumni

Microsoft MVP Alumni

Microsoft awarded us the Most Valuable Professional (MVP) title for 5 years in a row.

Google Cloud Champion

Google Cloud Champion

Google awarded us the Champion Innovator title recognizing our technical skill and expertise.

Email Newsletter

Sign up for our email newsletter to stay up to date.

We will never send any spam emails. Promise.