ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo realizar un seguimiento de la caída de impresiones de YouTube con una API de búsqueda
Tutorial

Cómo realizar un seguimiento de la caída de impresiones de YouTube con una API de búsqueda

Realice un seguimiento de cómo los vídeos de YouTube caen en los rankings de búsqueda con el tiempo mediante una API de búsqueda. Cree un rastreador de caída de impresiones sin acceso a YouTube Analytics.

Obtener clave API gratisDocumentacion API

Las impresiones de YouTube disminuyen después de la publicación: los videos alcanzan su punto máximo en visibilidad de búsqueda en cuestión de días y luego disminuyen gradualmente a medida que compite el contenido más nuevo. El seguimiento de este deterioro ayuda a los creadores a comprender la vida útil de su contenido. Este tutorial rastrea la posición de búsqueda a lo largo del tiempo mediante consultas API diarias en lugar de depender de YouTube Studio (que solo muestra sus propios videos).

Requisitos previos

  • Python 3.8+
  • Una clave API de Scavio
  • URL de vídeo o palabras clave para realizar un seguimiento

Guia paso a paso

Paso 1: Seguimiento de la posición de búsqueda de una palabra clave

Consulta la búsqueda de YouTube diariamente y registra la clasificación de tu vídeo.

Python
import requests, os, json
from datetime import date

H = {'x-api-key': os.environ['SCAVIO_API_KEY'], 'Content-Type': 'application/json'}

def track_position(keyword: str, target_channel: str) -> dict:
    resp = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
        json={'platform': 'youtube', 'query': keyword}, timeout=10)
    results = resp.json().get('organic', [])
    
    for i, r in enumerate(results):
        if target_channel.lower() in r.get('channel', '').lower():
            return {'keyword': keyword, 'position': i + 1, 'date': date.today().isoformat(),
                    'title': r.get('title', ''), 'views': r.get('views', '')}
    
    return {'keyword': keyword, 'position': None, 'date': date.today().isoformat(), 'not_found': True}

Paso 2: Cree un circuito de seguimiento diario

Realice un seguimiento diario de varias palabras clave y almacene el historial de posiciones.

Python
from pathlib import Path

def daily_rank_track(keywords: list, channel: str) -> dict:
    history_file = Path('yt_rank_history.json')
    history = json.loads(history_file.read_text()) if history_file.exists() else {}
    
    today = date.today().isoformat()
    today_data = []
    
    for kw in keywords:
        position = track_position(kw, channel)
        today_data.append(position)
    
    history[today] = today_data
    history_file.write_text(json.dumps(history, indent=2))
    
    return {'date': today, 'tracked': len(keywords), 'found': sum(1 for d in today_data if d.get('position')),
            'positions': today_data}

Paso 3: Calcular la tasa de descomposición

Analice el historial de posiciones para calcular las curvas de caída de la impresión.

Python
def calculate_decay(history: dict, keyword: str) -> dict:
    positions = []
    for day, data in sorted(history.items()):
        for entry in data:
            if entry.get('keyword') == keyword and entry.get('position'):
                positions.append({'date': day, 'position': entry['position']})
    
    if len(positions) < 2:
        return {'keyword': keyword, 'insufficient_data': True}
    
    first_pos = positions[0]['position']
    last_pos = positions[-1]['position']
    days_tracked = len(positions)
    
    decay_rate = (last_pos - first_pos) / days_tracked if days_tracked > 0 else 0
    
    return {
        'keyword': keyword,
        'first_position': first_pos,
        'current_position': last_pos,
        'days_tracked': days_tracked,
        'decay_rate_per_day': round(decay_rate, 2),
        'positions_lost': last_pos - first_pos,
        'trend': 'declining' if decay_rate > 0.1 else 'stable' if abs(decay_rate) < 0.1 else 'improving',
    }

Paso 4: Generar informe de deterioro

Produzca un informe resumido sobre qué contenido se está deteriorando más rápidamente.

