How to get all comments on a YouTube video?

50,838

Solution 1

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.

Solution 2

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}

Solution 3

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.

Solution 4

You can fetch all the comments using 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.

Solution 5

$.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;
            $('.data').text(data);
            console.log(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

Share:
50,838

Related videos on Youtube

Paulie
Author by

Paulie

Updated on March 07, 2022

Comments

  • Paulie
    Paulie about 2 years

    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.

  • Zearin
    Zearin about 9 years
    Nice. It’s April 2015, and still no v3 way to get comments.
  • johnf
    johnf about 9 years
    The v3 API now supports comment retrieval developers.google.com/youtube/v3/docs/commentThreads/list
  • 6infinity8
    6infinity8 over 6 years
    Indeed, that works. The name of the API section is quite misleading though.
  • jax
    jax over 5 years
    Does this also get replies to replies, not just replies to top-level comments?
  • Mikheil Zhghenti
    Mikheil Zhghenti over 4 years
    Could I get the most up-voted comment without iteration ?
  • ryan yang
    ryan yang over 3 years
    This would only get top level comments