> ## Documentation Index
> Fetch the complete documentation index at: https://docs.athenahq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Listar vídeos de YouTube

> Lista los vídeos de YouTube citados en respuestas de IA para un sitio web, ordenados por número de citas. Devuelve los títulos guardados, datos del canal, categorías, duraciones, fechas de publicación, recuentos de citas, porcentajes de respuestas distintas y marcas de tiempo enlazadas. Las variantes de enlaces de reproducción, Shorts y enlaces cortos de un mismo vídeo se agrupan. Filtra por channel_key o video_id. Los metadatos pueden estar pendientes o ausentes; no se consultan datos de YouTube en tiempo real. Las fechas son días UTC y ambos extremos se incluyen. Los recuentos corresponden a citas en respuestas de IA que Athena supervisa, no a visualizaciones de YouTube ni a estadísticas de suscriptores. Los metadatos se leen de la caché guardada de Athena y pueden no estar disponibles. La proporción del canal se calcula sobre todas las citas de YouTube, incluidos los enlaces que no son vídeos; las proporciones por categoría y duración se calculan sobre las citas de vídeos. citation_percentage de un vídeo es el porcentaje de respuestas de IA distintas que cumplen los filtros y citan ese vídeo. first_seen corresponde al intervalo de fechas seleccionado. El desglose completo, incluidas las métricas de citas y los metadatos guardados, se almacena en caché durante un máximo de cinco minutos. El array moments contiene los segundos de las 100 variantes de URL más citadas por vídeo; no es una lista exhaustiva de marcas de tiempo ni una transcripción. channel_key y video_id restringen los vídeos devueltos sin cambiar el denominador de respuestas.



## OpenAPI

````yaml es/api-reference/openapi.json post /api/v1/sources/youtube-videos
openapi: 3.1.0
info:
  title: API de AthenaHQ
  description: >-
    La API de AthenaHQ ofrece acceso programático para gestionar tus sitios web
    y consultas para optimizar el contenido con IA.
  version: 1.0.0
  contact:
    email: support@athenahq.ai
servers:
  - url: https://api.athenahq.ai
    description: Servidor de producción
security:
  - apiKey: []
tags:
  - name: Basics
    description: Operaciones principales de la API para gestionar sitios web y consultas
  - name: Metrics
    description: Endpoints de métricas y análisis para monitorizar la visibilidad en IA
  - name: Billing
    description: Endpoints de facturación y créditos para gestionar el uso
  - name: Team Management
    description: Endpoints para gestionar miembros del equipo e invitaciones
  - name: Groups
    description: Endpoints para gestionar grupos de sitios web
  - name: Content
    description: >-
      Endpoints para acceder a los datos del centro de contenidos: pestañas, URL
      monitorizadas y desglose de consultas por URL.
  - name: Pitch Workspace
    description: >-
      Endpoints para acceder a los informes del espacio de propuestas:
      ejecuciones de propuestas con alcance de organización, con competidores,
      consultas, atributos y métricas agregadas.
  - name: Knowledge Base
    description: >-
      Endpoints para leer la base de conocimientos de la marca: datos aprobados
      sobre la marca y los pilares que los organizan.
