Get Youtube Video Thumbnail and Other Information with PHP and Youtube API

YouTube api version 2 provides all necessary information about videos on YouTube. If you want to create a video gallery or want to embed YouTube videos on your website then it can give you extra power.

In this post I am going to show you how to get YouTube videos information like video title, description, thumbnail and other information with YouTube JSON api and php.

Live Demo Download Source

Youtube API Function

youtube function receives YouTube video url as parameter. It automatically extracts video id from url and sends request to YouTube api server through curl.

/**
 * Youtube
 *
 * @version YouTube API V2
 * @param str youtube video url
 * @return object || void
 * @copyright w3bees.com
 */
function youtube($url)
{
  # get video id from url
  $urlQ = parse_url( $url, PHP_URL_QUERY );
  parse_str( $urlQ, $query );

  # YouTube api v2 url
  $apiURL = 'http://gdata.youtube.com/feeds/api/videos/'. $query['v'] .'?v=2&alt=jsonc';

  # curl options
  $options = array(
    CURLOPT_URL  => $apiURL,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_BINARYTRANSFER => true,
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_TIMEOUT => 5 );

  # connect api server through cURL
  $ch = curl_init();
  curl_setopt_array($ch, $options);
  # execute cURL
  $json = curl_exec($ch) or die( curl_error($ch) );
  # close cURL connect
  curl_close($ch);

  # decode json encoded data
  if ($data = json_decode($json))
    return (object) $data->data;
}

Usages

youtube function returns all information as object.

# call youtube api function
$youtube = youtube('http://www.youtube.com/watch?v=xxxxxxxxxx');
# title
$youtube->title;
# duration in seconds
$youtube->duration;
#video description
$youtube->description;
# thumbnail url High Quality
$youtube->thumbnail->hqDefault;
# thumbnail url Small Quality
$youtube->thumbnail->sqDefault;
# video rating out of five
$youtube->rating;
# total likes
$youtube->likeCount;
# video category
$youtube->category;
# total view
$youtube->viewCount;
# time upload time
$youtube->uploaded;

8 comments:

  1. thx man , i will use it

    ReplyDelete
  2. i m getting Plain youtube video description..from $youtube->description;
    how to get description same like in youtube?

    ReplyDelete
  3. How to get other websites videos thumbnail images?

    ReplyDelete
  4. This comment has been removed by a blog administrator.

    ReplyDelete
  5. Dapatkan disini , karena Obat Pelangsing slimming Capsule Di Apotik belum tersedia , karena slimming capsule tidak di jual di sembarang temapat termasuk di apotik pun tujuannya untuk menjaga ke aslian produk tersebut, karena sekarang banyak perusahaan yang meniru produk produk herbal sehingga herbal yang asli khasiatnya bisa di rusak oleh produk yang palsu. Untuk itu hati hati dengan slimming capsule

    and obat vig power capsule

    ReplyDelete
  6. Live demo is not working, Can you please check?

    ReplyDelete

Go to top