Las páginas de comparación de SaaS como 'Scavio vs SerpAPI' capturan tráfico de búsqueda de alta intención de compradores que evalúan activamente las herramientas. Crearlos manualmente lleva horas por página, pero un enfoque basado en plantillas con datos de precios en vivo desde una API SERP escala a cientos de páginas automáticamente. Cada verificación de precios cuesta $0,005, por lo que validar 100 páginas de comparación cuesta $0,50.
Requisitos previos
- Python 3.8+
- solicita biblioteca
- Una clave API de Scavio de scavio.dev
- Una lista de pares de competidores para comparar
Guia paso a paso
Paso 1: Definir la plantilla de comparación
Cree una estructura de plantilla reutilizable para páginas X e Y.
import os, requests, json
API_KEY = os.environ['SCAVIO_API_KEY']
SH = {'x-api-key': API_KEY, 'Content-Type': 'application/json'}
def comparison_template(tool_a, tool_b):
return {
'slug': f'{tool_a.lower().replace(" ", "-")}-vs-{tool_b.lower().replace(" ", "-")}',
'title': f'{tool_a} vs {tool_b}: Which Is Better in 2026?',
'meta_title': f'{tool_a} vs {tool_b} Comparison (2026)',
'meta_description': f'Compare {tool_a} and {tool_b} side by side: pricing, features, API design, and real user feedback. Updated May 2026.',
'sections': ['quick_verdict', 'pricing_table', 'feature_comparison',
'user_feedback', 'when_to_choose_each', 'methodology']
}
template = comparison_template('Scavio', 'SerpAPI')
print(f'Page: {template["slug"]}')
print(f'Title: {template["title"]}')
print(f'Sections: {", ".join(template["sections"])}')Paso 2: Obtenga precios en vivo y datos de funciones
Utilice datos SERP para obtener información sobre precios y funciones actuales.
def fetch_tool_data(tool_name):
"""Get current data about a tool from search results."""
data = requests.post('https://api.scavio.dev/api/v1/search',
headers=SH, json={'query': f'{tool_name} pricing 2026', 'country_code': 'us'}).json()
organic = data.get('organic_results', [])[:3]
pricing_snippet = ''
for r in organic:
snippet = r.get('snippet', '')
if any(w in snippet.lower() for w in ['$', 'free', 'pricing', 'month', 'credit']):
pricing_snippet = snippet[:200]
break
# Reddit sentiment
reddit = requests.post('https://api.scavio.dev/api/v1/search',
headers=SH, json={'query': f'{tool_name} review', 'platform': 'reddit', 'country_code': 'us'}).json()
reddit_mentions = len(reddit.get('organic_results', []))
return {
'name': tool_name,
'pricing_snippet': pricing_snippet,
'reddit_mentions': reddit_mentions,
'top_result': organic[0].get('title', '')[:60] if organic else 'N/A'
}
for tool in ['Scavio', 'SerpAPI']:
info = fetch_tool_data(tool)
print(f'{tool}:')
print(f' Pricing: {info["pricing_snippet"][:80]}')
print(f' Reddit mentions: {info["reddit_mentions"]}')Paso 3: Generar contenido de comparación a partir de plantilla
Llene la plantilla con datos para producir contenido de la página.
def generate_comparison(tool_a_name, tool_b_name, tool_a_data, tool_b_data):
"""Generate comparison page content from template and data."""
template = comparison_template(tool_a_name, tool_b_name)
content = {
**template,
'intro': f'{tool_a_name} and {tool_b_name} both provide search API services. This comparison uses verified pricing data and real user feedback from Reddit to help you choose.',
'pricing': {
tool_a_name: tool_a_data['pricing_snippet'],
tool_b_name: tool_b_data['pricing_snippet']
},
'user_sentiment': {
tool_a_name: f'{tool_a_data["reddit_mentions"]} Reddit discussions',
tool_b_name: f'{tool_b_data["reddit_mentions"]} Reddit discussions'
},
'last_verified': '2026-05-19'
}
return content
a_data = fetch_tool_data('Scavio')
b_data = fetch_tool_data('SerpAPI')
page = generate_comparison('Scavio', 'SerpAPI', a_data, b_data)
print(f'\nGenerated: {page["title"]}')
print(f'Slug: {page["slug"]}')
print(f'Last verified: {page["last_verified"]}')Paso 4: Escalar a muchas páginas de comparación
Genere páginas de comparación para todos los pares de competidores automáticamente.
def batch_generate(tools):
"""Generate comparison pages for all pairs."""
from itertools import combinations
pairs = list(combinations(tools, 2))
pages = []
total_cost = 0
for a, b in pairs:
a_data = fetch_tool_data(a)
b_data = fetch_tool_data(b)
total_cost += 4 * 0.005 # 2 Google + 2 Reddit searches
page = generate_comparison(a, b, a_data, b_data)
pages.append(page)
print(f' Generated: {page["slug"]}')
print(f'\nGenerated {len(pages)} comparison pages')
print(f'Total cost: ${total_cost:.3f}')
print(f'Cost per page: ${total_cost/len(pages):.4f}')
# Save all pages
with open('comparison_pages.json', 'w') as f:
json.dump(pages, f, indent=2)
print(f'Saved to comparison_pages.json')
return pages
tools = ['Scavio', 'SerpAPI', 'DataForSEO', 'Serper', 'Tavily']
pages = batch_generate(tools)Ejemplo en Python
import os, requests
SH = {'x-api-key': os.environ['SCAVIO_API_KEY'], 'Content-Type': 'application/json'}
def vs_page(tool_a, tool_b):
for tool in [tool_a, tool_b]:
data = requests.post('https://api.scavio.dev/api/v1/search',
headers=SH, json={'query': f'{tool} pricing 2026', 'country_code': 'us'}).json()
snippet = (data.get('organic_results') or [{}])[0].get('snippet', '')[:80]
print(f'{tool}: {snippet}')
print(f'Page: {tool_a.lower()}-vs-{tool_b.lower()} | Cost: $0.010')
vs_page('Scavio', 'SerpAPI')Ejemplo en JavaScript
const SH = { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' };
async function vsPage(toolA, toolB) {
for (const tool of [toolA, toolB]) {
const data = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST', headers: SH,
body: JSON.stringify({ query: `${tool} pricing 2026`, country_code: 'us' })
}).then(r => r.json());
console.log(`${tool}: ${(data.organic_results||[{}])[0]?.snippet?.slice(0,80) || 'N/A'}`);
}
console.log(`Page: ${toolA.toLowerCase()}-vs-${toolB.toLowerCase()}`);
}
vsPage('Scavio', 'SerpAPI').catch(console.error);Salida esperada
Page: scavio-vs-serpapi
Title: Scavio vs SerpAPI: Which Is Better in 2026?
Sections: quick_verdict, pricing_table, feature_comparison, user_feedback, when_to_choose_each, methodology
Scavio:
Pricing: Scavio offers a free tier with 250 credits/month. Paid plans start at $30...
Reddit mentions: 8
SerpAPI:
Pricing: SerpAPI pricing starts at $25/month for 1,000 searches...
Reddit mentions: 12
Generated 10 comparison pages
Total cost: $0.200
Cost per page: $0.0200