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
JavaScript
HTTP
MCP
1from apify_client import ApifyClient2
3# Initialize the ApifyClient with your Apify API token4# Replace '<YOUR_API_TOKEN>' with your token.5client = ApifyClient("<YOUR_API_TOKEN>")6
7# Prepare the Actor input8run_input = {9    "searchQueries": ["Crawlee"],10    "maxResults": 10,11    "maxResultsShorts": 0,12    "maxResultStreams": 0,13}14
15# Run the Actor and wait for it to finish16run = 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-startGet 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"}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.
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.
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!
Python-ready YouTube data extraction
Connect to hundreds of apps right away using ready-made integrations, or set up your own with webhooks and our API.
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.
Yes, it's legal to scrape publicly available YouTube data using Python API clients as long as you comply with copyright regulations and personal data protection laws like GDPR. You should have legitimate reasons for scraping and avoid collecting personal data without proper justification. Always consult legal counsel if you're unsure about your specific use case.
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.