Migrating from TranscriptAPI.com: A Field Guide
Switching a YouTube transcript integration from TranscriptAPI.com to GetYouTubeTranscript - parameter mapping, a before/after curl example, endpoint equivalents, and the real gaps that do not map 1:1.
00:06:00 · SEP 26, 2026
Réponse rapide
Correspondance des paramètres
Les deux API s'authentifient avec un jeton bearer et acceptent une URL complète, une URL courte ou un simple ID vidéo. Voici comment le reste des paramètres de transcription de TranscriptAPI correspond aux nôtres :
| TranscriptAPI.com | GetYouTubeTranscript | Remarque |
|---|---|---|
Authorization: Bearer KEY | Authorization: Bearer KEY | Nous acceptons aussi x-api-key comme en-tête alternatif. |
video_url | v (ou url, videoId) | Mêmes formats acceptés : URL complète, URL courte, ou un ID de 11 caractères. |
language | language | Le nôtre prend un seul code avec une valeur par défaut, pas une liste de priorité séparée par des virgules - demandez une langue par appel. |
format=json|text | (aucun - toujours du texte brut) | Notre réponse renvoie toujours la transcription aplatie dans le champ transcript, équivalent à leur format=text. |
include_timestamp | (non exposé) | Les horodatages par segment (start/duration) ne sont pas dans notre réponse publique aujourd'hui - voir les écarts ci-dessous. |
send_metadata=true | (toujours inclus) | title, author_name, author_url et thumbnail_url sont toujours dans la réponse - aucun paramètre nécessaire. |
Avant / après
TranscriptAPI.com
curl -X GET "https://transcriptapi.com/api/v2/youtube/transcript?video_url=https://youtu.be/dQw4w9WgXcQ&language=en&send_metadata=true" \
-H "Authorization: Bearer YOUR_API_KEY"GetYouTubeTranscript
curl "https://getyoutubetranscript.com/api/v1/transcript?v=dQw4w9WgXcQ&language=en" \
-H "Authorization: Bearer sk_live_..."
# => { "success": true, "data": { "video_id": "...", "language_code": "en",
# "title": "...", "author_name": "...", "author_url": "...",
# "thumbnail_url": "...", "transcript": "...", "word_count": 1847 } }Même vidéo, un crédit dans les deux cas. Les métadonnées reviennent par défaut de notre côté, donc pas de paramètre send_metadata à retenir.
Autres endpoints
| TranscriptAPI.com | GetYouTubeTranscript | Remarque |
|---|---|---|
GET /youtube/info (gratuit) | GET /resolve?handle=... (gratuit) | Le nôtre résout un handle/URL en ID de chaîne ; pour les métadonnées vidéo, appelez /transcript et lisez les champs de la réponse. |
GET /youtube/search (1 crédit) | GET /search?q=... (1 crédit/page) | Même principe - recherche paginée, un crédit par page récupérée. |
GET /youtube/channel/resolve (gratuit) | GET /resolve?handle=... (gratuit) | Équivalent direct. |
GET /youtube/channel/videos (1/page) | GET /channel/videos?channel=... (1 crédit/page) | Même modèle de pagination - renvoyez le jeton de continuation de la réponse. |
GET /youtube/channel/search (1 crédit) | GET /channel/search?channel=...&q=... (1 crédit/page) | Équivalent direct. |
GET /youtube/channel/playlists, /channel/posts | (pas d'équivalent) | Pas proposé actuellement - voir les écarts ci-dessous. |
Ce qui ne correspond pas 1:1
- Pas d'horodatage par segment dans la réponse de l'API. Le format=json + include_timestamp=true de TranscriptAPI renvoie des segments avec start/duration ; notre API publique ne renvoie que la transcription aplatie. (Les horodatages par segment existent dans notre base de données et alimentent la vue de transcription cliquable sur le site lui-même - ils ne sont simplement pas encore dans la réponse publique de l'API.)
- language est un code unique ici, pas une liste de priorité. TranscriptAPI essaie une liste séparée par des virgules comme de,en,asr de gauche à droite ; le nôtre prend un code avec une valeur par défaut. Si vous dépendiez d'une chaîne de repli, réessayez vous-même avec une autre valeur.
- Pas d'endpoints de playlists de chaîne ou de posts de chaîne. Les /channel/playlists et /channel/posts de TranscriptAPI n'ont pas d'équivalent ici pour l'instant.
Si le texte de transcription, les métadonnées, la recherche et les données de chaîne couvrent votre cas d'usage, c'est presque un remplacement direct - inscrivez-vous pour 100 crédits gratuits (sans carte) et consultez la liste complète des tarifs et endpoints, ou la documentation de l'API pour la référence complète des paramètres.
FAQ de migration
Dois-je changer mon en-tête d'authentification ?
Non - les deux API utilisent Authorization: Bearer VOTRE_CLE. La nôtre accepte aussi x-api-key en alternative.
Mes URLs et IDs vidéo existants fonctionneront-ils toujours ?
Oui - les deux API acceptent une URL YouTube complète, une URL courte youtu.be, ou un ID de 11 caractères à la même position de paramètre (video_url là-bas, v ici).
Que se passe-t-il si j'envoie une liste de langues séparée par des virgules comme le format de TranscriptAPI ?
Notre paramètre language attend un seul code, pas une liste. Une valeur séparée par des virgules ne correspondra probablement pas - demandez une langue par appel, et réessayez avec une autre si vous avez besoin d'une chaîne de repli.
Puis-je obtenir des horodatages par segment depuis votre API ?
Pas depuis la réponse publique de l'API REST aujourd'hui - elle renvoie la transcription aplatie. Si votre migration en dépend, attendez que ce soit exposé, ou utilisez la vue de transcription du site lui-même, qui le prend en charge.
Est-ce gratuit à essayer ?
100 crédits gratuits à l'inscription, sans carte - de quoi tester les endpoints de transcription, recherche et chaîne avant de choisir un plan.
À lire aussi
- YouTube API Quota Exceeded: Causes and Fixes
- YouTube Transcript API Rate Limit: What It Is and How to Handle 429s
- YouTube Transcript MCP Server: Setup Guide for Claude and Other AI Tools
- YouTube Transcripts in n8n: HTTP Request Workflow Guide
- Migrating from Supadata: A Field Guide
- How to Get YouTube Transcripts in Python
- Build an AI YouTube Video Summarizer with LangChain and Next.js
- GetYouTubeTranscript vs TranscriptAPI
- GetYouTubeTranscript vs youtubetotranscript.com
- GetYouTubeTranscript vs youtube-transcript.io
- GetYouTubeTranscript vs NoteGPT