API Documentation

Transcribe and summarize YouTube videos programmatically with the EasyTranscriber REST API.

Authentication

All API requests require a Bearer token. Create an API key from your Account page.

Authorization: Bearer et_your_api_key

Keys are prefixed with et_ and shown only once at creation. Store them securely.

Rate Limits

Each API key is limited to 30 requests per minute using a sliding window. Exceeding the limit returns a 429 status.

Error Format

All errors follow a consistent format:

{
  "error": {
    "code": "error_code",
    "message": "Human-readable description"
  }
}

Endpoints

POST/api/v1/transcribe

Transcribe a YouTube video. Cached transcripts are returned instantly at no credit cost.

Request Body

{ "url": "https://youtube.com/watch?v=..." }

Response

{
  "video_id": "dQw4w9WgXcQ",
  "video_title": "Video Title",
  "transcript": "Full transcript text...",
  "method": "captions",
  "cached": false,
  "credits_used": 1
}
curl -X POST https://easytranscriber.com/api/v1/transcribe \
  -H "Authorization: Bearer et_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://youtube.com/watch?v=dQw4w9WgXcQ"}'
POST/api/v1/summarize

Generate an AI summary from a transcript. Costs 1 credit. Transcripts longer than 100K characters are truncated.

Request Body

{
  "transcript": "Full transcript text...",
  "video_id": "dQw4w9WgXcQ"  // optional, links summary to transcription
}

Response

{
  "summary": "AI-generated summary...",
  "video_id": "dQw4w9WgXcQ",
  "credits_used": 1
}
curl -X POST https://easytranscriber.com/api/v1/summarize \
  -H "Authorization: Bearer et_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"transcript": "Your transcript text...", "video_id": "dQw4w9WgXcQ"}'
GET/api/v1/credits

Check your current credit balance.

Response

{ "balance": 42 }
curl https://easytranscriber.com/api/v1/credits \
  -H "Authorization: Bearer et_your_api_key"

Credit Costs

OperationCreditsNotes
Transcribe (cached)0Previously transcribed videos are free
Transcribe (< 2 hours)1Most videos
Transcribe (≥ 2 hours)2Long-form content, max 4 hours
Summarize1AI-powered summary

Error Codes

CodeStatusDescription
unauthorized401Missing, invalid, expired, or revoked API key
insufficient_credits402Not enough credits to perform the operation
invalid_request400Missing fields, invalid URL, or malformed JSON
rate_limited429Exceeded 30 requests per minute
transcription_failed500Transcription error (credits refunded automatically)
summarization_failed500Summarization error (credit refunded automatically)