El problema
Los creadores y especialistas en marketing de YouTube no pueden realizar un seguimiento programático de cómo cambia la visibilidad de búsqueda de sus videos con el tiempo. YouTube Studio muestra impresiones pero no la posición de búsqueda para consultas específicas. Sin seguimiento de posición, los creadores no pueden medir si sus esfuerzos de SEO están funcionando o qué vídeos están perdiendo visibilidad.
La solucion de Scavio
Cree un canal programado que consulte el punto final de búsqueda de YouTube de Scavio en busca de palabras clave objetivo, registre en qué posición aparece cada video y realice un seguimiento de los cambios a lo largo del tiempo. Almacene los resultados en una base de datos u hoja de cálculo para visualizar las curvas de caída de impresiones e identificar videos que necesitan actualizaciones de SEO.
Antes
Antes del seguimiento automatizado, un creador buscaba manualmente en YouTube sus palabras clave objetivo semanalmente, desplazándose por los resultados para encontrar sus videos. Se dieron cuenta de que un vídeo había caído de la página 1 solo después de 3 semanas de descenso.
Después
Después de implementar el seguimiento basado en API, el sistema verifica 30 palabras clave diariamente y alerta cuando algún video cae más de 3 posiciones. El creador captó un vídeo en declive en 24 horas y actualizó el título/descripción para recuperar su posición en una semana.
Para quien es
Creadores de YouTube, especialistas en marketing de vídeos y agencias que rastrean la visibilidad de búsqueda y la caída de impresiones de su contenido de vídeo.
Beneficios clave
- Seguimiento diario de la posición de búsqueda en YouTube para cualquier palabra clave
- Alertas automatizadas para caídas de posición
- Los datos históricos revelan patrones de deterioro de las impresiones
- Identifica vídeos que necesitan actualizaciones de título/descripción
- Cuesta $0,15/día por 30 comprobaciones de palabras clave
Ejemplo en Python
import requests, os, json
from datetime import date
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
CHANNEL = 'your-channel-name'
KEYWORDS = ['search api tutorial', 'web scraping python', 'serp api comparison']
def track_youtube_positions(keywords: list[str], channel: str) -> list[dict]:
results = []
for kw in keywords:
r = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
json={'platform': 'youtube', 'query': kw}, timeout=10).json()
organic = r.get('organic', [])
position = None
for i, video in enumerate(organic):
if channel.lower() in (video.get('channel', '') or '').lower():
position = i + 1
break
results.append({
'keyword': kw, 'date': str(date.today()),
'position': position, 'total_results': len(organic)
})
return results
for r in track_youtube_positions(KEYWORDS, CHANNEL):
print(json.dumps(r))Ejemplo en JavaScript
async function trackYouTubePositions(keywords, channel) {
const results = [];
for (const kw of keywords) {
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: kw })
}).then(r => r.json());
const pos = (r.organic || []).findIndex(v =>
v.channel?.toLowerCase().includes(channel.toLowerCase())) + 1;
results.push({ keyword: kw, date: new Date().toISOString().slice(0, 10), position: pos || null });
}
return results;
}Plataformas utilizadas
YouTube
Búsqueda de videos con transcripciones y metadatos