'I am getting an error while using Python YouTube API

I am trying to create a Python program to get channel statisitics, but when I run it the YouTube API website gives this output (error):

{
  "error": {
    "code": 400,
    "message": "'statisitcs'",
    "errors": [
      {
        "message": "'statisitcs'",
        "domain": "youtube.part",
        "reason": "unknownPart",
        "location": "part",
        "locationType": "parameter"
      }
    ]
  }
}

This is my code:

class YTstats:
    def __init__(self, api_key, channel_id):
        self.api_key = api_key
        self.channel_id = channel_id
        self.channel_stats = None

    def get_channel_statistics(self):
        url = f'https://www.googleapis.com/youtube/v3/channels?part=statisitcs&id={self.channel_id}&key={self.api_key}'
        print(url)

API_KEY = 'I cannot share my api key so I am not showing it but it is in my code'
yt = YTstats(API_KEY, 'UCbXgNpp0jedKWcQiULLbDTA')
yt.get_channel_statistics()


Solution 1:[1]

You have a typo here part=statisitcs - as you mentioned in your comment - and after looking closely to the code you provided in your question.

Next time, check closely your codd and try to replicate the error using the try-it demo feature in the YouTube Data API documentation.


I do get the statistics of the channel_id you provided - that is: UCbXgNpp0jedKWcQiULLbDTA:

These are their statistics:

"statistics": {
    "viewCount": "5642720",
    "subscriberCount": "98400",
    "hiddenSubscriberCount": false,
    "videoCount": "158"
  }
}

See demo

Here is the full response:

{
  "kind": "youtube#channelListResponse",
  "etag": "lG-nYlbLnN81gtjVKe1zKPW6v7A",
  "pageInfo": {
    "totalResults": 1,
    "resultsPerPage": 5
  },
  "items": [
    {
      "kind": "youtube#channel",
      "etag": "j4Fo8qKbWrLHnQYB8sCI8_I4v9A",
      "id": "UCbXgNpp0jedKWcQiULLbDTA",
      "snippet": {
        "title": "Python Engineer",
        "description": "Free Python and Machine Learning Tutorials!\n\nHi, I'm Patrick. I’m a passionate Software Engineer who loves Machine Learning, Computer Vision, and Data Science. I create free content in order to help more people get into those fields. If you have any questions, feedback, or comments, just shoot me a message! I am happy to talk to you :)\n\nIf you like my content, please subscribe to the channel!\n\nPlease check out my website for more information:\nhttps://www.python-engineer.com\n\nIf you find these videos useful and would like to support my work you can find me on Patreon:\nhttps://www.patreon.com/patrickloeber\n\nLegal: https://www.python-engineer.com/legal-notice/\n",
        "customUrl": "pythonengineer",
        "publishedAt": "2019-05-03T11:22:33Z",
        "thumbnails": {
          "default": {
            "url": "https://yt3.ggpht.com/ytc/AKedOLTs-Pvd4mvUi-m2rDLd8bzrKwS5a8C9HnDbkUDzHw=s88-c-k-c0x00ffffff-no-rj",
            "width": 88,
            "height": 88
          },
          "medium": {
            "url": "https://yt3.ggpht.com/ytc/AKedOLTs-Pvd4mvUi-m2rDLd8bzrKwS5a8C9HnDbkUDzHw=s240-c-k-c0x00ffffff-no-rj",
            "width": 240,
            "height": 240
          },
          "high": {
            "url": "https://yt3.ggpht.com/ytc/AKedOLTs-Pvd4mvUi-m2rDLd8bzrKwS5a8C9HnDbkUDzHw=s800-c-k-c0x00ffffff-no-rj",
            "width": 800,
            "height": 800
          }
        },
        "localized": {
          "title": "Python Engineer",
          "description": "Free Python and Machine Learning Tutorials!\n\nHi, I'm Patrick. I’m a passionate Software Engineer who loves Machine Learning, Computer Vision, and Data Science. I create free content in order to help more people get into those fields. If you have any questions, feedback, or comments, just shoot me a message! I am happy to talk to you :)\n\nIf you like my content, please subscribe to the channel!\n\nPlease check out my website for more information:\nhttps://www.python-engineer.com\n\nIf you find these videos useful and would like to support my work you can find me on Patreon:\nhttps://www.patreon.com/patrickloeber\n\nLegal: https://www.python-engineer.com/legal-notice/\n"
        }
      },
      "contentDetails": {
        "relatedPlaylists": {
          "likes": "",
          "uploads": "UUbXgNpp0jedKWcQiULLbDTA"
        }
      },
      "statistics": {
        "viewCount": "5642720",
        "subscriberCount": "98400",
        "hiddenSubscriberCount": false,
        "videoCount": "158"
      }
    }
  ]
}

Try to wait a few minutes after the call you made - probably, the API couldn't retrieve the data you requested due to excessive requests or the channel itself didn't have their statistics publicly available.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1