Video Information

Get Video Information
GET
Retrieve comprehensive information about a YouTube video including metadata, statistics, thumbnails, and transcript availability.

Endpoint URL

GET /v1/youtube/video

Parameters

ParameterTypeRequiredDescription
videoIdstring
Required

YouTube video identifier. Supports multiple formats for flexibility.

Example:UF8uR6Z6KLc
Supported Formats:
  • Video ID (11 characters): UF8uR6Z6KLc
  • Full YouTube URL: https://www.youtube.com/watch?v=UF8uR6Z6KLc
  • Short URL: https://youtu.be/UF8uR6Z6KLc
  • Mobile URL: https://m.youtube.com/watch?v=UF8uR6Z6KLc

Request Examples

Using video ID:

cURL Request
curl --location 'https://api.vcyon.com/v1/youtube/video?videoId=UF8uR6Z6KLc' \
  --header 'Authorization: Bearer YOUR_API_KEY'

Video Transcript

Get Video Transcript
GET
Extract the full transcript of a YouTube video with precise timestamps and language support.

Endpoint URL

GET /v1/youtube/transcript

Parameters

ParameterTypeRequiredDescription
videoIdstring
Required

YouTube video identifier in any supported format.

Example:UF8uR6Z6KLc
languagestring
Optional

Language code for the transcript (e.g., 'English', 'Japanese', 'Indonesia'). If not specified, returns the default language.

Example:English

Request Examples

Get default transcript:

cURL Request
curl --location 'https://api.vcyon.com/v1/youtube/transcript?videoId=UF8uR6Z6KLc' \
  --header 'Authorization: Bearer YOUR_API_KEY'

Get Spanish transcript:

cURL Request
curl --location 'https://api.vcyon.com/v1/youtube/transcript?videoId=UF8uR6Z6KLc&language=es' \
  --header 'Authorization: Bearer YOUR_API_KEY'

Channel Information

Get Channel Information
GET
Retrieve comprehensive information about a YouTube channel including metadata, statistics, and thumbnails.

Endpoint URL

GET /v1/youtube/channel

Parameters

ParameterTypeRequiredDescription
idstring
Required

YouTube channel ID (starts with UC) or Channel handle (with or without @), e.g., @MrBeast or channel URL https://www.youtube.com/@MrBeast

Example:UCBJycsmduvYEL83R_U4JriQ
Supported Formats:
  • Channel ID: UCBJycsmduvYEL83R_U4JriQ
  • Channel Handle: @MrBeast
  • Channel URL: https://www.youtube.com/@MrBeast
  • Channel URL: https://www.youtube.com/channel/UCBJycsmduvYEL83R_U4JriQ

Request Examples

Using channel ID:

cURL Request
curl --location 'https://api.vcyon.com/v1/youtube/channel?id=UCBJycsmduvYEL83R_U4JriQ' \
  --header 'Authorization: Bearer YOUR_API_KEY'

Using channel handle:

cURL Request
curl --location 'https://api.vcyon.com/v1/youtube/channel?id=mkbhd' \
  --header 'Authorization: Bearer YOUR_API_KEY'

Channel Videos

Get Channel Videos
GET
Retrieve a list of videos from a YouTube channel with metadata and pagination support.

Endpoint URL

GET /v1/youtube/channel/videos

Parameters

ParameterTypeRequiredDescription
idstring
Optional

YouTube channel Identifier

Example:UCBJycsmduvYEL83R_U4JriQ
Supported Formats:
  • Channel ID: UCBJycsmduvYEL83R_U4JriQ
  • Channel Handle: @MrBeast
  • Channel URL: https://www.youtube.com/@MrBeast
  • Channel URL: https://www.youtube.com/channel/UCBJycsmduvYEL83R_U4JriQ

Request Examples

Using channel ID:

cURL Request
curl --location 'https://api.vcyon.com/v1/youtube/channel/videos?id=UCBJycsmduvYEL83R_U4JriQ' \
  --header 'Authorization: Bearer YOUR_API_KEY'

Using channel handle:

cURL Request
curl --location 'https://api.vcyon.com/v1/youtube/channel/videos?id=mkbhd' \
  --header 'Authorization: Bearer YOUR_API_KEY'

Playlist Information

Get Playlist Information
GET
Retrieve information about a YouTube playlist including metadata and video listings.

Endpoint URL

GET /v1/youtube/playlist

Parameters

ParameterTypeRequiredDescription
idstring
Required

YouTube playlist identifier. Supports multiple URL formats.

Example:PLrAXtmRdnEQy4Qy9RMhfmIh2dpqy6_9UH
Supported Formats:
  • Playlist ID: PLrAXtmRdnEQy4Qy9RMhfmIh2dpqy6_9UH
  • Full URL: https://www.youtube.com/playlist?list=PLrAXtmRdnEQy4Qy9RMhfmIh2dpqy6_9UH

Request Examples

Get playlist info with default limit:

cURL Request
curl --location 'https://api.vcyon.com/v1/youtube/playlist?id=PLrAXtmRdnEQy4Qy9RMhfmIh2dpqy6_9UH' \
  --header 'Authorization: Bearer YOUR_API_KEY'

Get playlist with custom limit:

cURL Request
curl --location 'https://api.vcyon.com/v1/youtube/playlist?id=PLrAXtmRdnEQy4Qy9RMhfmIh2dpqy6_9UH&limit=20' \
  --header 'Authorization: Bearer YOUR_API_KEY'

Playlist Videos

