# Google Flights API

> Google Flights returns flight options, fares, dates, and destinations as a workflow and API.

Google Flights finds route options, fares, times, stops, and emissions from an origin, destination, and departure date. Get cheapest dates finds low fares by departure date for a route and month; it needs an origin, destination, and month. List cheap destinations ranks round-trip destinations by fare from an origin, with optional month, region, and trip preferences.

- Page: https://fous.com/tools/google-flights
- Handle: `@google-flights`
- Category: [Travel](https://fous.com/tools/category/travel)
- Source website: https://google.com/travel/flights
- Last verified: Sep 30, 2026

## Methods

### Get cheapest dates

Operation `get_cheapest_dates`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Find dated lowest fares for flights between two places in a month, with a cheapest option and any price insight shown. Only publicly displayed Google Flights prices are included.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `cabin` | string | no |  | Travel cabin, such as business. |
| `month` | string | yes | `"2026-11"` | Departure month in YYYY-MM, such as 2026-11. |
| `adults` | integer | no |  | Number of adults, such as 2. |
| `origin` | string | yes | `"JFK"` | Departure city or airport, such as New York or JFK. |
| `currency` | string | no |  | Three-letter currency code, such as USD. |
| `destination` | string | yes | `"London"` | Arrival city or airport, such as London or BCN. |
| `trip_length_days` | integer | no | `7` | Days between departure and return, such as 7. Omit for one-way. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "origin",
    "destination",
    "month"
  ],
  "properties": {
    "cabin": {
      "enum": [
        "economy",
        "premium_economy",
        "business",
        "first"
      ],
      "type": "string",
      "default": "economy",
      "description": "Travel cabin, such as business."
    },
    "month": {
      "type": "string",
      "pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
      "description": "Departure month in YYYY-MM, such as 2026-11.",
      "examples": [
        "2026-11"
      ]
    },
    "adults": {
      "type": "integer",
      "default": 1,
      "maximum": 9,
      "minimum": 1,
      "description": "Number of adults, such as 2."
    },
    "origin": {
      "type": "string",
      "title": "From",
      "description": "Departure city or airport, such as New York or JFK.",
      "examples": [
        "JFK",
        "New York",
        "LAX"
      ]
    },
    "currency": {
      "type": "string",
      "default": "USD",
      "description": "Three-letter currency code, such as USD."
    },
    "destination": {
      "type": "string",
      "title": "To",
      "description": "Arrival city or airport, such as London or BCN.",
      "examples": [
        "London",
        "SFO"
      ]
    },
    "trip_length_days": {
      "type": "integer",
      "minimum": 1,
      "description": "Days between departure and return, such as 7. Omit for one-way.",
      "examples": [
        7
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "month": "2026-11",
      "origin": "JFK",
      "destination": "London",
      "trip_length_days": 7
    },
    {
      "month": "2026-11",
      "origin": "New York",
      "destination": "London",
      "trip_length_days": 7
    },
    {
      "month": "2026-11",
      "origin": "LAX",
      "destination": "SFO"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `dates` | array |  |  |
| `dates[].currency` | string | `"USD"` |  |
| `dates[].return_date` | string or null | `"2026-11-08"` |  |
| `dates[].lowest_price` | number | `699` |  |
| `dates[].departure_date` | string | `"2026-11-01"` |  |
| `dates[].google_flights_link` | string | `"https://www.google.com/travel/flights/search?tfs=CBwQAhojEgoyMDI2LTExLTAxagcIARIDSkZLcgwIAxIIL20vMDRqcGwaIxIKMjAyNi0xMS` |  |
| `price_insight` | string or null | `"Prices are currently high"` |  |
| `cheapest_option` | any |  |  |
| `google_flights_link` | string or null | `"https://www.google.com/travel/flights/search?tfs=CBwQAhojEgoyMDI2LTExLTIyagcIARIDSkZLcgwIAxIIL20vMDRqcGwaIxIKMjAyNi0xMS` |  |

**Example input**

```json
{
  "month": "2026-11",
  "origin": "JFK",
  "destination": "London",
  "trip_length_days": 7
}
```

**Example output**

```json
{
  "dates": [
    {
      "currency": "USD",
      "return_date": "2026-11-08",
      "lowest_price": 699,
      "departure_date": "2026-11-01",
      "google_flights_link": "https://www.google.com/travel/flights/search?tfs=CBwQAhojEgoyMDI2LTExLTAxagcIARIDSkZLcgwIAxIIL20vMDRqcGwaIxIKMjAyNi0xMS0wOGoMCAMSCC9tLzA0anBscgcIARIDSkZLQAFIAXABggELCP___________wGYAQE&hl=en&curr=USD"
    },
    {
      "currency": "USD",
      "return_date": "2026-11-09",
      "lowest_price": 699,
      "departure_date": "2026-11-02",
      "google_flights_link": "https://www.google.com/travel/flights/search?tfs=CBwQAhojEgoyMDI2LTExLTAyagcIARIDSkZLcgwIAxIIL20vMDRqcGwaIxIKMjAyNi0xMS0wOWoMCAMSCC9tLzA0anBscgcIARIDSkZLQAFIAXABggELCP___________wGYAQE&hl=en&curr=USD"
    },
    {
      "currency": "USD",
      "return_date": "2026-11-10",
      "lowest_price": 643,
      "departure_date": "2026-11-03",
      "google_flights_link": "https://www.google.com/travel/flights/search?tfs=CBwQAhojEgoyMDI2LTExLTAzagcIARIDSkZLcgwIAxIIL20vMDRqcGwaIxIKMjAyNi0xMS0xMGoMCAMSCC9tLzA0anBscgcIARIDSkZLQAFIAXABggELCP___________wGYAQE&hl=en&curr=USD"
    }
  ],
  "price_insight": "Prices are currently high",
  "cheapest_option": {
    "currency": "USD",
    "return_date": "2026-11-22",
    "lowest_price": 598,
    "departure_date": "2026-11-15",
    "google_flights_link": "https://www.google.com/travel/flights/search?tfs=CBwQAhojEgoyMDI2LTExLTIyagcIARIDSkZLcgwIAxIIL20vMDRqcGwaIxIKMjAyNi0xMS0yMmoMCAMSCC9tLzA0anBscgcIARIDSkZLQAFIAXABggELCP___________wGYAQE&hl=en&curr=USD"
  },
  "google_flights_link": "https://www.google.com/travel/flights/search?tfs=CBwQAhojEgoyMDI2LTExLTIyagcIARIDSkZLcgwIAxIIL20vMDRqcGwaIxIKMjAyNi0xMS0yMmoMCAMSCC9tLzA0anBscgcIARIDSkZLQAFIAXABggELCP___________wGYAQE&hl=en&curr=USD"
}
```

### List cheap destinations

Operation `list_cheap_destinations`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

List cheap round-trip destinations from a city, sorted by fare. Prices may change; links search Google Flights for the shown dates.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `month` | string | no | `"2026-11"` | Travel month as YYYY-MM, for example 2026-11; blank searches the next six months. |
| `origin` | string | yes | `"Chicago"` | Departure city or airport, for example Chicago. |
| `region` | string | no | `"Europe"` | Destination country or continent, for example Europe; blank means anywhere. |
| `currency` | string | no | `"EUR"` | Currency code, for example USD. |
| `max_results` | integer | no | `5` | Maximum destinations, for example 30. |
| `trip_length` | string | no | `"weekend"` | Trip length, for example weekend. |
| `nonstop_only` | boolean | no | `true` | Only show nonstop flights, for example false. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "origin"
  ],
  "properties": {
    "month": {
      "type": "string",
      "default": "",
      "description": "Travel month as YYYY-MM, for example 2026-11; blank searches the next six months.",
      "examples": [
        "2026-11"
      ]
    },
    "origin": {
      "type": "string",
      "title": "From",
      "description": "Departure city or airport, for example Chicago.",
      "examples": [
        "Chicago",
        "New York"
      ]
    },
    "region": {
      "type": "string",
      "default": "",
      "description": "Destination country or continent, for example Europe; blank means anywhere.",
      "examples": [
        "Europe",
        "Canada"
      ]
    },
    "currency": {
      "type": "string",
      "default": "USD",
      "description": "Currency code, for example USD.",
      "examples": [
        "EUR"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 30,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum destinations, for example 30.",
      "x-fous-developer": true,
      "examples": [
        5,
        4
      ]
    },
    "trip_length": {
      "enum": [
        "weekend",
        "one_week",
        "two_weeks"
      ],
      "type": "string",
      "default": "one_week",
      "description": "Trip length, for example weekend.",
      "examples": [
        "weekend",
        "two_weeks"
      ]
    },
    "nonstop_only": {
      "type": "boolean",
      "default": false,
      "description": "Only show nonstop flights, for example false.",
      "examples": [
        true
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "origin": "Chicago"
    },
    {
      "month": "2026-11",
      "origin": "Chicago",
      "region": "Europe",
      "currency": "EUR",
      "max_results": 5,
      "trip_length": "weekend",
      "nonstop_only": true
    },
    {
      "origin": "New York",
      "region": "Canada",
      "max_results": 4,
      "trip_length": "two_weeks"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `destinations` | array |  |  |
| `destinations[].stops` | integer or null | `0` |  |
| `destinations[].airline` | string or null | `"Frontier"` |  |
| `destinations[].country` | string or null | `"United States"` |  |
| `destinations[].currency` | string | `"USD"` |  |
| `destinations[].return_date` | string or null | `"2026-11-07"` |  |
| `destinations[].departure_date` | string or null | `"2026-10-29"` |  |
| `destinations[].flight_duration` | string or null | `"3 hr 10 min"` |  |
| `destinations[].destination_city` | string | `"Miami"` |  |
| `destinations[].round_trip_price` | number | `106` |  |
| `destinations[].google_flights_link` | string | `"https://www.google.com/travel/flights?q=Flights+from+Chicago+to+Miami+on+2026-10-29+through+2026-11-07&curr=USD"` |  |
| `destinations[].destination_image_link` | string or null | `"https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcSrG9OUnELSUuakgLFhP8lNaCon9j4U7QzgO7J1NWTOnxKY2kx9cuLRFjwf3pGLPQ2` |  |

**Example input**

```json
{
  "origin": "Chicago"
}
```

**Example output**

```json
{
  "destinations": [
    {
      "stops": 0,
      "airline": "Frontier",
      "country": "United States",
      "currency": "USD",
      "return_date": "2026-11-07",
      "departure_date": "2026-10-29",
      "flight_duration": "3 hr 10 min",
      "destination_city": "Miami",
      "round_trip_price": 106,
      "google_flights_link": "https://www.google.com/travel/flights?q=Flights+from+Chicago+to+Miami+on+2026-10-29+through+2026-11-07&curr=USD",
      "destination_image_link": "https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcSrG9OUnELSUuakgLFhP8lNaCon9j4U7QzgO7J1NWTOnxKY2kx9cuLRFjwf3pGLPQ2qUcuX2TVXirLt85v2ArUDY1SwKOlHSUyAlpWJg4U"
    },
    {
      "stops": 0,
      "airline": "Frontier",
      "country": "United States",
      "currency": "USD",
      "return_date": "2026-11-07",
      "departure_date": "2026-10-29",
      "flight_duration": "3 hr 10 min",
      "destination_city": "Fort Lauderdale",
      "round_trip_price": 106,
      "google_flights_link": "https://www.google.com/travel/flights?q=Flights+from+Chicago+to+Fort+Lauderdale+on+2026-10-29+through+2026-11-07&curr=USD",
      "destination_image_link": "https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcQ2tVG3-tYrOMKlhXOfCR2kPLmJ0jRGqs2wQxZrGPw3LFJu6nYbPgrF0Ii72zFG4aHY-o7VD2l8oyT793jaEpa4HUN6OFn9R4AMiwRRpkA"
    },
    {
      "stops": 0,
      "airline": "Frontier",
      "country": "United States",
      "currency": "USD",
      "return_date": "2026-10-26",
      "departure_date": "2026-10-19",
      "flight_duration": "2 hr 23 min",
      "destination_city": "Philadelphia",
      "round_trip_price": 128,
      "google_flights_link": "https://www.google.com/travel/flights?q=Flights+from+Chicago+to+Philadelphia+on+2026-10-19+through+2026-10-26&curr=USD",
      "destination_image_link": "https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcQ6OWexyxWA8QRv4R9JAdkAuADMy8eVh4Rv3pAmqJKysRUfM5l2PE-ByobWMCuaXcTMR2vI7jGuxAxMI0-41M_yJK_d_8T5Ojf0g3hIfHg"
    }
  ]
}
```

### Search flights

Operation `search_flights`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Find Google Flights options for a route and date, with prices, local times, stops and emissions. Round-trip searches show outbound choices and their displayed round-trip fares; select a return flight on Google Flights.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `sort` | string | no | `"best"` | Order by lowest price or Google Flights best ranking, for example cheapest. |
| `cabin` | string | no |  | Cabin class, for example business. |
| `stops` | string | no | `"nonstop"` | Stop limit, for example nonstop. |
| `adults` | integer | no | `2` | Number of adults, for example 2. |
| `origin` | string | yes | `"SFO"` | Departure city or airport, for example New York. |
| `currency` | string | no |  | Three-letter fare currency, for example USD. |
| `destination` | string | yes | `"LAS"` | Arrival city or airport, for example Los Angeles. |
| `max_results` | integer | no | `5` | Maximum number of flights to return, for example 20. |
| `return_date` | string | no | `"2026-11-19"` | Return departure date, for example 2026-10-27. Leave empty for one-way. |
| `departure_date` | string | yes | `"2026-11-12"` | Outbound departure date, for example 2026-10-20. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "origin",
    "destination",
    "departure_date"
  ],
  "properties": {
    "sort": {
      "enum": [
        "cheapest",
        "best"
      ],
      "type": "string",
      "default": "cheapest",
      "description": "Order by lowest price or Google Flights best ranking, for example cheapest.",
      "examples": [
        "best"
      ]
    },
    "cabin": {
      "enum": [
        "economy",
        "premium_economy",
        "business",
        "first"
      ],
      "type": "string",
      "default": "economy",
      "description": "Cabin class, for example business."
    },
    "stops": {
      "enum": [
        "any",
        "nonstop",
        "one_stop_or_fewer"
      ],
      "type": "string",
      "default": "any",
      "description": "Stop limit, for example nonstop.",
      "examples": [
        "nonstop"
      ]
    },
    "adults": {
      "type": "integer",
      "default": 1,
      "maximum": 9,
      "minimum": 1,
      "description": "Number of adults, for example 2.",
      "examples": [
        2
      ]
    },
    "origin": {
      "type": "string",
      "title": "From",
      "minLength": 2,
      "description": "Departure city or airport, for example New York.",
      "examples": [
        "SFO",
        "New York"
      ]
    },
    "currency": {
      "type": "string",
      "default": "USD",
      "description": "Three-letter fare currency, for example USD."
    },
    "destination": {
      "type": "string",
      "title": "To",
      "minLength": 2,
      "description": "Arrival city or airport, for example Los Angeles.",
      "examples": [
        "LAS",
        "Los Angeles"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "description": "Maximum number of flights to return, for example 20.",
      "x-fous-developer": true,
      "examples": [
        5
      ]
    },
    "return_date": {
      "type": "string",
      "format": "date",
      "description": "Return departure date, for example 2026-10-27. Leave empty for one-way.",
      "examples": [
        "2026-11-19"
      ]
    },
    "departure_date": {
      "type": "string",
      "format": "date",
      "description": "Outbound departure date, for example 2026-10-20.",
      "examples": [
        "2026-11-12",
        "2026-10-20"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "sort": "best",
      "stops": "nonstop",
      "adults": 2,
      "origin": "SFO",
      "destination": "LAS",
      "max_results": 5,
      "return_date": "2026-11-19",
      "departure_date": "2026-11-12"
    },
    {
      "origin": "New York",
      "destination": "Los Angeles",
      "departure_date": "2026-10-20"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `flights` | array |  | Flight options. |
| `flights[].price` | number | `182` | Displayed fare. |
| `flights[].stops` | integer | `0` | Number of stops. |
| `flights[].co2_kg` | number or null | `116` | Emissions in kilograms, if displayed. |
| `flights[].airlines` | array |  | Airlines operating the itinerary. |
| `flights[].currency` | string | `"USD"` | Fare currency code. |
| `flights[].page_link` | string | `"https://www.google.com/travel/flights?tfs=CBwQAhpCEgoyMDI2LTExLTEyKAAiIAoDU0ZPEgoyMDI2LTExLTEyGgNMQVMqAkY5MgQ0MTU4agcIA` | Google Flights link for this flight selection. |
| `flights[].travel_time` | string or null | `"1 h 44 min"` | Elapsed travel time. |
| `flights[].arrival_time` | string | `"2026-11-12T12:50:00-08:00"` | Local arrival time with UTC offset. |
| `flights[].departure_time` | string | `"2026-11-12T11:06:00-08:00"` | Local departure time with UTC offset. |
| `flights[].flight_numbers` | array |  | Flight numbers of all segments. |
| `flights[].travel_minutes` | integer or null | `104` | Elapsed travel time in minutes. |
| `flights[].layover_airports` | array |  | Layover airports, including their names and codes. |
| `flights[].arrival_airport_code` | string or null | `"LAS"` | Final arrival airport code. |
| `flights[].arrival_airport_name` | string or null | `"Harry Reid International Airport"` | Final arrival airport name. |
| `flights[].departure_airport_code` | string or null | `"SFO"` | First departure airport code. |
| `flights[].departure_airport_name` | string or null | `"San Francisco International Airport"` | First departure airport name. |
| `search_link` | string | `"https://www.google.com/travel/flights?tfs=CBwQAhogEgoyMDI2LTExLTEyKABqBwgBEgNTRk9yBwgBEgNMQVMaIBIKMjAyNi0xMS0xOSgAagcIA` | Link to the full Google Flights search. |

**Example input**

```json
{
  "sort": "best",
  "stops": "nonstop",
  "adults": 2,
  "origin": "SFO",
  "destination": "LAS",
  "max_results": 5,
  "return_date": "2026-11-19",
  "departure_date": "2026-11-12"
}
```

**Example output**

```json
{
  "flights": [
    {
      "price": 182,
      "stops": 0,
      "co2_kg": 116,
      "airlines": [
        "Frontier"
      ],
      "currency": "USD",
      "page_link": "https://www.google.com/travel/flights?tfs=CBwQAhpCEgoyMDI2LTExLTEyKAAiIAoDU0ZPEgoyMDI2LTExLTEyGgNMQVMqAkY5MgQ0MTU4agcIARIDU0ZPcgcIARIDTEFTGiASCjIwMjYtMTEtMTkoAGoHCAESA0xBU3IHCAESA1NGT0ABQAFIAXABmAEB&h…",
      "travel_time": "1 h 44 min",
      "arrival_time": "2026-11-12T12:50:00-08:00",
      "departure_time": "2026-11-12T11:06:00-08:00",
      "flight_numbers": [
        "F9 4158"
      ],
      "travel_minutes": 104,
      "layover_airports": [],
      "arrival_airport_code": "LAS",
      "arrival_airport_name": "Harry Reid International Airport",
      "departure_airport_code": "SFO",
      "departure_airport_name": "San Francisco International Airport"
    },
    {
      "price": 182,
      "stops": 0,
      "co2_kg": 129,
      "airlines": [
        "Frontier"
      ],
      "currency": "USD",
      "page_link": "https://www.google.com/travel/flights?tfs=CBwQAhpCEgoyMDI2LTExLTEyKAAiIAoDU0ZPEgoyMDI2LTExLTEyGgNMQVMqAkY5MgQyNDg2agcIARIDU0ZPcgcIARIDTEFTGiASCjIwMjYtMTEtMTkoAGoHCAESA0xBU3IHCAESA1NGT0ABQAFIAXABmAEB&h…",
      "travel_time": "1 h 43 min",
      "arrival_time": "2026-11-12T16:04:00-08:00",
      "departure_time": "2026-11-12T14:21:00-08:00",
      "flight_numbers": [
        "F9 2486"
      ],
      "travel_minutes": 103,
      "layover_airports": [],
      "arrival_airport_code": "LAS",
      "arrival_airport_name": "Harry Reid International Airport",
      "departure_airport_code": "SFO",
      "departure_airport_name": "San Francisco International Airport"
    }
  ],
  "search_link": "https://www.google.com/travel/flights?tfs=CBwQAhogEgoyMDI2LTExLTEyKABqBwgBEgNTRk9yBwgBEgNMQVMaIBIKMjAyNi0xMS0xOSgAagcIARIDTEFTcgcIARIDU0ZPQAFAAUgBcAGYAQE&hl=en&gl=US&curr=USD"
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@google-flights",
  "visibility": "public",
  "operation": "get_cheapest_dates",
  "version": 1,
  "input": {
    "month": "2026-11",
    "origin": "JFK",
    "destination": "London",
    "trip_length_days": 7
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@google-flights\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_cheapest_dates\",\n  \"version\": 1,\n  \"input\": {\n    \"month\": \"2026-11\",\n    \"origin\": \"JFK\",\n    \"destination\": \"London\",\n    \"trip_length_days\": 7\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@google-flights",
  "visibility": "public",
  "operation": "get_cheapest_dates",
  "version": 1,
  "input": {
    "month": "2026-11",
    "origin": "JFK",
    "destination": "London",
    "trip_length_days": 7
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/google-flights`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_cheapest_dates`: Get cheapest dates. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `list_cheap_destinations`: List cheap destinations. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `search_flights`: Search flights. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-google-flights https://api.fous.com/mcp/tools/google-flights --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Compare fares and stops for flights on a route and date
- Find low-fare departure dates for a monthly trip
- Discover affordable round-trip destinations from a city
- Review flight times, airlines, and emissions before choosing an itinerary
- Plan a trip around a preferred cabin or stop limit

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this Google Flights tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a Google Flights account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from google.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 30, 2026.

### What flight options are available for my route and dates?

Search flights returns options with fares, local times, stops, airlines, travel times, and emissions when displayed.

### Which dates have the lowest fares for my route?

Get cheapest dates returns dated lowest fares for a route in a selected month.

### Where can I fly cheaply from my city?

List cheap destinations returns round-trip destinations from an origin, sorted by fare.

## Related

- [Expedia API](https://fous.com/tools/expedia.md): Expedia helps travelers find hotels, vacation stays, and travel deals, with hotel prices and flight options for selected destinations and dates; flight listings may be limited.
- [Google Hotels API](https://fous.com/tools/google-hotels.md): Google Hotels finds stays, guest details and reviews, and compares booking-site totals, cancellation and links for up to six adults; prices and availability can change, and some prices or topic ratings may be unavailable.
- [Kayak API](https://fous.com/tools/kayak.md): Kayak compares flight and hotel prices across booking sites and current rental car offers; hotel rates assume two adults per room and cover public location pages, while prices and availability can change at booking.
- [Trip.com API](https://fous.com/tools/trip-com.md): Trip.com offers hotel and flight bookings, with hotel listings limited to initial public results and prices and fares subject to change.
- [Ryanair API](https://fous.com/tools/ryanair.md): Ryanair provides flights and fares, including lowest one-way prices by destination or day for selected dates; prices and availability can change.
- [FlixBus API](https://fous.com/tools/flixbus.md): Find and book bus and train trips on FlixBus.
- [Google Maps API](https://fous.com/tools/google-maps.md): Google Maps returns nearby places, public place details, up to 100 public reviews, and up to three routes; transit options vary by departure time.
- [Google Search API](https://fous.com/tools/google-search.md): Google Search returns public web, image, job, event, related-question, and autocomplete results in Google’s order, with answers and details when available; results may be fewer, omit information, or be empty.
- [All Travel tools](https://fous.com/tools/category/travel)
