The YouTube Data API is a web API from Google (an interface that other programs call over the internet) that adds YouTube features to an application. It exposes YouTube data as resources, such as video, channel, playlist, playlistItem, subscription and search result, and each resource has a unique ID.
A developer creates a project in the Google Cloud console, enables the API and requests an API key; methods that act for a YouTube user need OAuth 2.0 authorization. Responses come as JSON. Typical calls search for videos by terms, topics, locations or publication dates, read video and channel details, upload videos and manage playlists. The part parameter limits a response to the fields the application needs. Code samples exist for Apps Script, Go, Java, JavaScript, .NET, PHP, Python and Ruby.
Use is limited by a quota: by default each project gets 10,000 units per day, plus 100 search calls and 100 uploads. A read usually costs 1 unit and a write 50 units, and more quota can be requested through a form. Google's overview pages describe the quota and list no price.