crawlora-youtube — YouTube API client for Python
Python client for Crawlora's hosted YouTube API. It exposes 14 API endpoints covering search, channels, videos, playlists, comments, captions, and transcripts. Requests go to Crawlora; the package does not run a browser or scrape
YouTube locally. A Crawlora account and CRAWLORA_API_KEY are required,
and API use is billed under your Crawlora account. Crawlora is independent from and not endorsed by
YouTube or its owners.
Install
python -m pip install crawlora-youtube
Get an API key
Create an account at crawlora.net, then open the Crawlora console for API-key setup. Set your key in the shell before running the client:
export CRAWLORA_API_KEY="your-crawlora-api-key"
Use
Save this example as example.py, then run python example.py after installing the package and setting your API key.
import os
from crawlora_youtube import YouTubeClient
api_key = os.environ.get("CRAWLORA_API_KEY")
if not api_key:
raise RuntimeError("Set CRAWLORA_API_KEY before running this example.")
with YouTubeClient(api_key=api_key) as client:
result_1 = client.search(q='science explainers', type='video')
print(result_1)
result_2 = client.video(id='dQw4w9WgXcQ')
print(result_2)
result_3 = client.transcript(id='dQw4w9WgXcQ', format='text')
print(result_3)
The package also exports Client as an alias for YouTubeClient. Operation
methods are available directly in snake_case and through the youtube
group. The async package client is AsyncYouTubeClient; see the online
endpoint and parameter reference and runnable example.
Async usage
The package also exports AsyncClient for asynchronous requests:
import asyncio
import os
from crawlora_youtube import AsyncClient
async def main():
api_key = os.environ.get("CRAWLORA_API_KEY")
if not api_key:
raise RuntimeError("Set CRAWLORA_API_KEY before running this example.")
async with AsyncClient(api_key=api_key) as client:
result_1 = await client.transcript(id='dQw4w9WgXcQ', format='text')
print(result_1)
asyncio.run(main())
See the runnable example for a complete usage example.
Supported YouTube API endpoints
This package exposes every route below through direct snake_case methods and the youtube group. See the endpoint and parameter reference for complete input details.
| Method | Endpoint | API operation | Description |
|---|---|---|---|
GET |
/youtube/captions/{id} |
youtube-captions |
Retrieve auto-generated or human captions |
GET |
/youtube/channel/{id}/playlists |
youtube-channel-playlists |
Retrieve the playlists tab for a YouTube channel |
GET |
/youtube/channel/{id}/search |
youtube-channel-search |
Search within a YouTube channel |
GET |
/youtube/channel/{id}/shorts |
youtube-channel-shorts |
Retrieve the shorts tab for a YouTube channel |
GET |
/youtube/channel/{id}/videos |
youtube-channel-videos |
Retrieve the videos tab for a YouTube channel |
GET |
/youtube/comments/{id} |
youtube-comments |
Retrieve video comments (top-level & replies) |
GET |
/youtube/playlist/{id} |
youtube-playlist |
Retrieve playlist metadata and items |
GET |
/youtube/profile/{id} |
youtube-profile |
Retrieve channel profile |
GET |
/youtube/search |
youtube-search |
Search YouTube |
GET |
/youtube/suggest |
youtube-suggest |
Suggest YouTube search queries |
GET |
/youtube/tag/{tag} |
youtube-tag |
Retrieve YouTube videos by tag |
GET |
/youtube/transcript/{id} |
youtube-transcript |
Retrieve transcript for a YouTube video |
GET |
/youtube/transcript/{id}/languages |
youtube-transcript-languages |
List transcript languages for a YouTube video |
GET |
/youtube/video/{id} |
youtube-video |
Retrieve video metadata & captions |
Configuration
Pass your key through api_key or read CRAWLORA_API_KEY from the environment.
Keep credentials out of source control and logs. Requests go to Crawlora's
hosted API.
Metadata
Release files for crawlora-youtube 0.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| crawlora_youtube-0.1.9.tar.gz | 26.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| crawlora_youtube-0.1.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 52.8 kB
Release files / crawlora_youtube-0.1.9.tar.gz
| Download URL | crawlora_youtube-0.1.9.tar.gz |
|---|---|
| Size | 26.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5cf805e4e3b54c09821dfd382cc50d05f40d8d8a204c9b27161c88e328f706d9
|
|
BLAKE2b-256 checksum How to use checksums |
a10626376da6e26d6e37e057352a9930bcada0522668a940c134b9a892aa846e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / crawlora_youtube-0.1.9-py3-none-any.whl
| Download URL | crawlora_youtube-0.1.9-py3-none-any.whl |
|---|---|
| Size | 26.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9e06b885d3fef2472b02c7071a36c8c738e1c939557901ef5e40d1869bcd7842
|
|
BLAKE2b-256 checksum How to use checksums |
ec3d7a47dc980bd6e4457f15817d787f2a8e9ee9dc1c0d4fe8b1da5a5671815c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|