Paulie
Paulie

Reputation: 1587

How to get all comments on a YouTube video?

Since Google has deprecated the YouTube v2 API, I cannot find a way to get all the comments from a video.

Is it possible to use a single, non-deprecated API (Google+, YT v3) to do that?

I am not concerned about maintaining threading.

Upvotes: 46

Views: 63376

Answers (5)

user2475624
user2475624

Reputation: 481

You can fetch all the comments using this API: https://www.googleapis.com/youtube/v3/commentThreads

The Youtube API v3.0 allows you the following parameters.

  1. textFormat - This parameter indicates whether the API should return comments formatted as HTML or as plain text. The default value is html.

  2. videoId - The Youtube Video ID you want to fetch comments for ( if you dont know your Youtube Video ID, you can get one from Youtube Video ID Finder )

  3. maxResults - The maxResults parameter specifies the maximum number of items that should be returned in the result set.

  4. pageToken - The pageToken parameter identifies a specific page in the result set that should be returned. In an API response, the nextPageToken property identifies the next page of the result that can be retrieved.

Upvotes: 3

D V Yogesh
D V Yogesh

Reputation: 3700

Through an Ajax call with jQuery:

$.ajax({
  dataType: "jsonp",
  type: 'GET',
  url: "https://www.googleapis.com/youtube/v3/commentThreads?key=PUT-YOUR-KEYXXXXXXX&textFormat=plainText&part=snippet&videoId=PUT-YOUR-VIDEO-ID",
  success: function(result){
    data = result;
    console.log(data);
    $('.data').text(data);
  }
});

To find PUT-YOUR-KEY(API key) ---> https://console.developers.google.com/apis/credentials then click on blue color button select API key option you can get

Upvotes: 2

jayant singh
jayant singh

Reputation: 899

Believe me it works

https://www.googleapis.com/youtube/v3/commentThreads?key=******************&textFormat=plainText&part=snippet&videoId=kffacxfA7G4&maxResults=50

Key will be provided by the google developer console and 50 denotes 50 comments in form of a json, video id is the id of the video. For any type of queries comment below.

Upvotes: 37

Feng Liu
Feng Liu

Reputation: 1022

You can get only 100 at most at a time with the comments API. But you get a nextPageToken from the comment api response. Pass &pageToken={nextPageToken} to next api call, until the nextPageToken is undefined. Then you can get all comments if you like.

https://www.googleapis.com/youtube/v3/commentThreads?key={your_api_key}&textFormat=plainText&part=snippet&videoId={video_id}&maxResults=100&pageToken={nextPageToken}

Upvotes: 13

corazza
corazza

Reputation: 32374

Apparently it is now possible to fetch comment threads.


(old answer)

Currently that's impossible with a first-party tool.

Source:

While v3 offers the majority of v2 functionality, there are currently a couple of tasks that can only be done with the older API. Specifically, applications that manage captions or that work with video comments still need to use the v2 API until modern equivalents are available. Our goal is to provide similar functionality well before the April 2015 shut-off date—please subscribe to this blog, the YouTube Data API v3 revision history page, or follow +YouTubeDev on Google+ to keep up-to-date. - http://apiblog.youtube.com/2014/03/committing-to-youtube-data-api-v3.html

TubeKit (YouTube crawling toolkit) might be of help to some.

Upvotes: 11

Related Questions