Los comentarios de publicaciones de LinkedIn sobre publicaciones de sectores especializados son la señal de mayor intención que la mayoría de los SDR ignoran. Este tutorial elimina a los comentaristas de una publicación de destino, los enriquece con búsquedas SERP de Scavio para empresa, función y actividad reciente, y luego califica según la intención del comprador.
Requisitos previos
- Python 3.10+
- Una clave API de Scavio
- Una URL de publicación de LinkedIn con comentaristas objetivo
- El punto final de comentarios de LinkedIn de Scavio
Guia paso a paso
Paso 1: Extraer comentarios de la publicación de destino
El punto final de LinkedIn de Scavio devuelve comentarios con nombres y titulares.
import requests, os
API_KEY = os.environ['SCAVIO_API_KEY']
def comments(post_url):
r = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': API_KEY},
json={'platform': 'linkedin', 'query': post_url})
return r.json().get('comments', [])Paso 2: Enriquece a cada comentarista a través de SERP
Busque el perfil de LinkedIn + noticias recientes de la empresa.
def enrich(person):
serp = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': API_KEY},
json={'query': f'"{person["name"]}" "{person.get("company", "")}"', 'num_results': 5})
return serp.json().get('organic_results', [])Paso 3: Puntuación de la intención del comprador
Puntos por rol de comentarista (VP+), tamaño de la empresa (se ajusta a ICP), señal de contratación reciente.
def score(person, enrichment):
s = 0
if any(kw in person.get('headline', '').lower() for kw in ['ceo', 'founder', 'vp', 'head']): s += 3
if any('hiring' in r.get('snippet', '').lower() for r in enrichment): s += 2
return sPaso 4: Filtrar al nivel superior
Pase únicamente puntuaciones >= 4 a la cola SDR.
def qualified(people, threshold=4):
return [p for p in people if p['score'] >= threshold]Paso 5: Escribe en HubSpot o CSV
Empuje a cada comentarista calificado.
import csv
def export(people):
with open('linkedin_intent.csv', 'w') as f:
w = csv.DictWriter(f, fieldnames=['name', 'company', 'headline', 'score'])
w.writeheader(); w.writerows(people)Ejemplo en Python
import os, requests
API_KEY = os.environ['SCAVIO_API_KEY']
POST = 'https://linkedin.com/posts/example_post'
r = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': API_KEY},
json={'platform': 'linkedin', 'query': POST})
for c in r.json().get('comments', [])[:10]:
e = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': API_KEY},
json={'query': f'"{c["name"]}"'}).json()
print(c['name'], '-', e.get('organic_results', [{}])[0].get('title', ''))Ejemplo en JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;
const POST = 'https://linkedin.com/posts/example_post';
const r = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST',
headers: { 'x-api-key': API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({ platform: 'linkedin', query: POST })
});
const { comments } = await r.json();
for (const c of comments.slice(0, 10)) {
const e = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST',
headers: { 'x-api-key': API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({ query: `"${c.name}"` })
});
console.log(c.name, (await e.json()).organic_results?.[0]?.title);
}Salida esperada
Per-commenter enriched row with score. Typical post with 80 comments yields 8-15 qualified leads in under 3 minutes.