1) The YouTube API allows developers to programmatically access YouTube video data and services to build applications that search, retrieve, and interact with YouTube content.
2) The API uses REST principles and returns data in XML formats. It supports searching for videos, channels, playlists and other metadata as well as commenting, rating, and uploading videos.
3) Authentication is required to interact with user-specific data and is done through an API key and OAuth or ClientLogin methods depending on the level of access needed.