YouTube Intel

POST

/intel/channels/lookup

Required Permission intel:read

Get detailed information about YouTube channels. Accepts handles, channel IDs, or URLs.

Request

Request Body
{
    "identifiers": "array (required) - Array of 1-5 identifiers (handle with/without @, channel ID starting with UC, or full YouTube URL)"
}

Response (200)

Response Fields

Field Type Description
success boolean Whether the request succeeded
data object Response data containing channels and errors
data.channels array Array of channel objects when multiple identifiers are provided
data.channels[].channel_id string YouTube channel ID
data.channels[].handle string Handle without @ symbol
data.channels[].title string Channel title
data.channels[].description string Channel description (truncated to 500 chars)
data.channels[].thumbnails object Thumbnail URLs
data.channels[].subscriber_count integer Subscriber count
data.channels[].video_count integer Total videos
data.channels[].view_count integer Total views
data.channels[].published_at string Channel publish timestamp (ISO 8601)
data.channels[].country string Country code
data.errors array Array of lookup errors: identifier, error, error_type
Response Example
{
    "success": true,
    "data": {
        "channels": [
            {
                "channel_id": "UCBJycsmduvYEL83R_U4JriQ",
                "handle": "mkbhd",
                "title": "Marques Brownlee",
                "description": "Channel description (truncated to 500 chars)",
                "thumbnails": {
                    "default": {
                        "url": "https://i.ytimg.com/..."
                    }
                },
                "subscriber_count": 19000000,
                "video_count": 1650,
                "view_count": 4200000000,
                "published_at": "2008-01-20T00:00:00Z",
                "country": "US"
            }
        ],
        "errors": []
    }
}
POST

/intel/videos/lookup

Required Permission intel:read

Get detailed information about specific YouTube videos.

Request

Request Body
{
    "identifiers": "array (required) - Array of 1-5 video IDs or URLs"
}

Response (200)

Response Fields

Field Type Description
success boolean Whether the request succeeded
data.videos array Array of video objects when multiple identifiers are provided
data.videos[].video_id string YouTube video ID
data.videos[].channel object Channel summary with channel_id, handle, and title
data.videos[].title string Video title
data.videos[].description string Video description
data.videos[].published_at string Publish timestamp (ISO 8601)
data.videos[].thumbnail_url string Best available thumbnail URL
data.videos[].duration string ISO 8601 duration
data.videos[].view_count integer Total views
data.videos[].like_count integer|null Total likes (nullable)
data.videos[].comment_count integer|null Total comments (nullable)
data.videos[].outlier_score float|null Performance vs channel baseline (nullable)
data.videos[].format string|null Parsed format (nullable)
data.videos[].topic string|null Parsed topic (nullable)
data.videos[].angle string|null Parsed angle (nullable)
data.videos[].goals string|null Parsed goals (nullable)
data.errors array Array of lookup errors: identifier, error, error_type
Response Example
{
    "success": true,
    "data": {
        "videos": [
            {
                "video_id": "dQw4w9WgXcQ",
                "channel": {
                    "channel_id": "UCuAXFkgsw1L7xaCfnd5JJOw",
                    "handle": "RickAstleyVEVO",
                    "title": "Rick Astley"
                },
                "title": "Video Title",
                "description": "Video description",
                "published_at": "2009-10-25T06:57:33Z",
                "thumbnail_url": "https://i.ytimg.com/...",
                "duration": "PT3M33S",
                "view_count": 1000000,
                "like_count": 50000,
                "comment_count": 10000,
                "outlier_score": 1.25,
                "format": "Music",
                "topic": "Pop",
                "angle": "Nostalgia",
                "goals": "Entertainment"
            }
        ],
        "errors": []
    }
}
GET POST DELETE

/intel/bookmarks

Required Permission intel:read intel:write

Save and retrieve channels or videos to your team's research library.

Request

Request Body
{
    "type": "string (required for POST) - \"channel\" or \"video\"",
    "external_id": "string (required for POST) - External YouTube identifier (channel ID or video ID)",
    "title": "string (optional for POST) - Bookmark title",
    "url": "string (optional for POST) - URL to the YouTube resource",
    "notes": "string (optional for POST) - Optional notes",
    "tags": "array (optional for POST) - Array of tag names"
}

Response (200)

Response Fields

Field Type Description
success boolean Whether the request succeeded
data.id integer Bookmark ID
data.type string "channel" or "video"
data.external_id string External YouTube identifier (channel ID or video ID)
data.title string Bookmark title
data.url string URL to the YouTube resource
data.notes string|null Optional notes
data.tags array Array of tag names
data.pagination object Pagination metadata (GET only) - current_page, per_page, total, last_page
Response Example
{
    "success": true,
    "data": {
        "id": 321,
        "type": "channel",
        "external_id": "UCBcRF18a7Qf58cCRy5xuWwQ",
        "title": "Competitor: MKBHD",
        "url": "https://youtube.com/@mkbhd",
        "notes": "Strong product review format",
        "tags": [
            "competitor",
            "tech"
        ]
    }
}