ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo agregar una API de búsqueda a su producto SaaS
Tutorial

Cómo agregar una API de búsqueda a su producto SaaS

Integre la API de búsqueda de Scavio en su backend SaaS para potenciar las funciones de búsqueda en vivo. Ejemplos de Python y JS con almacenamiento en caché y limitación de velocidad.

Obtener clave API gratisDocumentacion API

Agregue capacidades de búsqueda en vivo a su producto SaaS integrando una API de búsqueda en su backend y exponiéndola a través de sus propios puntos finales. Esto evita el envío de claves API de terceros al cliente y le permite aplicar límites de velocidad, almacenamiento en caché y control de acceso en la capa de aplicación. La API multiplataforma de clave única de Scavio simplifica esto porque una integración cubre los resultados de Google, YouTube, Amazon, Reddit y Walmart. Este tutorial crea un proxy de búsqueda listo para producción con almacenamiento en caché y limitación de velocidad por usuario.

Requisitos previos

  • Un servicio backend en ejecución (Python/Flask, Express o similar)
  • Una clave API de Scavio de scavio.dev
  • Comprensión básica del diseño de API REST
  • Redis o un caché en memoria (opcional pero recomendado)

Guia paso a paso

Paso 1: Crear el punto final del proxy de búsqueda

Cree un punto final de backend que reciba solicitudes de búsqueda desde su frontend y las envíe a través de Scavio.

Python
from flask import Flask, request, jsonify
import requests, os

app = Flask(__name__)
API_KEY = os.environ['SCAVIO_API_KEY']

@app.route('/api/search', methods=['POST'])
def search():
    body = request.json
    query = body.get('query', '')
    platform = body.get('platform', 'google')
    if not query:
        return jsonify({'error': 'query required'}), 400
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY},
        json={'platform': platform, 'query': query}, timeout=10)
    return jsonify(resp.json()), resp.status_code

Paso 2: Agregar almacenamiento en caché de respuestas

Almacene en caché los resultados de búsqueda por consulta+clave de plataforma con un TTL para reducir las llamadas a la API y mejorar los tiempos de respuesta para consultas repetidas.

Python
from functools import lru_cache
import hashlib, time

cache = {}
CACHE_TTL = 300  # 5 minutes

def cached_search(query: str, platform: str) -> dict:
    key = hashlib.md5(f'{platform}:{query}'.encode()).hexdigest()
    if key in cache and time.time() - cache[key]['ts'] < CACHE_TTL:
        return cache[key]['data']
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY},
        json={'platform': platform, 'query': query}, timeout=10)
    data = resp.json()
    cache[key] = {'data': data, 'ts': time.time()}
    return data

Paso 3: Agregar limitación de tarifa por usuario

Limite la cantidad de búsquedas que cada usuario puede realizar por minuto para proteger su presupuesto de crédito API.

Python
from collections import defaultdict

rate_limits = defaultdict(list)
MAX_PER_MINUTE = 10

def check_rate_limit(user_id: str) -> bool:
    now = time.time()
    rate_limits[user_id] = [t for t in rate_limits[user_id] if now - t < 60]
    if len(rate_limits[user_id]) >= MAX_PER_MINUTE:
        return False
    rate_limits[user_id].append(now)
    return True

@app.route('/api/search', methods=['POST'])
def search_with_limits():
    user_id = request.headers.get('X-User-Id', 'anon')
    if not check_rate_limit(user_id):
        return jsonify({'error': 'rate limit exceeded'}), 429
    body = request.json
    data = cached_search(body.get('query', ''), body.get('platform', 'google'))
    return jsonify(data)

Ejemplo en Python

Python
from flask import Flask, request, jsonify
import requests, os, time, hashlib

app = Flask(__name__)
API_KEY = os.environ['SCAVIO_API_KEY']
cache = {}

@app.route('/api/search', methods=['POST'])
def search():
    q = request.json.get('query', '')
    key = hashlib.md5(q.encode()).hexdigest()
    if key in cache and time.time() - cache[key]['ts'] < 300:
        return jsonify(cache[key]['data'])
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY}, json={'platform': 'google', 'query': q})
    cache[key] = {'data': resp.json(), 'ts': time.time()}
    return jsonify(cache[key]['data'])

Ejemplo en JavaScript

JavaScript
import express from 'express';
const app = express();
app.use(express.json());
const cache = new Map();

app.post('/api/search', async (req, res) => {
  const {query, platform = 'google'} = req.body;
  const key = `${platform}:${query}`;
  const cached = cache.get(key);
  if (cached && Date.now() - cached.ts < 300000) return res.json(cached.data);
  const r = 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 r.json();
  cache.set(key, {data, ts: Date.now()});
  res.json(data);
});
app.listen(3000);

Salida esperada

JSON
A backend search proxy endpoint that caches results and enforces per-user rate limits, exposing Scavio search through your own SaaS API.

Tutoriales relacionados

  • Cómo obtener resultados de búsqueda de Google en Python
  • Cómo crear una capa API delgada sobre Scavio para facturación SEO por consulta

Preguntas frecuentes

La mayoria de los desarrolladores completan este tutorial en 15 a 30 minutos. Necesitaras una clave API de Scavio (el plan gratuito funciona) y un entorno de Python o JavaScript.

Un servicio backend en ejecución (Python/Flask, Express o similar). Una clave API de Scavio de scavio.dev. Comprensión básica del diseño de API REST. Redis o un caché en memoria (opcional pero recomendado). Una clave API de Scavio te da 50 creditos gratuitos al registrarte.

Si. El plan gratuito incluye 50 creditos al registrarte, mas que suficiente para completar este tutorial y crear un prototipo funcional.

Scavio tiene un paquete nativo de LangChain (langchain-scavio), un servidor MCP y una API REST simple que funciona con cualquier cliente HTTP. Este tutorial usa the raw REST API, pero puedes adaptarlo al framework que prefieras.

Recursos relacionados

Best Of

Las mejores API de búsqueda para fundadores de Solo SaaS (2026)

Read more
Best Of

Las mejores API de búsqueda después de los cambios en el modo AI de Google I/O 2026

Read more
Glossary

Panorama de proveedores de API de búsqueda (2026)

Read more
Glossary

API de búsqueda estructurada como alternativa de proxy

Read more
Comparison

TikTok Proxy Scraping vs TikTok Third-Party API (Scavio, TikAPI)

Read more
Comparison

Search APIs (Scavio, Tavily, SerpAPI) vs Headless Browser (Playwright, Puppeteer, Browserbase)

Read more

Empieza a construir

Integre la API de búsqueda de Scavio en su backend SaaS para potenciar las funciones de búsqueda en vivo. Ejemplos de Python y JS con almacenamiento en caché y limitación de velocidad.

Obtener clave API gratuitaLeer la documentacion
ScavioScavio

API de busqueda en tiempo real para agentes de IA. Busca en todas las plataformas, no solo en Google.

Producto

  • Funciones
  • Precios
  • Panel
  • Afiliados

Desarrolladores

  • Documentacion
  • Referencia de API
  • Inicio rapido
  • Integracion MCP
  • Python SDK

Alternativas

  • Alternativa a Tavily
  • Alternativa a SerpAPI
  • Alternativa a Firecrawl
  • Alternativa a Exa

Herramientas

  • Formateador JSON
  • cURL a codigo
  • Contador de tokens
  • Todas las herramientas

© 2026 Scavio. Todos los derechos reservados.

Featured on TAAFT
Terminos de servicioPolitica de privacidad