Google Travel Explore Flights API

SerpApi is able to scrape, extract, and make sense of Google Travel Explore Flights, they are parsed and exist within the flights array in the JSON output. Flight details can contain departure_airport, arrival_airport, duration, price, airline, and more.

API Parameters

arrival_id

Required

Parameter defines the arrival airport code or city location kgmid.
An airport code is an uppercase 3-letter code. You can search for it on Google Flights or IATA.
For example, CDG is Paris Charles de Gaulle Airport and AUS is Austin-Bergstrom International Airport.
A location kgmid is a string that starts with /m/. You can search for a location on Wikidata and use its "Freebase ID" as the location kgmid. For example, /m/0vzm is the location kgmid for Austin, TX.

API Examples

Example with departure_id: /m/02_286 (New York City) and arrival_id: /m/030qb3t (Los Angeles)

Example with departure_id: /m/02_286 (New York City) and arrival_id: /m/030qb3t (Los Angeles)

JSON Example

{
  ...
  "start_date": "2025-11-13",
  "end_date": "2025-11-19",
  "flights": [
    {
      "departure_airport": {
        "name": "Newark Liberty International Airport",
        "id": "EWR"
      },
      "arrival_airport": {
        "name": "Los Angeles International Airport",
        "id": "LAX"
      },
      "duration": 385,
      "price": 121,
      "cheapest_flight": true,
      "number_of_stops": 0,
      "airline": "Spirit",
      "airline_code": "NK"
    },
    {
      "departure_airport": {
        "name": "John F. Kennedy International Airport",
        "id": "JFK"
      },
      "arrival_airport": {
        "name": "Los Angeles International Airport",
        "id": "LAX"
      },
      "duration": 488,
      "price": 130,
      "number_of_stops": 1,
      "airline": "Frontier",
      "airline_code": "F9"
    },
    {
      "departure_airport": {
        "name": "John F. Kennedy International Airport",
        "id": "JFK"
      },
      "arrival_airport": {
        "name": "Los Angeles International Airport",
        "id": "LAX"
      },
      "duration": 363,
      "price": 192,
      "number_of_stops": 0,
      "airline": "Frontier",
      "airline_code": "F9"
    }
  ],
  "google_flights_link": "https://www.google.com/travel/flights?hl=en&gl=us&curr=USD&tfs=CBsQAhofag0IAxIJL20vMDJfMjg2cg4IAxIKL20vMDMwcWIzdBofag4IAxIKL20vMDMwcWIzdHINCAMSCS9tLzAyXzI4NkIBAUgBUgNVU0RwAXpoQ2pSSUxXaDBSVlE0ZUhJNGNXdEJRMWhKUzJkQ1J5MHRMUzB0TFMwdExYbHBZbU51TjBGQlFVRkJSMnRCZGtjd1RGUnphREJCRWdWT1N6VXpOUm9LQ01KZUVBSWFBMVZUUkRnY2NNSmWYAQGyARAqDggCEgovbS8wMzBxYjN0",
  "google_flights_serpapi_link": "https://serpapi.com/search.json?arrival_id=%2Fm%2F030qb3t&currency=USD&departure_id=%2Fm%2F02_286&engine=google_flights&gl=us&hl=en",
  ...
}

Example with multiple departure_id: /m/02_286,/m/01cx_ and arrival_id: AUS

Example with multiple departure_id: /m/02_286,/m/01cx_ and arrival_id: AUS

JSON Example

