mcpField
S
serpapi

serpapi

github.com/borski生産性78077 回インストール2 日前に更新
リポジトリ

serpapi について

serpapiは、SerpAPI経由でGoogle Flights、Google Hotels、Google Travel Exploreを検索するスキルです。旅行計画での航空券・宿泊先の検索や、現金価格と特典航空券の比較に役立ちます。

主な機能

  1. 01片道・往復・複数都市の航空券検索
  2. 02座席クラス・価格・経由地での絞り込み
  3. 03ホテルとバケーションレンタルの料金検索
  4. 04目的地と低価格便の探索
  5. 05価格情報と過去の推移の確認

活用シーン

  1. 01現金運賃と特典航空券の比較
  2. 02日程や予算に合う宿泊先の検索
  3. 03出発地から手頃な旅行先を探索

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/borski/travel-hacking-toolkit --skill serpapi

インストール後、Claude Code で/serpapiを入力して読み込まれたか確認します。

詳細

SerpAPI スキル

SerpAPI を使用して Google Flights、Google Hotels、Google Travel Explore をスクレイピングします。現金での航空券価格(Chase/Amex ポータルとの比較用)、ホテル料金、旅行先の検索に利用できます。

ソース: serpapi.com — 無料枠を利用できます。大量利用向けの有料プランもあります。

認証

.env に SERPAPI_API_KEY が設定されています。すべてのリクエストで api_key クエリパラメーターを使用します。

API ベース

https://serpapi.com/search

Google Flights(現金での価格)

航空券の価格とスケジュールを検索します。「Chase ポータル経由で現金 $900 を支払うより、United の 88,000 マイルを使うほうがお得でしょうか?」といった比較に欠かせません(Chase ポータルの価格は Points Boost によって変動するようになりました。対象の予約では約 1.5~2.0 cpp です。実際の見積もりを確認してください)。

片道検索
curl -s "https://serpapi.com/search?engine=google_flights&departure_id=SFO&arrival_id=NRT&outbound_date=2026-08-10&type=2&adults=2&travel_class=1&currency=USD&stops=2&sort_by=2&api_key=$SERPAPI_API_KEY" | jq '{best: [.best_flights[]? | {price: .price, duration: .total_duration, stops: (.layovers | length), flights: [.flights[] | {from: .departure_airport.id, to: .arrival_airport.id, airline: .airline, flight: .flight_number, depart: .departure_airport.time, arrive: .arrival_airport.time}]}], price_insights: .price_insights}'
パラメーター
パラメーター必須説明
engineはいgoogle_flights
departure_idはい空港コード。カンマ区切り:SFO,PDX
arrival_idはい空港コード。カンマ区切り:NRT,HND
outbound_dateはいYYYY-MM-DD
return_date往復の場合YYYY-MM-DD(type=1 の場合は必須)
typeいいえ1 = 往復(デフォルト)、2 = 片道、3 = 複数都市
adultsいいえデフォルトは 1
childrenいいえデフォルトは 0
travel_classいいえ1 = エコノミー、2 = プレミアムエコノミー、3 = ビジネス、4 = ファースト
stopsいいえ0 = 指定なし、1 = 直行便、2 = 乗り継ぎ 1 回以下、3 = 乗り継ぎ 2 回以下
sort_byいいえ1 = おすすめのフライト、2 = 価格、3 = 出発時刻、4 = 到着時刻、5 = 所要時間
include_airlinesいいえIATA コード:SK,KL,UA またはアライアンス:STAR_ALLIANCE,SKYTEAM,ONEWORLD
max_priceいいえ航空券の USD 建て上限価格
max_durationいいえ飛行時間の上限(分)
bagsいいえ機内持ち込み手荷物の数
deep_searchいいえブラウザーでの検索結果と同じ結果にする場合は true(時間がかかります)
currencyいいえデフォルトは USD
複数都市(オープンジョー)

multi_city_json とともに type=3 を使用します:

curl -s "https://serpapi.com/search?engine=google_flights&type=3&multi_city_json=%5B%7B%22departure_id%22%3A%22SFO%22%2C%22arrival_id%22%3A%22NRT%22%2C%22date%22%3A%222026-08-05%22%7D%2C%7B%22departure_id%22%3A%22ICN%22%2C%22arrival_id%22%3A%22SFO%22%2C%22date%22%3A%222026-08-26%22%7D%5D&adults=2&travel_class=1&currency=USD&api_key=$SERPAPI_API_KEY" | jq '.'

multi_city_json の JSON 値は URL エンコードされています。デコード後:

[{"departure_id":"SFO","arrival_id":"NRT","date":"2026-08-05"},{"departure_id":"ICN","arrival_id":"SFO","date":"2026-08-26"}]
レスポンスフィールド

best_flights[] と other_flights[] の各フライト:

