← Volver al blog

Google Search API en Python: Tutorial Completo (2026)

Cómo usar una Google Search API en Python: peticiones autenticadas, análisis de resultados, paginación, reintentos y una clase cliente reutilizable. Con ejemplos.

1 min de lectura

Este tutorial muestra cómo consultar Google desde Python y obtener resultados limpios y estructurados, usando serp.cheap, la Google Search API más barata en 2026.

Instalación

pip install requests

Ejemplo mínimo

import requests

resp = requests.post(
    "https://api.serp.cheap/v1/search",
    headers={"X-API-Key": "YOUR_KEY"},
    json={"q": "best electric cars 2026", "gl": "us", "page": 1},
    timeout=30,
)
resp.raise_for_status()
for r in resp.json()["organic"]:
    print(f'#{r["position"]} {r["title"]} — {r["link"]}')

Un cliente reutilizable con reintentos

import requests
from requests.adapters import HTTPAdapter, Retry

class SerpClient:
    def __init__(self, api_key: str):
        self.s = requests.Session()
        self.s.headers.update({"X-API-Key": api_key})
        retries = Retry(total=4, backoff_factor=1.5,
                        status_forcelist=[429, 500, 502, 503, 504])
        self.s.mount("https://", HTTPAdapter(max_retries=retries))

    def search(self, q, gl="us", page=1, tbs=None):
        body = {"q": q, "gl": gl, "page": page}
        if tbs:
            body["tbs"] = tbs
        r = self.s.post("https://api.serp.cheap/v1/search", json=body, timeout=30)
        r.raise_for_status()
        return r.json()

client = SerpClient("YOUR_KEY")
data = client.search("python web scraping", gl="us")
print(data["stats"])  # balance, cost, cached

Paginar

def all_results(client, q, pages=3, gl="us"):
    out = []
    for p in range(1, pages + 1):
        out += client.search(q, gl=gl, page=p)["organic"]
    return out

Cada página es una petición facturada por separado: obténlas de forma diferida. Más información en paginación.

Control de costes

stats.cost se expresa en créditos (1 = $0.0001). Los aciertos de caché cuestan 3 créditos, las búsquedas frescas 6. Las consultas repetidas se sirven desde la caché automáticamente a mitad de precio.

Siguiente

Preguntas frecuentes

¿Cuál es la forma más fácil de llamar a una Google Search API en Python?+

Usa la librería requests para hacer un POST de tu consulta a una SERP API. Con serp.cheap: requests.post('https://api.serp.cheap/v1/search', headers={'X-API-Key': KEY}, json={'q': query, 'gl': 'us'}). El JSON de respuesta tiene una lista organic[]. ¿Prefieres un cliente tipado? Instala el SDK oficial con pip install serpcheap (también hay integraciones con Django y FastAPI).

¿Cómo gestiono los límites de tasa en Python?+

Captura el HTTP 429 y reintenta con retroceso exponencial (por ejemplo, mediante urllib3 Retry o tenacity). El límite de serp.cheap es de 60 peticiones/minuto (1 req/s) en el nivel gratuito y de 600/minuto (10 req/s) en pago por uso, llegando hasta 60 req/s en los planes superiores.

Obtén tu clave de API

Más barato directo, paga con tarjeta o cripto, sin KYC. O usa un marketplace.