paths:
  /api/v1/sources/youtube-videos:
    post:
      tags:
        - Sources
      summary: Listar vídeos de YouTube
      description: >-
        Lista los vídeos de YouTube citados en respuestas de IA para un sitio
        web, ordenados por número de citas. Devuelve los títulos guardados,
        datos del canal, categorías, duraciones, fechas de publicación,
        recuentos de citas, porcentajes de respuestas distintas y marcas de
        tiempo enlazadas. Las variantes de enlaces de reproducción, Shorts y
        enlaces cortos de un mismo vídeo se agrupan. Filtra por channel_key o
        video_id. Los metadatos pueden estar pendientes o ausentes; no se
        consultan datos de YouTube en tiempo real. Las fechas son días UTC y
        ambos extremos se incluyen. Los recuentos corresponden a citas en
        respuestas de IA que Athena supervisa, no a visualizaciones de YouTube
        ni a estadísticas de suscriptores. Los metadatos se leen de la caché
        guardada de Athena y pueden no estar disponibles. La proporción del
        canal se calcula sobre todas las citas de YouTube, incluidos los enlaces
        que no son vídeos; las proporciones por categoría y duración se calculan
        sobre las citas de vídeos. citation_percentage de un vídeo es el
        porcentaje de respuestas de IA distintas que cumplen los filtros y citan
        ese vídeo. first_seen corresponde al intervalo de fechas seleccionado.
        El desglose completo, incluidas las métricas de citas y los metadatos
        guardados, se almacena en caché durante un máximo de cinco minutos. El
        array moments contiene los segundos de las 100 variantes de URL más
        citadas por vídeo; no es una lista exhaustiva de marcas de tiempo ni una
        transcripción. channel_key y video_id restringen los vídeos devueltos
        sin cambiar el denominador de respuestas.
      operationId: sources.youtubeVideos
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                website_id:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                filters:
                  type: object
                  properties:
                    start_date:
                      type: string
                      format: date
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                      description: Primer día, YYYY-MM-DD, incluido (UTC).
                    schedule_id:
                      description: >-
                        Una programación: "default" o el UUID de una
                        programación personalizada o archivada. Omite el campo
                        para usar Default, que incluye todo el historial
                        anterior a la transición y las ejecuciones puntuales. El
                        valor retirado "manual" se acepta como alias de
                        "default". No se pueden combinar programaciones.
                      anyOf:
                        - type: string
                          enum:
                            - default
                            - manual
                        - type: string
                          format: uuid
                          pattern: >-
                            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                    end_date:
                      description: >-
                        Último día, YYYY-MM-DD, incluido (UTC). Por defecto,
                        hoy.
                      type: string
                      format: date
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                    models:
                      description: >-
                        Modelos de IA que se incluirán, en un array incluso si
                        solo hay uno; por ejemplo, ["chatgpt", "perplexity"].
                        Omite el campo para incluir todos los modelos.
                      type: array
                      items:
                        type: string
                        enum:
                          - chatgpt
                          - perplexity
                          - gemini
                          - google_ai_overview
                          - copilot
                          - claude
                          - ai_mode
                          - grok
                          - deepseek
                          - meta_ai
                          - mistral
                    prompt_ids:
                      description: >-
                        UUID de los prompts por los que filtrar, en un array
                        incluso si solo hay un id. Omite el campo para incluir
                        todos los prompts.
                      type: array
                      items:
                        type: string
                        format: uuid
                        pattern: >-
                          ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                    location_ids:
                      description: >-
                        UUID de las ubicaciones por las que filtrar, en un array
                        incluso si solo hay un id. La cadena literal
                        "no-location" selecciona respuestas ejecutadas sin
                        ubicación. Omite el campo para incluir todas las
                        ubicaciones.
                      type: array
                      items:
                        anyOf:
                          - type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          - type: string
                            const: no-location
                    persona_ids:
                      description: >-
                        UUID de las personas por las que filtrar, en un array
                        incluso si solo hay un id. Omite el campo para incluir
                        todas las personas.
                      type: array
                      items:
                        type: string
                        format: uuid
                        pattern: >-
                          ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                    target_identifiers:
                      description: >-
                        Cadenas de identificadores de destino por las que
                        filtrar, en un array incluso si solo hay un valor. La
                        cadena literal "no-identifier" selecciona respuestas sin
                        identificador de destino. Omite el campo para incluirlas
                        todas.
                      type: array
                      items:
                        anyOf:
                          - type: string
                          - type: string
                            const: no-identifier
                    variation_filter:
                      description: >-
                        Filas de prompts que se incluirán, en un array: "prompt"
                        para prompts base, "variation" para variaciones
                        generadas, o ambos. Omite el campo para incluir ambos.
                      type: array
                      items:
                        type: string
                        enum:
                          - variation
                          - prompt
                    prompt_tags:
                      description: >-
                        UUID de etiquetas de prompts obtenidos con
                        get_prompt_tags.
                      type: array
                      items:
                        type: string
                        format: uuid
                        pattern: >-
                          ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                    prompt_tags_operator:
                      description: >-
                        Cómo se combinan las prompt_tags: "is_any_of" selecciona
                        prompts con cualquiera de las etiquetas indicadas;
                        "has_all_of", solo prompts que tengan todas las
                        etiquetas indicadas.
                      type: string
                      enum:
                        - is_any_of
                        - has_all_of
                    prompt_status:
                      description: >-
                        Filtra los prompts por estado de seguimiento: "active" o
                        "paused". Omite el campo para incluir ambos.
                      type: string
                      enum:
                        - active
                        - paused
                    prompt_type:
                      description: >-
                        Filtra los prompts por tipo: "branded" (menciona la
                        marca) o "non_branded". Omite el campo para incluir
                        ambos.
                      type: string
                      enum:
                        - branded
                        - non_branded
                  required:
                    - start_date
                  additionalProperties: false
                page_num:
                  default: 0
                  description: Número de página, empezando en cero.
                  type: integer
                  minimum: 0
                  maximum: 1000000
                page_size:
                  type: integer
                  minimum: 1
                  maximum: 100
                  default: 30
                channel_key:
                  description: >-
                    Clave de grupo del canal obtenida con get_youtube_creators;
                    omítela para incluir todos los creadores.
                  type: string
                  minLength: 1
                  maxLength: 500
                video_id:
                  description: >-
                    ID del vídeo de YouTube; omítelo para incluir todos los
                    vídeos.
                  type: string
                  pattern: ^[A-Za-z0-9_-]{11}$
              required:
                - website_id
                - filters
            example:
              website_id: 123e4567-e89b-42d3-a456-426614174000
              filters:
                start_date: '2026-10-01'
                end_date: '2026-10-31'
              page_num: 0
              page_size: 30
      responses:
        '200':
          description: Correcto
          content:
            application/json:
              schema:
                type: object
                properties:
                  videos:
                    type: array
                    items:
                      type: object
                      properties:
                        video_id:
                          type: string
                        url:
                          type: string
                        title:
                          type:
                            - string
                            - 'null'
                        channel:
                          type: object
                          properties:
                            channel_key:
                              type: string
                              description: >-
                                Clave de grupo estable; úsala como channel_key
                                en get_youtube_videos.
                            channel_id:
                              type:
                                - string
                                - 'null'
                            name:
                              type:
                                - string
                                - 'null'
                            handle:
                              type:
                                - string
                                - 'null'
                            url:
                              type:
                                - string
                                - 'null'
                            thumbnail_url:
                              type:
                                - string
                                - 'null'
                          required:
                            - channel_key
                            - channel_id
                            - name
                            - handle
                            - url
                            - thumbnail_url
                          additionalProperties: false
                        category_id:
                          anyOf:
                            - type: integer
                              minimum: -9007199254740991
                              maximum: 9007199254740991
                            - type: 'null'
                        duration_seconds:
                          anyOf:
                            - type: integer
                              minimum: -9007199254740991
                              maximum: 9007199254740991
                            - type: 'null'
                        published_at:
                          type:
                            - string
                            - 'null'
                        first_seen:
                          type: string
                        citations:
                          type: number
                        citation_percentage:
                          type: number
                        details_status:
                          type: string
                          enum:
                            - found
                            - pending
                            - missing
                        moments:
                          type: array
                          items:
                            type: integer
                            minimum: 0
                            maximum: 9007199254740991
                          description: >-
                            Marcas de tiempo enlazadas distintas, en segundos,
                            de las 100 variantes de URL más citadas. Es una
                            lista limitada, no todas las marcas de tiempo ni una
                            transcripción.
                      required:
                        - video_id
                        - url
                        - title
                        - channel
                        - category_id
                        - duration_seconds
                        - published_at
                        - first_seen
                        - citations
                        - citation_percentage
                        - details_status
                        - moments
                      additionalProperties: false
                  pagination:
                    type: object
                    properties:
                      page_num:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      page_size:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      total:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                    required:
                      - page_num
                      - page_size
                      - total
                    additionalProperties: false
                  notice:
                    type: string
                required:
                  - videos
                  - pagination
                additionalProperties: false
        '400':
          description: 'Solicitud incorrecta: la validación ha fallado'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
        '401':
          description: Sin autenticar
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
        '403':
          description: Acceso denegado
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
        '404':
          description: No encontrado
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
        '409':
          description: Conflicto
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
        '429':
          description: Límite de solicitudes alcanzado
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
        '500':
          description: Error interno
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Clave de API para autenticarse. Puedes crear una
        [aquí](https://app.athenahq.ai/organization?tab=api).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.