フィールド説明
priceUSD 建ての現金価格
total_duration合計所要時間(分)
flights[]航空会社、便名、時刻、機材、座席の足元スペースを含む区間の配列
layovers[]各乗り継ぎの所要時間と空港を含む配列
departure_token復路のフライト候補を取得するためのトークン(往復の場合)
booking_token予約オプションを取得するためのトークン

price_insights には、lowest_price、price_level(安い/標準/高い)、typical_price_range が含まれます。

ポータルとの比較計算

Chase Sapphire Reserve:Points Boost による変動価格で、対象の予約では通常 1.5~2.0 cpp です(最低交換価値が固定されているわけではありません)。予約ごとに実際のポータル価格を確認してください。 現金価格が $900 の場合、ポータルでの費用は 60,000 UR ポイントです。 特典航空券の価格が United マイル 88,000 マイルの場合、ポータル経由で現金を使うほうがお得です。

Amex:通常、ポータルでは 1 cpp です(価値が低いため、代わりにポイントを移行してください)。

Capital One Venture X:ポータルでは 1 cpp ですが、ポイント移行先のほうが有利な場合があります。

Google Hotels

複数の OTA の料金を使って、ホテルとバケーションレンタルを検索します。

curl -s "https://serpapi.com/search?engine=google_hotels&q=hotels+Tokyo+Japan&check_in_date=2026-08-10&check_out_date=2026-08-13&adults=2&currency=USD&sort_by=3&api_key=$SERPAPI_API_KEY" | jq '[.properties[]? | {name: .name, type: .type, rating: .overall_rating, reviews: .reviews, price: .rate_per_night.extracted_lowest, class: .extracted_hotel_class, amenities: .amenities}] | .[0:10]'
パラメーター
パラメーター必須説明
engineはいgoogle_hotels
qはい検索クエリ:hotels Tokyo Japan
check_in_dateはいYYYY-MM-DD
check_out_dateはいYYYY-MM-DD
adultsいいえデフォルトは 2
childrenいいえデフォルトは 0
sort_byいいえ3 = 最安値、8 = 評価が最も高い、13 = レビュー数が最も多い
min_price / max_priceいいえ価格帯の絞り込み
hotel_classいいえ2,3,4,5(カンマ区切り)
ratingいいえ7 = 3.5 以上、8 = 4.0 以上、9 = 4.5 以上
vacation_rentalsいいえAirbnb 形式の検索結果を表示するには true を設定
property_tokenいいえ特定の物件の詳細を取得

Google Travel Explore

目的地と出発地からの最安フライトを見つけられます。「8月に安く飛べる場所は?」といった検索に最適です。

curl -s "https://serpapi.com/search?engine=google_travel_explore&departure_id=SFO&outbound_date=2026-08-05&return_date=2026-08-26&adults=2&travel_class=1&currency=USD&api_key=$SERPAPI_API_KEY" | jq '[.destinations[]? | {name: .name, country: .country, airport: .destination_airport.code, price: .flight_price, duration: .flight_duration, stops: .number_of_stops, airline: .airline}] | .[0:15]'
パラメーター
パラメーター必須説明
engineはいgoogle_travel_explore
departure_idはい空港コードまたは kgmid
arrival_idいいえ特定の目的地
arrival_area_idいいえ地域の kgmid(例:ヨーロッパの場合は /m/02j9z)
outbound_dateいいえYYYY-MM-DD
return_dateいいえYYYY-MM-DD
monthいいえ日程に幅を持たせる場合は 1~12
travel_durationいいえ1 = 週末、2 = 1週間、3 = 2週間
interestいいえ/g/11bc58l13w = アウトドア、/m/0b3yr = ビーチ
include_airlinesいいえ航空会社またはアライアンスで絞り込み
max_priceいいえ最高価格
stopsいいえGoogle Flights と同じ

ワークフロー:特典航空券と現金価格を比較する

  1. SerpAPI 経由で Google Flights の現金価格を検索します
  2. ポータルの費用を見積もります。Chase は変動制の「Points Boost」価格設定を採用しており、一部の予約では約 1.5~2.0cpp です(固定レートではありません)。Amex/Capital One は約 1.0cpp です。概算するには、Chase の cpp を固定値と仮定せず、ポータルで実際に提示された価格を現金価格と比較してください。
  3. Seats.aero で特典航空券の価格と比較します
  4. 低いほうを選びます(各通貨に対する価値の見積もりを考慮してください)

注意事項

  • キャッシュされた結果は無料です(キャッシュは 1 時間)。最新の結果を取得するには no_cache=true を設定してください。
  • deep_search=true を設定すると、ブラウザーでの表示と同じ結果が得られますが、時間がかかります。
  • 結果には、過去の価格データと傾向を含む price_insights が含まれます。
  • 複数都市の検索では、オープンジョーの旅程が標準でサポートされています。
  • ホテル検索では、Airbnb 形式の結果を取得するバケーションレンタルモードがサポートされています。

コメント