Google Flights
Arcade.dev LLM tools for getting flights via Google Flights
4.1.2Google Flights Toolkit
Arcade's Google Flights toolkit lets LLMs search real-time flight data and surface booking options via the SerpApi Google Flights endpoint — no user auth required.
Capabilities
- Airport lookup — resolve city names, country names, or airport names to IATA codes, including metropolitan codes (NYC, LON, TYO) that span multiple airports.
- One-way & round-trip search — query fares for a single direction or a full return trip in one call; results include direct Google Flights URLs for pre-selected itineraries, ready to hand to users.
- Multi-city (open-jaw) search — search multi-leg itineraries that don't fit the round-trip model; the bundled fare is typically cheaper than summing individual one-ways.
- Booking-option resolution — convert a
booking_tokenfrom any search result into a list of airlines and OTAs selling that specific itinerary, with optional POST data for backend vendor hand-off.
Secrets
SERP_API_KEY — An API key issued by SerpApi, the service that powers the underlying Google Flights data. To obtain one: create an account at serpapi.com, navigate to your dashboard, and copy the API key shown there. Free-tier accounts have a monthly search limit; paid plans are required for higher volume. The key is passed with every request and must be registered as a secret in Arcade before the toolkit will function.
For details on configuring secrets in Arcade, see https://docs.arcade.dev/en/guides/create-tools/tool-basics/create-tool-secrets. You can also manage secrets at https://api.arcade.dev/dashboard/auth/secrets.
Available tools(4)
| Tool name | Description | Secrets | |
|---|---|---|---|
Resolve a ``booking_token`` to the airlines and OTAs selling that itinerary.
Pass a ``booking_token`` from a one-way, round-trip, or multi-city
flight search result to get the vendors selling that specific
flight. The token encodes the route, dates, cabin class,
and passenger counts (every segment for multi-city), so there are
no ``travel_class``, ``num_adults``, or ``num_children`` parameters;
supplying a cabin or party size would silently disagree with the
itinerary the token was issued for.
Leave ``include_booking_post_data`` off (the default) when an LLM
is comparing prices; turn it on only when a backend needs to
rebuild the vendor hand-off, since the POST body is multiple
kilobytes per option. | 1 | ||
Find IATA airport codes for a city, country, or airport name.
Metropolitan codes (NYC, LON, TYO, PAR, ...) are accepted as a
``departure_airport_code`` or ``arrival_airport_code`` in flight
searches and mean "any airport in this city". | |||
Search Google Flights for one-way or round-trip itineraries.
For a trip where the traveler returns to their origin, issue a
single call with both ``outbound_date`` and ``return_date`` set.
Do NOT issue two separate one-way searches in opposite directions
and sum the prices: airlines price round-trip fares independently
from one-way fares, so the sum of two cheapest one-ways is rarely
equal to the cheapest round-trip and is typically more expensive.
Each returned itinerary carries a ``google_flights_url`` that opens
that specific pre-selected flight on Google Flights, so you can hand
the user a booking link straight from these results without a
separate booking-options lookup. | 1 | ||
Search Google Flights for a multi-city (open-jaw) itinerary.
Use this for trips that are neither a simple one-way nor a round-trip
(e.g. an open-jaw three-leg trip that ends back at the origin).
The open-jaw bundle is typically cheaper than the equivalent set
of one-way searches summed; never substitute several one-way
searches for a single multi-city query.
Each returned itinerary carries a ``google_flights_url`` that opens
that specific pre-selected itinerary on Google Flights, so you can
hand the user a booking link straight from these results without a
separate booking-options lookup. | 1 |