La API SERP de Bright Data requiere un compromiso mínimo de $499 al mes, configuración de zona, administración de proxy y lista blanca de IP antes de poder ejecutar una sola consulta. Para los equipos que necesitan resultados de búsqueda estructurados sin infraestructura de proxy empresarial, una API liviana como Scavio ofrece los mismos resultados orgánicos, fragmentos destacados y datos PAA a través de un único punto final POST a $0,005/crédito sin gasto mínimo. Este tutorial recorre ambas configuraciones una al lado de la otra para que pueda evaluar las ventajas y desventajas en menos de 15 minutos.
Requisitos previos
- Python 3.8+ instalado
- solicita biblioteca instalada (solicitudes de instalación de pip)
- Una cuenta de Bright Data (para la ruta de Bright Data)
- Una clave API de Scavio de scavio.dev (para la ruta ligera)
Guia paso a paso
Paso 1: Configurar la zona SERP de Bright Data
Bright Data requiere crear una zona SERP API en el panel, configurar las credenciales de proxy, incluir la IP de su servidor en la lista blanca y elegir un plan de facturación (mínimo de $499/mes para SERP API). Recibirá un nombre de usuario, contraseña y host de zona.
# Bright Data setup (after dashboard configuration)
import requests
BD_HOST = 'brd.superproxy.io'
BD_PORT = 33335
BD_USER = 'brd-customer-CUST_ID-zone-ZONE_NAME'
BD_PASS = 'your_zone_password'
proxies = {
'http': f'http://{BD_USER}:{BD_PASS}@{BD_HOST}:{BD_PORT}',
'https': f'http://{BD_USER}:{BD_PASS}@{BD_HOST}:{BD_PORT}'
}
# Bright Data SERP request
resp = requests.get(
'https://www.google.com/search?q=best+crm+2026&gl=us',
proxies=proxies,
verify=False # Required for BD proxy
)
print(f'Status: {resp.status_code}, Length: {len(resp.text)}')
# You still need to parse raw HTML yourselfPaso 2: Configurar la alternativa API ligera
Con una API de búsqueda liviana, no hay configuración de zona, administración de proxy ni lista blanca de IP. Obtiene una clave API y comienza a realizar consultas de inmediato. La respuesta es JSON estructurado, no HTML sin formato.
import requests, os
API_KEY = os.environ.get('SCAVIO_API_KEY', 'your_scavio_api_key')
resp = requests.post(
'https://api.scavio.dev/api/v1/search',
headers={'x-api-key': API_KEY, 'Content-Type': 'application/json'},
json={'query': 'best crm 2026', 'country_code': 'us'}
)
data = resp.json()
for r in data.get('organic_results', [])[:3]:
print(f"{r['title']} -> {r['link']}")Paso 3: Comparar formatos de respuesta
Bright Data devuelve HTML de Google sin procesar que debes analizar con BeautifulSoup o un analizador personalizado. La API liviana devuelve JSON estructurado con organic_results, feature_snippets y people_also_ask ya extraídos.
# Bright Data: you must parse HTML yourself
from bs4 import BeautifulSoup
soup = BeautifulSoup(bd_response.text, 'html.parser')
results = []
for div in soup.select('div.g'):
title = div.select_one('h3')
link = div.select_one('a')
if title and link:
results.append({'title': title.text, 'link': link['href']})
# Fragile: selector changes break this regularly
# Lightweight API: structured JSON out of the box
organic = data.get('organic_results', [])
snippets = data.get('featured_snippets', [])
paa = data.get('people_also_ask', [])
print(f'{len(organic)} results, {len(snippets)} snippets, {len(paa)} PAA')Paso 4: Comparar costos en diferentes volúmenes
Calcule el costo mensual para ambas opciones en volúmenes de consultas comunes. La API SERP de Bright Data comienza en $499/mes. La API liviana cobra $0.005/crédito con un nivel gratuito de 250 créditos/mes y planes a partir de $30/7K créditos.
volumes = [1000, 5000, 10000, 50000]
print(f'{"Queries/mo":<12} {"Bright Data":<15} {"Scavio":<15} {"Savings"}')
print('-' * 55)
for v in volumes:
bd_cost = max(499, v * 0.01) # ~$0.01/query on SERP API
# Scavio: $0.005/credit, 1 credit per query
if v <= 250:
sc_cost = 0
elif v <= 7000:
sc_cost = 30
elif v <= 28000:
sc_cost = 100
elif v <= 85000:
sc_cost = 250
else:
sc_cost = 500
savings = bd_cost - sc_cost
print(f'{v:<12} ${bd_cost:<14.0f} ${sc_cost:<14} ${savings:.0f}')Ejemplo en Python
import requests, os, time
API_KEY = os.environ.get('SCAVIO_API_KEY', 'your_scavio_api_key')
ENDPOINT = 'https://api.scavio.dev/api/v1/search'
HEADERS = {'x-api-key': API_KEY, 'Content-Type': 'application/json'}
def lightweight_search(query: str, country: str = 'us') -> dict:
start = time.time()
resp = requests.post(ENDPOINT, headers=HEADERS,
json={'query': query, 'country_code': country})
resp.raise_for_status()
elapsed = time.time() - start
data = resp.json()
return {
'query': query,
'results': len(data.get('organic_results', [])),
'snippets': len(data.get('featured_snippets', [])),
'paa': len(data.get('people_also_ask', [])),
'latency_ms': round(elapsed * 1000)
}
queries = ['best crm 2026', 'crm pricing comparison', 'hubspot vs salesforce']
for q in queries:
stats = lightweight_search(q)
print(f"{stats['query']}: {stats['results']} results in {stats['latency_ms']}ms")
print(f" Snippets: {stats['snippets']}, PAA: {stats['paa']}")Ejemplo en JavaScript
const API_KEY = process.env.SCAVIO_API_KEY || 'your_scavio_api_key';
const ENDPOINT = 'https://api.scavio.dev/api/v1/search';
const HEADERS = { 'x-api-key': API_KEY, 'Content-Type': 'application/json' };
async function lightweightSearch(query, country = 'us') {
const start = Date.now();
const resp = await fetch(ENDPOINT, {
method: 'POST',
headers: HEADERS,
body: JSON.stringify({ query, country_code: country })
});
if (!resp.ok) throw new Error(`HTTP ${resp.status}`);
const data = await resp.json();
return {
query,
results: (data.organic_results || []).length,
snippets: (data.featured_snippets || []).length,
paa: (data.people_also_ask || []).length,
latencyMs: Date.now() - start
};
}
async function main() {
const queries = ['best crm 2026', 'crm pricing comparison', 'hubspot vs salesforce'];
for (const q of queries) {
const stats = await lightweightSearch(q);
console.log(`${stats.query}: ${stats.results} results in ${stats.latencyMs}ms`);
console.log(` Snippets: ${stats.snippets}, PAA: ${stats.paa}`);
}
}
main().catch(console.error);Salida esperada
Queries/mo Bright Data Scavio Savings
-------------------------------------------------------
1000 $499 $30 $469
5000 $499 $30 $469
10000 $499 $100 $399
50000 $500 $250 $250
best crm 2026: 10 results in 820ms
Snippets: 1, PAA: 4
crm pricing comparison: 10 results in 750ms
Snippets: 0, PAA: 3
hubspot vs salesforce: 10 results in 680ms
Snippets: 1, PAA: 5