serpapi について
serpapi は、SerpApi API 経由で検索エンジンの結果を取得するスキルです。構造化された検索データを必要とする開発者や分析担当者向けに、Google、Bing、YouTube のほか、画像・ニュース・商品・地域の店舗検索を扱います。
主な機能
- 01Google、Bing などのウェブ検索結果取得
- 02画像・ニュース・ショッピング検索
- 03YouTube 動画結果の取得
- 04Google Maps の地域店舗検索
- 05場所と言語による検索条件指定
- 06結果のページ送りと API 使用量確認
活用シーン
- 01検索語に対するウェブ結果の収集
- 02指定地域の店舗検索
- 03ニュース、商品、画像の検索
- 04SEO 順位の確認と結果のページ送り
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ nicepkg/ ai-workflow --skill serpapiインストール後、Claude Code で/serpapiを入力して読み込まれたか確認します。
詳細
SerpApi
curl を直接呼び出して SerpApi を使用し、Google、Bing、YouTube などの検索エンジンの検索結果をスクレイピングします。
公式ドキュメント:
https://serpapi.com/search-api
使用する場面
次のような場合に、このスキルを使用します。
- Google の検索結果をスクレイピングする(オーガニック検索、広告、ナレッジグラフ)
- Google 画像、ニュース、動画、ショッピングを検索する
- Google マップからローカルビジネスの検索結果を取得する
- その他の検索エンジンをスクレイピングする(Bing、YouTube、DuckDuckGo など)
- SEO 分析のためにSERP の順位を監視する
前提条件
- SerpApi に登録します
- ダッシュボードに移動し、API キーをコピーします
- 環境変数
SERPAPI_API_KEYに保存します
export SERPAPI_API_KEY="your-api-key"
料金
- 無料プラン:月 100 回の検索
- API キーはクエリパラメーター
api_keyとして渡します
重要: 別のコマンドにパイプで渡すコマンドで
$VARを使用する場合は、$VARを含むコマンドをbash -c '...'で囲んでください。Claude Code のバグにより、パイプを直接使用すると環境変数が通知なくクリアされます。bash -c 'curl -s "https://api.example.com" -H "Authorization: Bearer $API_KEY"'
使用方法
以下のすべての例では、SERPAPI_API_KEY が設定されていることを前提としています。
ベース URL:https://serpapi.com/search
1. 基本的な Google 検索
Google を検索し、構造化された JSON の検索結果を取得します。
bash -c 'curl -s "https://serpapi.com/search?engine=google&q=artificial+intelligence&api_key=${SERPAPI_API_KEY}"' | jq '.organic_results[:3] | .[] | {title, link, snippet}
2. 場所を指定した検索
特定の場所から検索します。
bash -c 'curl -s "https://serpapi.com/search?engine=google&q=best+coffee+shops&location=San+Francisco,+California&gl=us&hl=en&api_key=${SERPAPI_API_KEY}"' | jq '.organic_results[:3]'
パラメーター:
location:市区町村、州、または住所gl:国コード(us、uk、de など)hl:言語コード(en、de、fr など)
3. Google 画像検索
画像を検索します。
bash -c 'curl -s "https://serpapi.com/search?engine=google_images&q=sunset+beach&api_key=${SERPAPI_API_KEY}"' | jq '.images_results[:3] | .[] | {title, original, thumbnail}
4. Google ニュース検索
ニュース記事を検索します。
bash -c 'curl -s "https://serpapi.com/search?engine=google_news&q=technology&api_key=${SERPAPI_API_KEY}"' | jq '.news_results[:3] | .[] | {title, link, source, date}
5. Google ショッピング検索
商品を検索します。
bash -c 'curl -s "https://serpapi.com/search?engine=google_shopping&q=wireless+headphones&api_key=${SERPAPI_API_KEY}"' | jq '.shopping_results[:3] | .[] | {title, price, source}
6. YouTube 検索
YouTube の動画を検索します。
bash -c 'curl -s "https://serpapi.com/search?engine=youtube&search_query=python+tutorial&api_key=${SERPAPI_API_KEY}"' | jq '.video_results[:3] | .[] | {title, link, channel, views}
7. Google マップ/ローカル検索結果
地域のビジネスを検索します。
bash -c 'curl -s "https://serpapi.com/search?engine=google_maps&q=restaurants&[email protected],-74.0060,15z&api_key=${SERPAPI_API_KEY}"' | jq '.local_results[:3] | .[] | {title, rating, address}
パラメーター:
ll:緯度、経度、ズームレベル(例:@40.7128,-74.0060,15z)
8. ページネーション
start パラメーターを使用して、さらに検索結果を取得します。
# First page (results 1-10)
bash -c 'curl -s "https://serpapi.com/search?engine=google&q=machine+learning&start=0&api_key=${SERPAPI_API_KEY}"' | jq '.organic_results | length'
# Second page (results 11-20)
bash -c 'curl -s "https://serpapi.com/search?engine=google&q=machine+learning&start=10&api_key=${SERPAPI_API_KEY}"' | jq '.organic_results | length'
9. アカウント情報の確認
API の使用状況とクレジットを確認します。
bash -c 'curl -s "https://serpapi.com/account?api_key=${SERPAPI_API_KEY}"' | jq '{plan_name, searches_per_month, this_month_usage}
対応エンジン
| エンジン | パラメーター | 説明 |
|---|---|---|
| Google 検索 | engine=google | ウェブ検索結果 |
| Google 画像 | engine=google_images | 画像検索 |
| Google ニュース | engine=google_news | ニュース記事 |
| Google ショッピング | engine=google_shopping | 商品検索 |
| Google マップ | engine=google_maps | 地域のビジネス |
| YouTube | engine=youtube | 動画検索 |
| Bing | engine=bing | Bing ウェブ検索 |
| DuckDuckGo | engine=duckduckgo | プライバシー重視の検索 |
よく使うパラメーター
| パラメーター | 説明 |
|---|---|
q | 検索クエリ(必須) |
engine | 使用する検索エンジン |
location | 検索する地理的な場所 |
gl | 国コード(例:us、uk) |
hl | 言語コード(例:en、de) |
start | ページネーションのオフセット(0、10、20...) |
num | 検索結果の数(最大 100) |
safe | セーフサーチ(active または off) |
device | デバイスの種類(desktop、mobile、tablet) |
ガイドライン
- エンジンを具体的に指定する: 結果を整理しやすくするため、
tbmパラメーターではなくgoogle_images、google_newsなどを使用します - ローカル検索には場所を指定する: 地域をターゲットにした検索結果を取得するには、
locationとglを使用します - 検索結果をキャッシュする: SerpApi はデフォルトで検索結果をキャッシュします。最新のデータを取得するには
no_cache=trueを使用します - 使用状況を監視する:
/accountエンドポイントを確認し、API クレジットを追跡します - jq フィルターを使用する: 大きな JSON レスポンスをフィルタリングし、必要なデータだけを抽出します
コメント
Markdown 対応