Skip to main content

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.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for crawlora-youtube 0.2.0
File Size Uploaded
crawlora_youtube-0.2.0.tar.gz 26.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for crawlora-youtube 0.2.0
File Interpreter ABI Platform
crawlora_youtube-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 52.9 kB

Release files / crawlora_youtube-0.2.0.tar.gz

Download URL crawlora_youtube-0.2.0.tar.gz
Size 26.3 kB
Tags Source
SHA-256 checksum
How to use checksums
42ca9b144980be75a884a6ea6a8f9de57784b33e47ccad2110bfb3d643c1533c
BLAKE2b-256 checksum
How to use checksums
9d676d630e47d3da3e3d7208a1540a0447e1a99ca95f8c011b76beb1f80029cf
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.2.0-py3-none-any.whl

Download URL crawlora_youtube-0.2.0-py3-none-any.whl
Size 26.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c1aac23b4aca88b2b7eb0f31084fdefa0b525098ebcd9f11b30794b3068d36aa
BLAKE2b-256 checksum
How to use checksums
f12e95d54ead1f77f770f6102484798a7d1f94f44d3569937e2a19d25de19b79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page