Un usuario de r/sideprojects mencionó haber gastado $10 por semana en Tavily para su aplicación codificada por vibración, un prototipo construido rápidamente con asistencia de IA. A $0,008/crédito, eso equivale a aproximadamente 1250 búsquedas/semana. Scavio a $0,005/crédito costaría $6,25 por el mismo volumen. Este tutorial muestra cómo agregar (o intercambiar) una capa de datos de búsqueda en una aplicación codificada por vibración sin reestructurar todo.
Requisitos previos
- Clave API de Scavio
- Una aplicación existente (cualquier marco)
- Comprensión básica de las solicitudes HTTP
Guia paso a paso
Paso 1: Crear un módulo adaptador de búsqueda
Un único módulo que abstrae el proveedor de búsqueda. Si actualmente estás usando Tavily, este viene como reemplazo.
# search_adapter.py
import requests, os
SCAVIO_KEY = os.environ.get('SCAVIO_API_KEY', '')
TAVILY_KEY = os.environ.get('TAVILY_API_KEY', '')
def search(query, provider='scavio'):
if provider == 'scavio':
data = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': SCAVIO_KEY},
json={'platform': 'google', 'query': query}).json()
return [{'title': r.get('title', ''), 'url': r.get('link', ''),
'snippet': r.get('snippet', '')} for r in data.get('organic_results', [])]
elif provider == 'tavily':
data = requests.post('https://api.tavily.com/search',
json={'api_key': TAVILY_KEY, 'query': query}).json()
return [{'title': r.get('title', ''), 'url': r.get('url', ''),
'snippet': r.get('content', '')} for r in data.get('results', [])]
return []Paso 2: Agregar capacidad de búsqueda multiplataforma
Las aplicaciones codificadas por Vibe normalmente solo buscan en Google. Agregue Reddit y YouTube para obtener datos más completos.
# Extend the adapter with platform support
def multi_search(query, platforms=None):
if platforms is None:
platforms = ['google']
results = {}
for platform in platforms:
data = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': SCAVIO_KEY},
json={'platform': platform, 'query': query}).json()
results[platform] = data.get('results', []) or data.get('organic_results', [])
return results
# Now your app can search Google + Reddit + YouTube with one key
# Instead of integrating 3 separate APIsPaso 3: Reemplaza las llamadas de Tavily con el adaptador
Busque y reemplace llamadas de Tavily en su aplicación codificada por vibración.
# Before (Tavily at $0.008/credit):
# data = tavily_client.search(query)
# After (Scavio at $0.005/credit):
from search_adapter import search
data = search(query) # defaults to scavio
# Or, if you want to keep Tavily as fallback:
data = search(query, provider='scavio')
if not data:
data = search(query, provider='tavily')Paso 4: Agregar seguimiento de costos
Realice un seguimiento de cuánto gasta su aplicación en búsquedas.
import json, datetime
def tracked_search(query, platform='google'):
results = search(query)
with open('search_costs.jsonl', 'a') as f:
f.write(json.dumps({
'ts': datetime.datetime.now().isoformat(),
'query': query,
'platform': platform,
'cost': 0.005,
'result_count': len(results)
}) + '\n')
return results
# Weekly cost report
def weekly_cost():
total = 0
with open('search_costs.jsonl') as f:
for line in f:
total += json.loads(line)['cost']
print(f'Total search cost: ${total:.2f}')Ejemplo en Python
# Cost comparison for 1,250 searches/week:
# Tavily: 1,250 x $0.008 = $10.00/week
# Scavio: 1,250 x $0.005 = $6.25/week
# Savings: $3.75/week = $195/year
#
# Plus: Scavio adds Reddit, YouTube, Amazon, Walmart
# with the same API key (Tavily is Google-only)Ejemplo en JavaScript
// search-adapter.js
export async function search(query, platform = 'google') {
const res = 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, query})
});
const data = await res.json();
return data.organic_results || data.results || [];
}
// Replace: const data = await tavily.search(query)
// With: const data = await search(query)Salida esperada
Drop-in search adapter module. Replaces Tavily ($0.008/credit) with Scavio ($0.005/credit). Adds multi-platform search (Reddit, YouTube, Amazon, Walmart). Cost tracking with JSONL log.