# Flight Search

> Search for flights and get pricing details from Booking.com.

Source: https://cotera.co/docs/reference/tools/individual-tools/flight-search

---

**Authentication Type:** API Key
**Description:** Search for flights and get pricing details from Booking.com.

***

## Authentication

To authenticate, you'll need a RapidAPI key for the [Booking.com API](https://rapidapi.com/DataCrawler/api/booking-com15).

**Note:** The free plan includes 100 requests per month.

***

## Flights

### Search Flights

Search for flight deals between two locations.

**Operation Type:** Mutation (Write)

**Parameters:**

* **fromId** `string` (required): From/Departure location ID (e.g., OMA.AIRPORT)
* **toId** `string` (required): To/Arrival location ID (e.g., LGA.AIRPORT)
* **departDate** `string` (required): Departure date in YYYY-MM-DD format
* **returnDate** `string` (nullable): Return date in YYYY-MM-DD format (optional for one-way)
* **stops** `string` (nullable): Number of stops: none, 0, 1, 2
* **pageNo** `string` (nullable): Page number for pagination
* **adults** `string` (nullable): Number of adults 18+ (default: 1)
* **children** `string` (nullable): Number of children under 18
* **sort** `string` (nullable): Sort order: BEST, CHEAPEST, FASTEST
* **cabinClass** `string` (nullable): Cabin class: ECONOMY, PREMIUM\_ECONOMY, BUSINESS, FIRST
* **currencyCode** `string` (nullable): Currency code (e.g., USD)

**Returns:**

* **flightDeals** `array of objects` (nullable): Array of flight deals
  * **key** `string` (nullable): Deal identifier
  * **offerToken** `string` (nullable): Token for retrieving detailed flight information
  * **price** `object` (nullable): Flight price
    * **currencyCode** `string` (nullable): Currency code
    * **units** `number` (nullable): Price units
    * **nanos** `number` (nullable): Price nanos (fractional part)
  * **priceRounded** `object` (nullable): Rounded price for display
    * **currencyCode** `string` (nullable): Currency code
    * **units** `number` (nullable): Price units
    * **nanos** `number` (nullable): Price nanos

**Example Usage:**

```json
{
  "fromId": "JFK.AIRPORT",
  "toId": "LAX.AIRPORT",
  "departDate": "2024-06-15",
  "returnDate": "2024-06-22",
  "stops": "1",
  "pageNo": "1",
  "adults": "2",
  "children": "0",
  "sort": "CHEAPEST",
  "cabinClass": "ECONOMY",
  "currencyCode": "USD"
}
```

***

### Flight Details

Get comprehensive flight information including segments, legs, airports, carriers, timing, and pricing breakdown for a specific flight offer.

**Operation Type:** Mutation (Write)

**Parameters:**

* **token** `string` (required): Offer token from flight search results
* **currencyCode** `string` (nullable): Currency code (e.g., USD)

**Returns:**

* **token** `string` (nullable): Flight offer token
* **segments** `array of objects` (nullable): Flight segments
  * **departureAirport** `object` (nullable): Departure airport information
    * **type** `string` (nullable): Airport type
    * **code** `string` (nullable): Airport code
    * **name** `string` (nullable): Airport name
    * **city** `string` (nullable): City name
    * **cityName** `string` (nullable): Full city name
    * **country** `string` (nullable): Country code
    * **countryName** `string` (nullable): Country name
    * **province** `string` (nullable): Province/state
    * **provinceCode** `string` (nullable): Province/state code
  * **arrivalAirport** `object` (nullable): Arrival airport information (same structure as departureAirport)
  * **departureTime** `string` (nullable): Departure time
  * **arrivalTime** `string` (nullable): Arrival time
  * **legs** `array of objects` (nullable): Individual flight legs
    * **departureTime** `string` (nullable): Leg departure time
    * **arrivalTime** `string` (nullable): Leg arrival time
    * **departureAirport** `object` (nullable): Leg departure airport
    * **arrivalAirport** `object` (nullable): Leg arrival airport
    * **cabinClass** `string` (nullable): Cabin class for this leg
    * **flightInfo** `object` (nullable): Flight information
      * **facilities** `array of strings` (nullable): Available facilities
      * **flightNumber** `number` (nullable): Flight number
      * **planeType** `string` (nullable): Aircraft type
      * **carrierInfo** `object` (nullable): Carrier details
        * **operatingCarrier** `string` (nullable): Operating airline
        * **marketingCarrier** `string` (nullable): Marketing airline
        * **operatingCarrierDisclosureText** `string` (nullable): Disclosure text
    * **carriers** `array of strings` (nullable): Carrier codes
    * **carriersData** `array of objects` (nullable): Detailed carrier information
      * **name** `string` (nullable): Carrier name
      * **code** `string` (nullable): Carrier code
      * **logo** `string` (nullable): Carrier logo URL
    * **totalTime** `number` (nullable): Total leg duration in minutes
    * **flightStops** `array` (nullable): Stop information
    * **amenities** `array` (nullable): Available amenities
    * **departureTerminal** `string` (nullable): Departure terminal
  * **totalTime** `number` (nullable): Total segment duration in minutes
  * **travellerCheckedLuggage** `array` (nullable): Checked luggage allowances
  * **travellerCabinLuggage** `array of objects` (nullable): Cabin luggage allowances
    * **travellerReference** `string` (nullable): Traveller reference
    * **luggageAllowance** `object` (nullable): Luggage allowance details
      * **luggageType** `string` (nullable): Type of luggage
      * **maxPiece** `number` (nullable): Maximum pieces allowed
    * **personalItem** `boolean` (nullable): Personal item allowed
  * **isAtolProtected** `boolean` (nullable): ATOL protection status
  * **showWarningDestinationAirport** `boolean` (nullable): Destination warning flag
  * **showWarningOriginAirport** `boolean` (nullable): Origin warning flag
* **priceBreakdown** `object` (nullable): Detailed pricing information
  * **total** `object` (nullable): Total price
  * **baseFare** `object` (nullable): Base fare
  * **fee** `object` (nullable): Fees
  * **tax** `object` (nullable): Taxes
  * **totalRounded** `object` (nullable): Rounded total
  * **discount** `object` (nullable): Discounts applied

**Example Usage:**

```json
{
  "token": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJmbGlnaHRfb2ZmZXIiLCJpYXQiOjE2...",
  "currencyCode": "USD"
}
```

***

## Common Use Cases

**Travel Planning:**

* Search for flights between specific airports with flexible date ranges and passenger counts
* Compare flight options by price, duration, and number of stops for optimal travel planning
* Filter flights by cabin class and sort by preferences (cheapest, fastest, best overall value)

**Travel Booking Integration:**

* Retrieve detailed flight information including segments, carriers, and amenities for booking confirmation
* Access comprehensive pricing breakdowns with taxes, fees, and base fares for transparent pricing
* Get luggage allowance information for different traveller types and cabin classes

**Price Comparison and Analytics:**

* Analyze flight pricing trends across different routes, dates, and booking parameters
* Compare carrier options with detailed information about aircraft types, facilities, and services
* Track flight availability and pricing changes using pagination for comprehensive market analysis

**Corporate Travel Management:**

* Search for business travel options with specific cabin class requirements and booking policies
* Retrieve detailed flight segments and timing information for travel approval and expense reporting
* Access carrier and airport details for travel policy compliance and preferred vendor trac

