Google Flights
Arcade.dev LLM tools for getting flights via Google Flights
4.1.2Google Flights Toolkit
The Google Flights toolkit lets Arcade-powered agents search and resolve flight itineraries via the SerpApi Google Flights API, returning structured results that can be handed directly to users or used to drive booking flows.
Capabilities
- Airport lookup — resolve city names, country names, or airport names to IATA codes, including metropolitan codes (NYC, LON, etc.) accepted across search tools.
- One-way & round-trip search — single-call search returning priced itineraries with direct
google_flights_urlbooking links; round-trip fares are priced as a bundle (never sum two one-ways). - Multi-city / open-jaw search — search complex itineraries across three or more legs in one call; the bundled price is typically cheaper than equivalent one-way searches.
- Booking option resolution — convert a
booking_tokenfrom any search result into a list of airlines and OTAs selling that exact itinerary, with optional POST data for backend vendor hand-off.
Secrets
SERP_API_KEY — An API key issued by SerpApi, the service that proxies 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 limited monthly search quota; paid plans are required for higher volume. The key is passed with every request to authenticate against the SerpApi Google Flights endpoint.
Configure secrets in Arcade at https://docs.arcade.dev/en/guides/create-tools/tool-basics/create-tool-secrets or via the dashboard 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 |