Get Playlist Videos
GET
Retrieve a detailed list of videos from a YouTube playlist with metadata and position information.

Endpoint URL

GET /v1/youtube/playlist/videos

Parameters

ParameterTypeRequiredDescription
idstring
Required

YouTube playlist identifier. Supports multiple URL formats.

Example:PLrAXtmRdnEQy4Qy9RMhfmIh2dpqy6_9UH
Supported Formats:
  • Playlist ID: PLrAXtmRdnEQy4Qy9RMhfmIh2dpqy6_9UH
  • Full URL: https://www.youtube.com/playlist?list=PLrAXtmRdnEQy4Qy9RMhfmIh2dpqy6_9UH

Request Examples

Get playlist videos with default limit:

cURL Request
curl --location 'https://api.vcyon.com/v1/youtube/playlist/videos?id=PLrAXtmRdnEQy4Qy9RMhfmIh2dpqy6_9UH' \
  --header 'Authorization: Bearer YOUR_API_KEY'

Get playlist videos with custom limit:

cURL Request
curl --location 'https://api.vcyon.com/v1/youtube/playlist/videos?id=PLrAXtmRdnEQy4Qy9RMhfmIh2dpqy6_9UH&' \
  --header 'Authorization: Bearer YOUR_API_KEY'

TypeScript Interfaces

API Response Envelope
All API responses follow a consistent envelope structure with success status, data payload, and metadata.
ApiResponse Interface
interface ApiResponse<T> {
  success: boolean;
  data?: T;
  error?: {
    code: string;
    message: string;
    details?: any;
  };
  meta: {
    timestamp: string;
    requestId: string;
    version: string;
  };
}
Video Information Interfaces
Complete TypeScript interfaces for video information responses including metadata, thumbnails, and channel details.
VideoInfo Interface
interface VideoInfo {
  id: string;
  title: string;
  author: string;
  description: string;
  thumbnails: Thumbnail[];
  category: string;
  tags: string[];
  duration: number;
  channel: Channel;
  viewCount: number;
  likeCount: number;
  isPrivate: boolean;
  isUnlisted: boolean;
  isFamilySafe: boolean;
  publishDate: PublishDate;
  transcriptLanguages: string[];
  hasTranscripts: boolean;
  captionLanguages: CaptionLanguage[];
  hasCaptions: boolean;
  captionTranslationLanguages: TranslationLanguage[];
}
Supporting Interfaces
interface Thumbnail {
  url: string;
  width: number;
  height: number;
}

interface Channel {
  id: string;
  name: string;
  url: string;
}

interface PublishDate {
  text: string;
  date: string;
}

interface CaptionLanguage {
  languageCode: string;
  languageName: string;
}

interface TranslationLanguage {
  languageCode: string;
  languageName: string;
}
Channel Information Interfaces
TypeScript interfaces for YouTube channel information including metadata, statistics, and thumbnails.
ChannelInfo Interface
interface ChannelInfo {
  id: string;
  title: string;
  description: string;
  url: string;
  vanityUrl: string;
  isFamilySafe: boolean;
  keywords: string[];
  avatars: Thumbnail[];
  thumbnails: Thumbnail[];
  tags: string[];
  isUnlisted: boolean;
  subscriberCount: number;
  viewCount: number;
  joinedDate: string;
  videoCount?: number;
  country?: string;
}
Playlist Information Interfaces
TypeScript interfaces for YouTube playlist information and video listings.
PlaylistInfo Interface
interface PlaylistInfo {
  id: string;
  title: string;
  description: string;
  subtitle: string | null;
  author: PlaylistAuthor;
  videoCount: number;
  viewCount: number;
  lastUpdated: string | null;
}
PlaylistAuthor Interface
interface PlaylistAuthor {
  id: string;
  name: string;
  url: string;
}
Transcript Interfaces
TypeScript interfaces for video transcript data with timing information and language support.
Transcript Interfaces
interface TranscriptData {
  language: string;
  transcriptLanguages: string[];
  hasTranscript: boolean;
  segments: TranscriptSegment[];
}

interface TranscriptSegment {
  start: number;
  end: number;
  text: string;
}
Caption Interfaces
TypeScript interfaces for video caption data with translation support and timing information.
Caption Interfaces
interface CaptionDataPayload {
  videoId: string;
  language: string;
  translatedLanguage?: string;
  captions: CaptionSegment[];
}

interface CaptionSegment {
  start: number;
  end: number;
  text: string;
}
Video List Interfaces
TypeScript interfaces for video listings from channels and playlists with pagination support.
Video List Interfaces
interface VideoListResponse {
  videos: VideoListItem[];
  pagination?: {
    nextPageToken?: string;
    totalResults?: number;
  };
}

interface VideoListItem {
  id: string;
  title: string;
  description: string;
  thumbnails: Thumbnail[];
  duration: number;
  publishedAt: string;
  viewCount?: number;
  position?: number; // For playlist videos
}

Error Handling

HTTP Status Codes
Standard HTTP status codes returned by the API endpoints.

Status Code Reference

ParameterTypeDescription
200OK

Request successful

400Bad Request

Invalid request parameters

401Unauthorized

Invalid or missing API key

403Forbidden

API key lacks required permissions

404Not Found

Video not found or unavailable

429Too Many Requests

Rate limit exceeded

500Internal Server Error

Server error occurred

503Service Unavailable

Service temporarily unavailable

Need Help?

Our support team is here to help you integrate and get the most out of the YouTube API.