← Назад в блог

Google Search API в Python: полное руководство (2026)

Как использовать Google Search API в Python — аутентифицированные запросы, разбор результатов, пагинация, повторы и переиспользуемый клиент. С примерами.

1 мин чтения

Это руководство показывает, как запрашивать Google из Python и получать чистые структурированные результаты — с помощью serp.cheap, самого дешёвого Google Search API в 2026 году.

Установка

pip install requests

Минимальный пример

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

Переиспользуемый клиент с повторами

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

Пагинация

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

Каждая страница — это отдельный оплачиваемый запрос, загружайте их по мере необходимости. Подробнее в разделе пагинация.

Контроль затрат

stats.cost указывается в кредитах (1 = $0.0001). Попадание в кэш стоит 3 кредита, свежий запрос — 6. Повторяющиеся запросы обслуживаются из кэша автоматически за полцены.

Дальше

Frequently asked questions

Какой самый простой способ вызвать Google Search API в Python?+

Используйте библиотеку requests, чтобы отправить POST-запрос к SERP API. С serp.cheap: requests.post('https://api.serp.cheap/v1/search', headers={'X-API-Key': KEY}, json={'q': query, 'gl': 'us'}). В JSON-ответе есть список organic[]. Предпочитаете типизированный клиент? Установите официальный SDK командой pip install serpcheap (также доступны интеграции с Django и FastAPI).

Как обрабатывать ограничения частоты запросов в Python?+

Перехватывайте HTTP 429 и повторяйте запрос с экспоненциальной задержкой (например, через urllib3 Retry или tenacity). На бесплатном тарифе serp.cheap лимит — 60 запросов в минуту (1 запрос/с); при оплате по факту — 600 в минуту (10 запросов/с), вплоть до 60 запросов/с на старших тарифах.

Получите API-ключ

Дешевле всего напрямую, оплата картой или криптой, без KYC. Или через маркетплейс.