Validar una idea de producto antes de escribir código ahorra meses de esfuerzo desperdiciado. Los datos de SERP revelan señales de demanda reales: qué busca la gente, qué soluciones existen, qué preguntas quedan sin respuesta y dónde existen brechas en el mercado. Este tutorial muestra cómo utilizar los datos de la API de búsqueda para validar una idea de producto verificando los indicadores de volumen de búsqueda, analizando la competencia, identificando brechas de mercado a partir de los datos de People Also Ask y evaluando las soluciones existentes. Construirás un canal de validación que te dará una señal de ir o no en función de los datos de búsqueda.
Requisitos previos
- Python 3.8+ instalado
- solicita biblioteca instalada
- Una clave API de Scavio de scavio.dev
- Una idea de producto para validar
Guia paso a paso
Paso 1: Defina sus consultas de validación
Cree un conjunto de consultas de búsqueda que representen la idea de su producto desde diferentes ángulos.
import os, requests, json
API_KEY = os.environ["SCAVIO_API_KEY"]
PRODUCT_IDEA = "AI-powered invoice processing for freelancers"
VALIDATION_QUERIES = [
"invoice processing tool for freelancers",
"automate freelancer invoices",
"best invoice software freelancers 2026",
"freelancer invoice problems",
]Paso 2: Comprobar señales de demanda
Busque cada consulta y analice el volumen de resultados y People Also Ask como indicadores de demanda.
def check_demand(queries):
signals = []
for q in queries:
resp = requests.post("https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": "google", "query": q})
data = resp.json()
signals.append({
"query": q,
"results": len(data.get("organic_results", [])),
"paa_count": len(data.get("people_also_ask", [])),
"has_ai_overview": bool(data.get("ai_overview")),
"related": len(data.get("related_searches", [])),
})
return {"signals": signals, "avg_paa": sum(s["paa_count"] for s in signals) / len(signals)}Paso 3: Analizar la competencia
Compruebe qué soluciones existentes se clasifican para sus consultas objetivo.
def analyze_competition(query):
resp = requests.post("https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": "google", "query": query})
results = resp.json().get("organic_results", [])[:10]
competitors = [{"title": r["title"], "url": r.get("link", ""),
"snippet": r.get("snippet", "")[:100]} for r in results]
return {"query": query, "competitors": competitors, "count": len(competitors)}Paso 4: Identificar lagunas y generar veredicto
Encuentre preguntas sin respuesta y genere un veredicto de validación basado en los datos.
def validate(product, queries):
demand = check_demand(queries)
comp = analyze_competition(queries[0])
paa_questions = []
for s in demand["signals"]:
resp = requests.post("https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": "google", "query": s["query"]})
paa_questions.extend([q.get("question", "") for q in resp.json().get("people_also_ask", [])])
score = min(demand["avg_paa"] * 10, 100)
return {
"product": product,
"demand_score": round(score),
"competitors": comp["count"],
"gaps": list(set(paa_questions))[:5],
"verdict": "strong" if score >= 50 else "weak" if score >= 25 else "insufficient",
}
verdict = validate(PRODUCT_IDEA, VALIDATION_QUERIES)
print(json.dumps(verdict, indent=2))Ejemplo en Python
import os, requests
API_KEY = os.environ["SCAVIO_API_KEY"]
def validate(query):
resp = requests.post("https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": "google", "query": query})
data = resp.json()
return {"results": len(data.get("organic_results", [])),
"paa": len(data.get("people_also_ask", [])),
"related": len(data.get("related_searches", []))}
print(validate("invoice processing tool for freelancers"))Ejemplo en JavaScript
const H = {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"};
async function validate(query) {
const r = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST", headers: H,
body: JSON.stringify({platform: "google", query})
});
const d = await r.json();
return {results: (d.organic_results||[]).length, paa: (d.people_also_ask||[]).length,
related: (d.related_searches||[]).length};
}
validate("invoice processing tool for freelancers").then(console.log);Salida esperada
A product validation report with demand score, competitor count, market gaps from PAA data, and a go/no-go verdict based on search data analysis.