Google Flights Deals API
Google Flights Deals API - the 30 cheapest destinations from any airport as structured JSON, each with the price, the typical price for that route, the saving against it, exact dates, airline, stops, duration, and a booking link. The is_below_typical flag separates genuine bargains from merely short flights.
MEDIAN LAGon demand
PARAMETERS14
TOTAL USERS2
MONTHLY ACTIVE1
TOTAL RUNS61
SUCCESS (30D)100.0%
RATINGno ratings yet
LAST MODIFIED2026-09-03
PUBLISHED2026-08
Input parameters
| PARAMETER | TYPE | REQ | DEFAULT | DESCRIPTION |
|---|---|---|---|---|
| departureId | string | no | — | 3-letter IATA code to fly from, such as JFK. There is no arrival airport; the source ignores one. |
| departureIds | array | no | — | Several departure airports in one run. |
| tripType | enum | no | — | Round trip (default) or one way. Both keep the typical-price baseline. |
| outboundDate | string | no | — | YYYY-MM-DD. Leave blank to let the feed pick cheap dates. |
| returnDate | string | no | — | YYYY-MM-DD, for a fixed round trip. |
| travelDuration | enum | no | — | Bias to a trip length: any, one week, weekend, or two weeks. |
| tripLength | string | no | — | Exact days, as a number or a range like 5-10. |
| travelClass | enum | no | — | Economy, premium economy, business, or first. |
| maxPrice | integer | no | — | Drop deals above this price. |
| maxStops | enum | no | — | Any, nonstop only, up to 1 stop, or up to 2 stops. |
| maxDurationMinutes | integer | no | — | Drop longer deals. Note this makes the source stop returning the typical-price baseline, which turns off the savings fields. |
| includeAirlines | string | no | — | Comma-separated airline codes to keep. Cannot be combined with excludeAirlines. |
| excludeAirlines | string | no | — | Comma-separated airline codes to drop. |
| maxDealsPerAirport | integer | no | — | Cap deals per airport. Default and maximum 30. |
Worked examples
{
"departureId": "LAX",
"maxStops": "nonstop",
"maxPrice": 400
}
POWER-USER TIP
—
POWER-USER TIP
—
POWER-USER TIP
—
Code
curl
curl -X POST "https://api.apify.com/v2/acts/johnvc~google-flights-deals-api/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"departureId": "LAX", "maxStops": "nonstop", "maxPrice": 400}'
Python
from apify_client import ApifyClient
client = ApifyClient("APIFY_TOKEN")
run = client.actor("johnvc/google-flights-deals-api").call(
run_input={'departureId': 'LAX', 'maxStops': 'nonstop', 'maxPrice': 400}
)
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item)
What people use it for
- Fill a fare newsletter with destinations that genuinely beat their typical price
- Feed a price-alert product with the underlying fare data
- Populate a travel affiliate page with photos, dates, and booking links
- Answer 'where can I go cheaply from here' for an AI travel agent
- Build your own fare history by scheduling runs and storing the rows
More sources for Travel, fares and hospitality rates, Transcripts, images and content pipelines, Grounding AI agents and MCP tools →