tail-fin-youtube 0.7.8

YouTube adapter for tail-fin: search, video, channel, comments, transcript via InnerTube API
Documentation
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Video {
    pub id: String,
    pub title: String,
    pub channel: String,
    pub channel_id: String,
    pub views: Option<String>,
    pub likes: Option<String>,
    pub duration: Option<String>,
    pub published_at: Option<String>,
    pub description: Option<String>,
    pub url: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Channel {
    pub id: String,
    pub name: String,
    pub handle: Option<String>,
    pub subscribers: Option<String>,
    pub video_count: Option<String>,
    pub description: Option<String>,
    pub url: String,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Comment {
    pub author: String,
    pub text: String,
    pub likes: Option<String>,
    pub published_at: Option<String>,
    pub reply_count: Option<u64>,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TranscriptSegment {
    pub text: String,
    pub start_ms: u64,
    pub duration_ms: u64,
}

/// InnerTube bootstrap data extracted from the page.
#[derive(Debug, Clone)]
pub struct InnerTubeContext {
    pub api_key: String,
    pub context: serde_json::Value,
}