Python
def decay_report(history_file: str = 'yt_rank_history.json') -> dict:
    history = json.loads(Path(history_file).read_text())
    keywords = set()
    for day_data in history.values():
        for entry in day_data:
            if entry.get('keyword'):
                keywords.add(entry['keyword'])
    
    decays = [calculate_decay(history, kw) for kw in keywords]
    decays = [d for d in decays if not d.get('insufficient_data')]
    decays.sort(key=lambda d: d.get('decay_rate_per_day', 0), reverse=True)
    
    return {
        'total_keywords': len(decays),
        'fastest_decaying': decays[:3],
        'most_stable': [d for d in decays if d.get('trend') == 'stable'],
        'improving': [d for d in decays if d.get('trend') == 'improving'],
    }

Ejemplo en Python

Python
import requests, os, json
from datetime import date

def track_yt_rank(keyword, channel):
    r = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': os.environ['SCAVIO_API_KEY'], 'Content-Type': 'application/json'},
        json={'platform': 'youtube', 'query': keyword}).json()
    for i, v in enumerate(r.get('organic',[])):
        if channel.lower() in v.get('channel','').lower():
            return i + 1
    return None

Ejemplo en JavaScript

JavaScript
async function trackYTRank(keyword, channel) {
  const r = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST', headers: {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'},
    body: JSON.stringify({platform: 'youtube', query: keyword})
  });
  const results = (await r.json()).organic || [];
  const idx = results.findIndex(v => v.channel?.toLowerCase().includes(channel.toLowerCase()));
  return idx >= 0 ? idx + 1 : null;
}

Salida esperada

JSON
A YouTube impression decay tracker that monitors search position daily and calculates decay rates per keyword, identifying content that needs refreshing.

Tutoriales relacionados

  • Cómo realizar un seguimiento de las eliminaciones de listas de reproducción de YouTube

Preguntas frecuentes

La mayoria de los desarrolladores completan este tutorial en 15 a 30 minutos. Necesitaras una clave API de Scavio (el plan gratuito funciona) y un entorno de Python o JavaScript.

Python 3.8+. Una clave API de Scavio. URL de vídeo o palabras clave para realizar un seguimiento. Una clave API de Scavio te da 50 creditos gratuitos al registrarte.

Si. El plan gratuito incluye 50 creditos al registrarte, mas que suficiente para completar este tutorial y crear un prototipo funcional.

Scavio tiene un paquete nativo de LangChain (langchain-scavio), un servidor MCP y una API REST simple que funciona con cualquier cliente HTTP. Este tutorial usa the raw REST API, pero puedes adaptarlo al framework que prefieras.

Recursos relacionados

Best Of

La mejor API de datos de YouTube en 2026

Read more
Best Of

Las mejores API de datos de YouTube sin límites de cuota (2026)

Read more
Solution

Encuentre personas influyentes de YouTube a través de API en lugar de scraping

Read more
Glossary

Panorama de proveedores de API de búsqueda (2026)

Read more
Comparison

Scavio vs Apify (YouTube actors)

Read more
Comparison

TubeMine vs YouTube Data API (via Scavio)

Read more

Empieza a construir

Realice un seguimiento de cómo los vídeos de YouTube caen en los rankings de búsqueda con el tiempo mediante una API de búsqueda. Cree un rastreador de caída de impresiones sin acceso a YouTube Analytics.

Obtener clave API gratuitaLeer la documentacion
ScavioScavio

API de busqueda en tiempo real para agentes de IA. Busca en todas las plataformas, no solo en Google.

Producto

  • Funciones
  • Precios
  • Panel
  • Afiliados

Desarrolladores

  • Documentacion
  • Referencia de API
  • Inicio rapido
  • Integracion MCP
  • Python SDK

Alternativas

  • Alternativa a Tavily
  • Alternativa a SerpAPI
  • Alternativa a Firecrawl
  • Alternativa a Exa

Herramientas

  • Formateador JSON
  • cURL a codigo
  • Contador de tokens
  • Todas las herramientas

© 2026 Scavio. Todos los derechos reservados.

Featured on TAAFT
Terminos de servicioPolitica de privacidad