← Voltar ao blog

Google Search API em Python: Tutorial Completo (2026)

Como usar uma Google Search API em Python — requisições autenticadas, parsing de resultados, paginação, retries e uma classe cliente reutilizável. Com exemplos.

1 min de leitura

Este tutorial mostra como consultar o Google a partir do Python e obter resultados limpos e estruturados — usando o serp.cheap, a Google Search API mais barata em 2026.

Instalação

pip install requests

Exemplo 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"]}')

Um cliente reutilizável com retries

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

Paginação

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 é uma requisição cobrada separadamente — busque de forma preguiçosa (lazy). Mais detalhes em paginação.

Controle de custo

O stats.cost é em créditos (1 = $0.0001). Acertos de cache custam 3 créditos, buscas novas custam 6. Consultas repetidas são servidas a partir do cache automaticamente pela metade do preço.

Próximos passos

Perguntas frequentes

Qual é a forma mais fácil de chamar uma Google Search API em Python?+

Use a biblioteca requests para fazer um POST da sua consulta em uma SERP API. Com serp.cheap: requests.post('https://api.serp.cheap/v1/search', headers={'X-API-Key': KEY}, json={'q': query, 'gl': 'us'}). O JSON de resposta tem uma lista organic[]. Prefere um cliente tipado? Instale o SDK oficial com pip install serpcheap (integrações com Django e FastAPI também estão disponíveis).

Como lidar com limites de taxa (rate limits) em Python?+

Capture o HTTP 429 e tente novamente com backoff exponencial (por exemplo, via urllib3 Retry ou tenacity). No serp.cheap, o limite é de 60 requisições/minuto (1 req/s) por chave no plano gratuito, 600/minuto (10 req/s) no pré-pago e até 60 req/s nos planos superiores.

Pegue sua chave de API

Mais barato direto, pague com cartão ou crypto, sem KYC. Ou use um marketplace.