Youtube Transcript - Reliable, PPR
Pricing
$3.00 / 1,000 transcripts
Go to Store
Youtube Transcript - Reliable, PPR
Download transcripts for Youtube videos; Reliable, Cheap, PPR; $3/1000 results
0.0 (0)
Pricing
$3.00 / 1,000 transcripts
0
2
2
Last modified
3 days ago
YouTube Transcript Downloader - Apify Actor
Download transcripts from YouTube videos with support for multiple languages.
Pricing
- Pay per result: $2.99 per 1,000 transcripts ($0.00299 per transcript)
Features
- Download transcripts from multiple YouTube videos
- Support for different languages
- Multiple output formats (plain text, SRT, VTT, JSON)
Input Configuration
- urls - list of Youtube urls.
- lanauge - Optional; if not specified, will get original language for each video.
{"urls": ["https://www.youtube.com/watch?v=VIDEO_ID"],"language": "en",}
Output Schema
Each result contains:
{"videoId": "VIDEO_ID","videoUrl": "https://...","videoTitle": "Video Title","channelName": "Channel Name","duration": 360,"language": "en","transcript": "Full transcript text","transcriptSegments": [{"text": "Segment text","start": 0,"duration": 5.2,"end": 5.2}],"fetchedAt": "2024-01-01T00:00:00Z","hash": "md5_hash_of_transcript"}
How to Use
Using Python
1. Start an Actor Run
import requests# Your Apify API tokenAPI_TOKEN = "your_apify_api_token"ACTOR_ID = "your_username/youtube-transcript-reliable"# Start the actorurl = f"https://api.apify.com/v2/acts/{ACTOR_ID}/runs"headers = {"Authorization": f"Bearer {API_TOKEN}","Content-Type": "application/json"}# Input for the actorinput_data = {"urls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ","https://www.youtube.com/watch?v=9bZkp7q19f0"],"language": "en"}# Start the runresponse = requests.post(url, json=input_data, headers=headers)run_info = response.json()run_id = run_info["data"]["id"]print(f"Actor run started with ID: {run_id}")
2. Wait for Run to Complete
import time# Check run statuswhile True:status_url = f"https://api.apify.com/v2/acts/{ACTOR_ID}/runs/{run_id}"response = requests.get(status_url, headers=headers)run_status = response.json()status = run_status["data"]["status"]print(f"Run status: {status}")if status in ["SUCCEEDED", "FAILED", "ABORTED"]:breaktime.sleep(2) # Wait 2 seconds before checking again
3. Get the Results
# Get dataset items (transcripts)dataset_id = run_status["data"]["defaultDatasetId"]dataset_url = f"https://api.apify.com/v2/datasets/{dataset_id}/items"response = requests.get(dataset_url, headers=headers)transcripts = response.json()# Process each transcriptfor transcript in transcripts:print(f"\nVideo: {transcript['videoTitle']}")print(f"Channel: {transcript['channelName']}")print(f"Language: {transcript['language']}")print(f"Transcript preview: {transcript['transcript'][:200]}...")
Complete Example Script
from apify_client import ApifyClient# Initialize the ApifyClient with your API tokenclient = ApifyClient("your_apify_api_token")# Prepare the actor inputrun_input = {"urls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ","https://www.youtube.com/watch?v=9bZkp7q19f0"],"language": "en"}# Run the actor and wait for it to finishrun = client.actor("your_username/youtube-transcript-reliable").call(run_input=run_input)# Fetch results from the run's datasetfor item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"Video: {item['videoTitle']}")print(f"Transcript: {item['transcript'][:500]}...") # First 500 charsprint("-" * 80)
Using cURL
# Start the actorcurl -X POST https://api.apify.com/v2/acts/your_username~youtube-transcript-reliable/runs \-H "Authorization: Bearer YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"urls": ["https://www.youtube.com/watch?v=VIDEO_ID"],"language": "en"}'
Input Parameters
Parameter | Type | Required | Default | Description |
---|---|---|---|---|
urls | Array | Yes | - | List of YouTube video URLs to process |
language | String | No | "en" | Language code for transcripts (e.g., "en", "es", "fr") |
Monitoring
View runs and logs in the Apify Console:
- Run history and statistics
- Detailed logs for debugging
- Dataset results
- Usage metrics for billing