一键导入
serpapi
Google Flights cash prices, Google Hotels, and Google Travel Explore via SerpAPI. Use for award-vs-cash comparison, hotel search, and destination discovery.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Google Flights cash prices, Google Hotels, and Google Travel Explore via SerpAPI. Use for award-vs-cash comparison, hotel search, and destination discovery.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
What to do when a tool fails, an API hits a rate limit, or a site blocks scraping. Maps every primary tool to its best fallback so a single failure doesn't block the search.
Guided trip planning workflow. Asks destination, dates, travelers, class, and flexibility, then runs parallel flight/hotel search with cpp math and booking plan.
Deutsche Bahn train schedules, journey planning, and departures across Germany and into neighboring countries (Austria, Switzerland, Netherlands, France, Belgium). Use for ICE/IC/regional rail planning and airport ground transport (FRA, MUC).
Discover destinations served from any airport via Wikipedia. Sanity-check whether an airline flies a specific route, find regional service that fare tools miss, identify late-split-return airport options.
Query AwardWallet for loyalty program balances, elite status, and transaction history. Use when checking points inventory, airline status, or planning trips on points.
TripAdvisor Content API for hotel ratings, restaurant search, attraction reviews, rankings, and nearby locations. Use when evaluating hotels or researching destinations. 5K calls/month.
| name | serpapi |
| description | Google Flights cash prices, Google Hotels, and Google Travel Explore via SerpAPI. Use for award-vs-cash comparison, hotel search, and destination discovery. |
| category | hotels |
| summary | Google Hotels search and destination discovery. |
| api_key | SerpAPI |
| license | MIT |
Scrape Google Flights, Google Hotels, and Google Travel Explore via SerpAPI. Provides cash flight prices (for Chase/Amex portal comparison), hotel pricing, and destination discovery.
Source: serpapi.com — Free tier available, paid plans for higher volume.
SERPAPI_API_KEY is set in .env. All requests use api_key query parameter.
https://serpapi.com/search
Search for flight prices and schedules. Essential for comparing: "Is 88,000 United miles better than paying $900 cash through the Chase portal?" (Chase portal pricing is now dynamic via Points Boost, ~1.5-2.0 cpp on select bookings; verify the actual quote.)
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¤cy=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}'
| Param | Required | Description |
|---|---|---|
engine | Yes | google_flights |
departure_id | Yes | Airport code(s), comma-separated: SFO,PDX |
arrival_id | Yes | Airport code(s), comma-separated: NRT,HND |
outbound_date | Yes | YYYY-MM-DD |
return_date | Round trip | YYYY-MM-DD (required if type=1) |
type | No | 1 = round trip (default), 2 = one way, 3 = multi-city |
adults | No | Default 1 |
children | No | Default 0 |
travel_class | No | 1 = economy, 2 = premium economy, 3 = business, 4 = first |
stops | No | 0 = any, 1 = nonstop, 2 = 1 stop or fewer, 3 = 2 stops or fewer |
sort_by | No | 1 = top flights, 2 = price, 3 = departure, 4 = arrival, 5 = duration |
include_airlines | No | IATA codes: SK,KL,UA or alliances: STAR_ALLIANCE,SKYTEAM,ONEWORLD |
max_price | No | Maximum ticket price in USD |
max_duration | No | Maximum flight duration in minutes |
bags | No | Number of carry-on bags |
deep_search | No | true for browser-identical results (slower) |
currency | No | Default USD |
Use type=3 with multi_city_json:
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¤cy=USD&api_key=$SERPAPI_API_KEY" | jq '.'
The JSON value for multi_city_json is URL-encoded. Decoded:
[{"departure_id":"SFO","arrival_id":"NRT","date":"2026-08-05"},{"departure_id":"ICN","arrival_id":"SFO","date":"2026-08-26"}]
Each flight in best_flights[] and other_flights[]:
| Field | Description |
|---|---|
price | Cash price in USD |
total_duration | Total minutes |
flights[] | Array of legs with airline, flight number, times, airplane, legroom |
layovers[] | Array with duration and airport for each connection |
departure_token | Token to get return flight options (round trip) |
booking_token | Token to get booking options |
price_insights includes lowest_price, price_level (low/typical/high), and typical_price_range.
Chase Sapphire Reserve: dynamic Points Boost pricing, typically 1.5-2.0 cpp on select bookings (not a fixed floor). Verify actual portal price for the specific booking. If cash price is $900, portal cost = 60,000 UR points. If award price is 88,000 United miles, cash via portal is better value.
Amex: typically 1 cpp via portal (worse value, use transfers instead).
Capital One Venture X: 1 cpp via portal, but transfer partners can be better.
Search hotels and vacation rentals with pricing from multiple OTAs.
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¤cy=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]'
| Param | Required | Description |
|---|---|---|
engine | Yes | google_hotels |
q | Yes | Search query: hotels Tokyo Japan |
check_in_date | Yes | YYYY-MM-DD |
check_out_date | Yes | YYYY-MM-DD |
adults | No | Default 2 |
children | No | Default 0 |
sort_by | No | 3 = lowest price, 8 = highest rating, 13 = most reviewed |
min_price / max_price | No | Price range filter |
hotel_class | No | 2,3,4,5 (comma-separated) |
rating | No | 7 = 3.5+, 8 = 4.0+, 9 = 4.5+ |
vacation_rentals | No | Set to true for Airbnb-style results |
property_token | No | Get details for a specific property |
Discover destinations and cheapest flights from an origin. Great for "where can I fly cheaply in August?"
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¤cy=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]'
| Param | Required | Description |
|---|---|---|
engine | Yes | google_travel_explore |
departure_id | Yes | Airport code or kgmid |
arrival_id | No | Specific destination |
arrival_area_id | No | Region kgmid (e.g., /m/02j9z for Europe) |
outbound_date | No | YYYY-MM-DD |
return_date | No | YYYY-MM-DD |
month | No | 1-12 for flexible dates |
travel_duration | No | 1 = weekend, 2 = 1 week, 3 = 2 weeks |
interest | No | /g/11bc58l13w = Outdoors, /m/0b3yr = Beaches |
include_airlines | No | Filter by airline or alliance |
max_price | No | Maximum price |
stops | No | Same as Google Flights |
no_cache=true to force fresh.deep_search=true gives browser-identical results but is slower.price_insights with historical price data and trend.