Build powerful integrations with our RESTful API. Extract transcripts programmatically with support for multiple languages and formats.
Test the API directly from your browser. Enter your API key and a YouTube URL to see the API in action.
The YTT API allows you to programmatically extract transcripts from YouTube videos. Our API is RESTful and returns JSON responses.
https://yttapi.com/api/v11# Get transcript for a single video2curl -X GET "https://yttapi.com/api/v1/transcripts?id=dQw4w9WgXcQ" \3 -H "Authorization: Bearer YOUR_API_KEY"45# Bulk transcript extraction6curl -X POST "https://yttapi.com/api/v1/transcripts" \7 -H "Authorization: Bearer YOUR_API_KEY" \8 -H "Content-Type: application/json" \9 -d '{10 "ids": [11 "dQw4w9WgXcQ",12 "https://youtube.com/watch?v=xyz123"13 ]14 }'All API requests require authentication using an API key. Include your API key in the Authorization header:
Authorization: Bearer YOUR_API_KEYKeep your API key secure
Never expose your API key in client-side code or public repositories. Use environment variables and server-side requests.
Below are all available API endpoints. Click on an endpoint to see details, parameters, and example responses.
Leverage AI to summarize videos and chat with transcripts. AI features require higher tier plans and use more credits due to LLM processing costs.
Generate intelligent summaries in multiple formats: brief, detailed, bullet-points, chapters, or key-takeaways.
Ask questions about video content. The AI analyzes the transcript and provides accurate, contextual answers.
AI summaries are priced based on video duration at 0.67 credits per minute (minimum 5 credits). If you don't have enough credits for a full summary, we'll process as much as your credits allow.
| Video Duration | Credits | Example Cost |
|---|---|---|
| 15 minutes | 10 credits | $0.04 (Popular tier) |
| 30 minutes | 20 credits | $0.08 (Popular tier) |
| 60 minutes | 40 credits | $0.16 (Popular tier) |
| 120 minutes | 80 credits | $0.32 (Popular tier) |
| Any length | ~0.67/min | Pay for what you use |
Rate limits vary by plan. Exceeding your rate limit will result in a 429 error. Rate limit headers are included in every response.
| Plan | Requests | Concurrent |
|---|---|---|
| FREE | 5 credits on signup | 2 |
| PLUS | 2,500+ credits purchased | 10 |
| PRO | 10,000+ credits purchased | 50 |
| ENTERPRISE | Custom | Unlimited |
X-RateLimit-Limit: 10000X-RateLimit-Remaining: 9876X-RateLimit-Reset: 1705312800The API uses standard HTTP status codes to indicate success or failure. Error responses include a JSON body with more details.
| Code | Name | Description |
|---|---|---|
| 400 | Bad Request | Invalid request parameters |
| 401 | Unauthorized | Invalid or missing API key |
| 403 | Forbidden | Rate limit exceeded or insufficient permissions |
| 404 | Not Found | Resource not found |
| 422 | Unprocessable Entity | Video has no available transcript |
| 429 | Too Many Requests | Rate limit exceeded |
| 500 | Internal Server Error | Server error, please try again |
{ "error": { "code": "rate_limit_exceeded", "message": "You have exceeded your rate limit. Please try again later.", "status": 429, "details": { "reset_at": "2024-01-15T12:00:00Z", "limit": 100, "remaining": 0 } }}Check out our guides and tutorials, or reach out to our support team.