YouTube API Python Client

Extract YouTube data with our YouTube API Python client. Get programmatic access to comments data, channel information, video titles, descriptions, view counts, subscriber numbers, and more using simple Python code. Start free, no credit card required.

Trusted by industry leaders all over the world

Integrate our YouTube API

The Apify API client for Python is the official library that allows you to use YouTube API in Python, providing convenience functions and automatic retries on errors. Get started with simple pip installation and robust error handling built-in.

Python

Python

JavaScript

JavaScript

HTTP

HTTP

MCP

MCP

1from apify_client import ApifyClient
2
3# Initialize the ApifyClient with your Apify API token
4# Replace '<YOUR_API_TOKEN>' with your token.
5client = ApifyClient("<YOUR_API_TOKEN>")
6
7# Prepare the Actor input
8run_input = {
9 "searchQueries": ["Crawlee"],
10 "maxResults": 10,
11 "maxResultsShorts": 0,
12 "maxResultStreams": 0,
13}
14
15# Run the Actor and wait for it to finish
16run = client.actor("streamers/youtube-scraper").call(run_input=run_input)
17
18# Fetch and print Actor results from the run's dataset (if there are any)
19print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
20for item in client.dataset(run["defaultDatasetId"]).iterate_items():
21 print(item)
22
23# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

Get data with YouTube API Python client

Use our Python API client to extract YouTube data by providing URLs or search terms as input parameters. The API returns structured data, including video titles, descriptions, view counts, subscriber numbers, channel information, comments, subtitles, thumbnails, duration, release dates, and comprehensive metadata in JSON format.

Input

{
"startUrls": [],
"maxResults": 10,
"searchQueries": [
"Crawlee"
],
"subtitlesFormat": "srt",
"maxResultStreams": 0,
"maxResultsShorts": 0,
"subtitlesLanguage": "any"
}

Output

{
"_fromStrapi": true,
"id": "CwRMBKk8St0",
"url": "<https://www.youtube.com/watch?v=CwRMBKk8St0>",
"date": "5 years ago",
"title": "LET'S ARGUE: Beyoncé Fails the Bechdel Test!",
"duration": "13:48",
"fromYTUrl": "<https://www.youtube.com/results?search_query=bechdel+test>",
"viewCount": 635379,
"channelUrl": "<https://www.youtube.com/@fantano>",
"channelName": "fantano"
}

How to use YouTube API

Sign up for Apify account01

Creating an account is quick and free — no credit card required. Your account gives you access to more than 5,000 scrapers and APIs.

Get started for free
Install Apify Python client02

Install the Apify Python client using pip: pip install apify-client. This package provides a simple interface to interact with YouTube API from your Python applications.

Get your Apify API token03

Go to settings in the Apify console and navigate to the “API & Integrations” tab. There, create a new token and save it for later.

Integrate YouTube API04

Navigate to the YouTube API page and click on the API dropdown menu in the top right corner. In the dropdown menu, you can see API clients, API endpoints, and more. Use the provided Python code examples to integrate YouTube API into your Python application.

Open YouTube Python API
Get your YouTube data via API05

The YouTube API returns structured JSON data that works perfectly with pandas, NumPy, and other Python data analysis libraries.

Why use Apify?

Never get blocked

Every plan (free included) comes with Apify Proxy, which is great for avoiding blocking and giving you access to geo-specific content.

Customers love us

We truly care about the satisfaction of our users and thanks to that we're one of the best-rated data extraction platforms on both G2 and Capterra.

Monitor your runs

With our latest monitoring features, you always have immediate access to valuable insights on the status of your web scraping tasks.

Export to various formats

Your datasets can be exported to any format that suits your data workflow, including Excel, CSV, JSON, XML, HTML table, JSONL, and RSS.

Integrate Apify to your workflow

You can integrate your Apify runs with platforms such as Zapier, Make, Keboola, Google Drive, or GitHub. Connect with practically any cloud service or web app.

Large developer community

Apify is built by developers, so you'll be in good hands if you have any technical questions. Our Discord server is always here to help!

Frequently asked questions

While YouTube does provide an official Python API client through the Google API Client Library, this scraper goes beyond those limitations to extract additional public data points that the official Python API client doesn't allow access to. Our tool finds comprehensive data in bulk, including metadata and detailed analytics that aren't available through YouTube's standard Python API client endpoints.

Yes, you can try Apify's YouTube Python API client for free. Apify offers free account creation, and the YouTube scraper uses a price-per-result model at $5.00 for 1,000 videos ($0.005 per result). You can test the Python API client with a small dataset to evaluate its performance for your specific use case before committing to larger extractions.

You can extract comprehensive data including video titles, descriptions, view counts, subscriber numbers, comments, channel names, social media links, subtitles, video URLs, channel locations, total videos, duration, release dates, hashtags, thumbnails, number of likes, and detailed channel information. The Python API client can handle videos, channels, playlists, shorts, streams, and search results.

Getting started with our YouTube Python API is easy — simply create a free Apify account, get your API token, and start using the YouTube API in Python, JavaScript, CLI, cURL, OpenAPI, or MCP.

Get started with YouTube API Python client today

Get your first YouTube data in Python in less than 5 minutes. No credit card required. No commitment. Cancel anytime.