{
  ...
  "start_date": "2025-11-10",
  "end_date": "2025-11-18",
  "flights": [
    {
      "departure_airport": {
        "name": "Newark Liberty International Airport",
        "id": "EWR"
      },
      "arrival_airport": {
        "name": "Austin-Bergstrom International Airport",
        "id": "AUS"
      },
      "duration": 391,
      "price": 168,
      "cheapest_flight": true,
      "number_of_stops": 1,
      "airline": "Frontier",
      "airline_code": "F9"
    },
    {
      "departure_airport": {
        "name": "Newark Liberty International Airport",
        "id": "EWR"
      },
      "arrival_airport": {
        "name": "Austin-Bergstrom International Airport",
        "id": "AUS"
      },
      "duration": 260,
      "price": 177,
      "number_of_stops": 0,
      "airline": "Spirit",
      "airline_code": "NK"
    },
    {
      "departure_airport": {
        "name": "Boston Logan International Airport",
        "id": "BOS"
      },
      "arrival_airport": {
        "name": "Austin-Bergstrom International Airport",
        "id": "AUS"
      },
      "duration": 297,
      "price": 207,
      "number_of_stops": 0,
      "airline": "Delta",
      "airline_code": "DL"
    },
    {
      "departure_airport": {
        "name": "Boston Logan International Airport",
        "id": "BOS"
      },
      "arrival_airport": {
        "name": "Austin-Bergstrom International Airport",
        "id": "AUS"
      },
      "duration": 293,
      "price": 207,
      "number_of_stops": 0,
      "airline": "Delta",
      "airline_code": "DL"
    }
  ],
  "google_flights_link": "https://www.google.com/travel/flights?hl=en&gl=us&curr=USD&tfs=CBsQAhomag0IAxIJL20vMDJfMjg2agwIAxIIL20vMDFjeF9yBwgBEgNBVVMaJmoHCAESA0FVU3INCAMSCS9tLzAyXzI4NnIMCAMSCC9tLzAxY3hfQgEBSAFSA1VTRHABenhDalJJUkhCWWRYVkJhWEZtTkRCQlEybG9jMEZDUnkwdExTMHRMUzB0TFhaMGEyb3hNRUZCUVVGQlIydEJkbWhKVEhKVFR6WkJFZzFHT1RFeE5UZDhSamswTWpFeEdnc0lvSU1CRUFJYUExVlRSRGdjY0tDREFRPT2YAQGyAQkqBwgBEgNBVVM",
  "google_flights_serpapi_link": "https://serpapi.com/search.json?arrival_id=AUS&currency=USD&departure_id=%2Fm%2F02_286%2C%2Fm%2F01cx_&engine=google_flights&gl=us&hl=en",
  ...
}

Example with exact outbound_date and return_date

Example with exact outbound_date and return_date

JSON Example

{
  ...
  "start_date": "2025-12-10",
  "end_date": "2025-12-13",
  "flights": [
    {
      "departure_airport": {
        "name": "Boston Logan International Airport",
        "id": "BOS"
      },
      "arrival_airport": {
        "name": "Hartsfield-Jackson Atlanta International Airport",
        "id": "ATL"
      },
      "duration": 175,
      "price": 127,
      "cheapest_flight": true,
      "number_of_stops": 0,
      "airline": "JetBlue",
      "airline_code": "B6"
    },
    {
      "departure_airport": {
        "name": "Boston Logan International Airport",
        "id": "BOS"
      },
      "arrival_airport": {
        "name": "Hartsfield-Jackson Atlanta International Airport",
        "id": "ATL"
      },
      "duration": 332,
      "price": 140,
      "number_of_stops": 1,
      "airline": "JetBlue",
      "airline_code": "B6"
    },
    {
      "departure_airport": {
        "name": "Boston Logan International Airport",
        "id": "BOS"
      },
      "arrival_airport": {
        "name": "Hartsfield-Jackson Atlanta International Airport",
        "id": "ATL"
      },
      "duration": 180,
      "price": 147,
      "number_of_stops": 0,
      "airline": "JetBlue",
      "airline_code": "B6"
    }
  ],
  "google_flights_link": "https://www.google.com/travel/flights?hl=en&gl=us&curr=USD&tfs=CBsQAhoeEgoyMDI1LTEyLTEwagcIARIDQk9TcgcIARIDQVRMGh4SCjIwMjUtMTItMTNqBwgBEgNBVExyBwgBEgNCT1NCAQFIAVIDVVNEcAF6aENqUklXRVJJVGpScmMwMXFSMEZCUTNaeWRtZENSeTB0TFMwdExTMHRkbmRpWTJVeE1VRkJRVUZCUjJ0QmRuQXdTM05hTUdGQkVnVkNOamM1TnhvS0NKaGpFQUlhQTFWVFJEZ2NjSmhqmAEBsgEJKgcIARIDQVRM",
  "google_flights_serpapi_link": "https://serpapi.com/search.json?arrival_id=ATL&currency=USD&departure_id=BOS&engine=google_flights&gl=us&hl=en&outbound_date=2025-12-10&return_date=2025-12-13",
  ...
}

JSON structure overview

{
  "start_date": "String - Date of the outbound flight (YYYY-MM-DD)",
  "end_date": "String - Date of the returning flight (YYYY-MM-DD)",
  "flights": [
    {
      "departure_airport": {
        "name": "String - Name of the departure airport",
        "id": "String - IATA code of the departure airport"
      },
      "arrival_airport": {
        "name": "String - Name of the arrival airport",
        "id": "String - IATA code of the arrival airport"
      },
      "duration": "Integer - Duration of the flight in minutes",
      "price": "Number - Price of the flight",
      "cheapest_flight": "Boolean - Indicates if this is the cheapest flight",
      "number_of_stops": "Integer - Number of stops in the flight",
      "airline": "String - Name of the airline operating the flight",
      "airline_code": "String - IATA code of the airline operating the flight"
    }
  ]
}