🐍 SDK PYTHON

SDK Python per trascrizioni YouTube: Pacchetto PyPI ufficiale

Estrai trascrizioni YouTube nelle tue applicazioni Python. Installa da PyPI, autenticati con la tua chiave API e integra l'estrazione delle trascrizioni nelle tue pipeline di dati, negli strumenti di ricerca e negli script di automazione.

INSTALLAZIONE

Terminale
pip install youtubetranscriptdevapi

GUIDA RAPIDA

Python
from youtubetranscript import YouTubeTranscript

yt = YouTubeTranscript("your_api_key")

result = yt.transcribe("dQw4w9WgXcQ")

print(f"Segments: {len(result.segments)}")
print(f"Duration: {result.duration:.0f}s")
print(f"Words: {result.word_count}")

for seg in result.segments[:5]:
    print(f"[{seg.start_formatted}] {seg.text}")

FUNZIONALITÀ

Python: Traduzione, fonte, formato
# Translate to any language
result = yt.transcribe("dQw4w9WgXcQ", language="es")

# Choose caption source
result = yt.transcribe("dQw4w9WgXcQ", source="manual")

# Format options
result = yt.transcribe("dQw4w9WgXcQ", format={"timestamp": True, "words": True})
Python: Elaborazione batch (fino a 7.000 video)
batch = yt.batch(["video1", "video2", "video3"])
for t in batch.completed:
    print(f"{t.video_id}: {t.word_count} words")
Python: Trascrizione audio ASR
job = yt.transcribe_asr("video_without_captions")
result = yt.wait_for_job(job.job_id)  # polls until complete
print(result.text)
Python: Formati di esportazione
print(result.to_srt())               # SRT subtitles
print(result.to_vtt())               # WebVTT subtitles
print(result.to_plain_text())        # Plain text
print(result.to_timestamped_text())  # Text with timestamps
Python: Ricerca e account
# Search within transcript
matches = result.search("keyword")

# Account stats
stats = yt.stats()
print(f"Credits: {stats.credits_remaining}")

# History
history = yt.list_transcripts(search="python tutorial", limit=5)

CLIENT ASINCRONO

Python: asyncio
import asyncio
from youtubetranscript import AsyncYouTubeTranscript

async def main():
    async with AsyncYouTubeTranscript("your_api_key") as yt:
        # Single
        result = await yt.transcribe("dQw4w9WgXcQ")

        # Concurrent
        results = await asyncio.gather(
            yt.transcribe("video1"),
            yt.transcribe("video2"),
            yt.transcribe("video3"),
        )

asyncio.run(main())

GESTIONE DEGLI ERRORI

Python
from youtubetranscript import YouTubeTranscript
from youtubetranscript.exceptions import (
    NoCaptionsError,
    AuthenticationError,
    InsufficientCreditsError,
    RateLimitError,
)

yt = YouTubeTranscript("your_api_key")

try:
    result = yt.transcribe("some_video")
except NoCaptionsError:
    job = yt.transcribe_asr("some_video")
    result = yt.wait_for_job(job.job_id)
except AuthenticationError:
    print("Check your API key")
except InsufficientCreditsError:
    print("Top up at youtubetranscript.dev/pricing")
except RateLimitError as e:
    print(f"Rate limited: retry after {e.retry_after}s")

RIFERIMENTO API

Metodo
transcribe(video, *, language, source, format)
transcribe_asr(video, *, language, webhook_url)
get_job(job_id)
wait_for_job(job_id, *, poll_interval, timeout)
batch(video_ids, *, language)
get_batch(batch_id)
list_transcripts(*, search, language, status, limit, page)
get_transcript(video_id, *, language, source)
stats()
delete_transcript(*, video_id, ids)

OGGETTO TRANSCRIPT

Proprietà / Metodo
segments
text
video_id
language
word_count
duration
to_srt()
to_vtt()
to_plain_text()
to_timestamped_text()
search(query)

OGGETTO SEGMENT

ProprietàDescrizione
textTesto del segmento
startOra di inizio (secondi)
endOra di fine (secondi)
durationDurata (secondi)
start_formattedFormato "MM:SS"
start_hmsFormato "HH:MM:SS"

COSTO IN CREDITI

OperazioneCosto
Estrazione dei sottotitoli1 credito
Traduzione1 credito ogni 2.500 caratteri
Trascrizione audio ASR1 credito ogni 90 secondi
Nuovo recupero di una trascrizione già tuaGratis

A CONFRONTO CON YOUTUBE-TRANSCRIPT-API (OPEN SOURCE)

Forse conosci il popolare pacchetto open source youtube-transcript-api. Ecco cosa distingue il nostro:

FunzioneSDK di YouTubeTranscript.devyoutube-transcript-api
Fallback con trascrizione IASì: gestisce anche i video senza sottotitoliNo: fallisce se non ci sono sottotitoli
Manutenzione e supportoManutenzione attiva con SLAMantenuto dalla community, aggiornamenti sporadici
Gestione dei rate limitIntegrata, con retry automaticiManuale: i rate limit li gestisci tu
Supporto a playlist / elaborazione in bloccoElaborazione batch integrataRichiede iterazione manuale
Blocchi da parte di YouTubeLato server: nessun rischio di blocco dell'IPLato client: il tuo IP può essere bloccato

ALTRI SDK E STRUMENTI

LinguaggioPacchetto
JavaScript / Nodeyoutube-transcript-api su npm
Dart / Flutteryoutubetranscript su pub.dev
Server MCPmcp.youtubetranscript.dev

DOMANDE FREQUENTI

Quali versioni di Python sono supportate?+

Python 3.8 e successive. Per un'esperienza ottimale con i type hint consigliamo Python 3.10+.

In cosa si differenzia da youtube-transcript-api?+

Il nostro SDK è il pacchetto ufficiale di YouTubeTranscript.dev. Include la trascrizione basata su IA per i video senza sottotitoli, l'estrazione lato server per evitare blocchi dell'IP, rate limiting integrato e supporto professionale. L'alternativa open source estrae solo i sottotitoli esistenti e funziona lato client.

Posso usarlo nei notebook Jupyter?+

Sì. L'API sincrona funziona perfettamente nei notebook Jupyter e in Google Colab. Usa l'API asincrona per l'elaborazione concorrente negli ambienti notebook.

Funziona con Django e Flask?+

Sì. L'SDK è indipendente dal framework e funziona con qualsiasi framework web Python. Usa l'interfaccia asincrona con framework asincroni come FastAPI.

Inizia a sviluppare con l'SDK Python

pip install, autenticazione ed estrai trascrizioni in pochi minuti.

VEDI SU PYPI →

Inizia a estrarre trascrizioni gratis

Converti qualsiasi video YouTube in testo in pochi secondi. Nessuna carta di credito richiesta.

PROVA YOUTUBETRANSCRIPT.DEV →
SDK Python per trascrizioni YouTube | YouTubeTranscript.dev