← ブログに戻る

PythonでのGoogle Search API:完全チュートリアル (2026)

PythonでGoogle Search APIを使う方法 — 認証付きリクエスト、結果のパース、ページネーション、リトライ、再利用可能なクライアントクラス。例付き。

1 分で読めます

このチュートリアルでは、PythonからGoogleにクエリを送り、クリーンで構造化された結果を取得する方法を、2026年最安のGoogle Search APIであるserp.cheapを使って解説します。

インストール

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

PythonでGoogle Search APIを呼び出す最も簡単な方法は?+

requestsライブラリを使ってSERP APIにクエリをPOSTします。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不要。またはマーケットプレイス経由。