---
title: "Google Flights Calendar Search"
method: GET
path: "/search"
---

# Google Flights Calendar Search

`GET /search`

## Request

- Base URL: `https://www.searchapi.io/api/v1`
- URL: `https://www.searchapi.io/api/v1/search`
- Auth: one of:
  - API key in header `Authorization`
  - API key in query parameter `api_key`

## Query parameters

- `engine` string, required
- `departure_id` string, required
- `arrival_id` string, required
- `currency` 'ALL' | 'DZD' | 'ARS' | 'AMD' | 'AWG' | 'AUD' | 'AZN' | 'BSD' | 'BHD' | 'BYN' | 'BMD' | 'BAM' | 'BRL' | 'GBP' | 'BGN' | 'CAD' | 'XPF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUP' | 'CZK' | 'DKK' | 'DOP' | 'EGP' | 'EUR' | 'GEL' | 'HKD' | 'HUF' | 'ISK' | 'INR' | 'IDR' | 'IRR' | 'ILS' | 'JMD' | 'JPY' | 'JOD' | 'KZT' | 'KWD' | 'LBP' | 'MKD' | 'MYR' | 'MXN' | 'MDL' | 'MAD' | 'TWD' | 'NZD' | 'NOK' | 'OMR' | 'PKR' | 'PAB' | 'PEN' | 'PHP' | 'PLN' | 'QAR' | 'RON' | 'RUB' | 'SAR' | 'RSD' | 'SGD' | 'ZAR' | 'KRW' | 'SEK' | 'CHF' | 'THB' | 'TRY' | 'UAH' | 'AED' | 'USD' | 'VND'
- `hl` 'af' | 'bs' | 'ca' | 'cs' | 'da' | 'de' | 'et' | 'en-gb' | 'en-us' | 'es' | 'es-419' | 'eu' | 'fil' | 'fr' | 'gl' | 'hr' | 'id' | 'is' | 'it' | 'sw' | 'lv' | 'lt' | 'hu' | 'ms' | 'nl' | 'no' | 'pl' | 'pt-br' | 'pt-pt' | 'ro' | 'sq' | 'sk' | 'sl' | 'sr-latn' | 'fi' | 'sv' | 'vi' | 'tr' | 'el' | 'bg' | 'mk' | 'mn' | 'ru' | 'sr' | 'uk' | 'ka' | 'iw' | 'ur' | 'ar' | 'fa' | 'am' | 'ne' | 'mr' | 'hi' | 'bn' | 'pa' | 'gu' | 'ta' | 'te' | 'kn' | 'ml' | 'si' | 'th' | 'lo' | 'km' | 'ko' | 'ja' | 'zh-cn' | 'zh-tw'
- `gl` 'af' | 'al' | 'dz' | 'as' | 'ad' | 'ao' | 'ai' | 'aq' | 'ag' | 'ar' | 'am' | 'au' | 'at' | 'az' | 'bs' | 'bh' | 'bd' | 'by' | 'be' | 'bz' | 'bj' | 'bt' | 'bo' | 'ba' | 'bw' | 'br' | 'vg' | 'bn' | 'bg' | 'bf' | 'bi' | 'kh' | 'cm' | 'ca' | 'cv' | 'cf' | 'td' | 'cl' | 'cn' | 'cx' | 'co' | 'cg' | 'cd' | 'ck' | 'cr' | 'ci' | 'hr' | 'cu' | 'cy' | 'cz' | 'dk' | 'dj' | 'dm' | 'do' | 'tl' | 'ec' | 'eg' | 'sv' | 'ee' | 'et' | 'fk' | 'fj' | 'fi' | 'fr' | 'pf' | 'tf' | 'ga' | 'gm' | 'ge' | 'de' | 'gh' | 'gi' | 'gr' | 'gl' | 'gd' | 'gp' | 'gu' | 'gt' | 'gg' | 'gn' | 'gw' | 'gy' | 'ht' | 'hn' | 'hk' | 'hu' | 'is' | 'in' | 'id' | 'ir' | 'iq' | 'ie' | 'im' | 'il' | 'it' | 'jm' | 'jp' | 'je' | 'jo' | 'kz' | 'ke' | 'ki' | 'kr' | 'kw' | 'kg' | 'la' | 'lv' | 'lb' | 'ls' | 'lr' | 'ly' | 'li' | 'lt' | 'lu' | 'mo' | 'mk' | 'mg' | 'mw' | 'my' | 'mv' | 'ml' | 'mt' | 'mh' | 'mq' | 'mr' | 'mu' | 'yt' | 'mx' | 'fm' | 'md' | 'mc' | 'mn' | 'me' | 'ms' | 'ma' | 'mz' | 'mm' | 'na' | 'nr' | 'np' | 'nl' | 'nc' | 'nz' | 'ni' | 'ne' | 'ng' | 'nu' | 'no' | 'om' | 'pk' | 'pw' | 'ps' | 'pa' | 'pg' | 'py' | 'pe' | 'ph' | 'pn' | 'pl' | 'pt' | 'pr' | 'qa' | 're' | 'ro' | 'ru' | 'rw' | 'sh' | 'kn' | 'pm' | 'vc' | 'ws' | 'sm' | 'st' | 'sa' | 'sn' | 'rs' | 'sc' | 'sl' | 'sg' | 'sk' | 'si' | 'sb' | 'so' | 'za' | 'gs' | 'es' | 'lk' | 'sd' | 'sr' | 'sz' | 'se' | 'ch' | 'sy' | 'tw' | 'tj' | 'tz' | 'th' | 'tg' | 'tk' | 'to' | 'tt' | 'tn' | 'tr' | 'tm' | 'tc' | 'tv' | 'ug' | 'ua' | 'ae' | 'gb' | 'us' | 'um' | 'uy' | 'uz' | 'vu' | 'va' | 've' | 'vn' | 'wf' | 'ye' | 'zm' | 'zw'
- `outbound_date` string, required
- `return_date` string
- `flight_type` 'round_trip' | 'one_way' | 'multi_city'
- `travel_class` 'economy' | 'premium_economy' | 'business' | 'first_class'
- `exclude_basic_economy` boolean
- `stops` 'any' | 'nonstop' | 'one_stop_or_fewer' | 'two_stops_or_fewer'
- `adults` integer
- `children` integer
- `infants_in_seat` integer
- `infants_on_lap` integer
- `max_price` integer
- `carry_on_bags` integer
- `checked_bags` integer
- `included_airlines` string
- `excluded_airlines` string
- `outbound_times` string
- `return_times` string
- `emissions` '1'
- `included_connecting_airports` string
- `excluded_connecting_airports` string
- `layover_duration_min` integer
- `layover_duration_max` integer
- `max_flight_duration` integer
- `separate_tickets` '0' | '1'
- `outbound_date_start` string
- `outbound_date_end` string
- `return_date_start` string
- `return_date_end` string

## Response `200`

Successful response

- SearchResponse
  - `search_metadata` SearchMetadata
    - `id` string, required: Unique identifier for the search request
    - `status` string, required: Status of the search request
    - `created_at` string, date-time, required: Timestamp when the search was created
    - `request_time_taken` number: Time taken to make the request in seconds
    - `parsing_time_taken` number: Time taken to parse the results in seconds
    - `total_time_taken` number: Total time taken for the search in seconds
    - `request_url` string: Google Flights URL for this search
    - `html_url` string: URL to view HTML results
    - `json_url` string: URL to view JSON results
  - `search_parameters` SearchParameters
    - `engine` string: Search engine used
    - `departure_id` string: Departure location ID
    - `arrival_id` string: Arrival location ID
    - `currency` string: Currency code
    - `hl` string: Language code
    - `gl` string: Country code
    - `outbound_date` string: Outbound flight date
    - `return_date` string: Return flight date
    - `flight_type` string: Type of flight
    - `travel_class` string: Travel class
    - `exclude_basic_economy` 'true' | 'false': Exclude Basic Economy fares, echoed as the string that was sent
    - `stops` string: Stop preferences
    - `adults` integer: Number of adults
    - `children` integer: Number of children
    - `infants_in_seat` integer: Number of infants with seats
    - `infants_on_lap` integer: Number of lap infants
    - `max_price` integer: Maximum price
    - `carry_on_bags` integer: Number of carry-on bags
    - `checked_bags` integer: Number of checked bags
    - `included_airlines` string: Included airlines
    - `excluded_airlines` string: Excluded airlines
    - `outbound_times` string: Outbound time preferences
    - `return_times` string: Return time preferences
    - `emissions` string: Emissions filter
    - `included_connecting_airports` string: Included connecting airports
    - `excluded_connecting_airports` string: Excluded connecting airports
    - `layover_duration_min` integer: Minimum layover duration
    - `layover_duration_max` integer: Maximum layover duration
    - `max_flight_duration` integer: Maximum flight duration
    - `separate_tickets` string: Separate tickets preference
    - `outbound_date_start` string: Outbound date range start
    - `outbound_date_end` string: Outbound date range end
    - `return_date_start` string: Return date range start
    - `return_date_end` string: Return date range end
  - `calendar` CalendarEntry[]: Array of calendar entries with flight prices
    - `departure` string: Departure date in YYYY-MM-DD format
    - `return` string: Return date in YYYY-MM-DD format (only for round-trip flights)
    - `price` integer: Flight price in the selected currency
    - `has_no_flights` boolean: Indicates if there are no flights available for this date combination
    - `is_lowest_price` boolean: Indicates if this is the lowest price in the calendar
  - `error` string: Error message if no results found

## Other responses

- `400`: Validation Error. There is an issue with query parameters, such as missing required parameters or invalid values.
- `401`: Authentication Error. The API key is missing or invalid.
- `429`: Rate Limit Exceeded. The number of allowed requests has been exceeded. Consider upgrading your plan or waiting for the limit to reset.
- `500`: Server Error. Internal server error.
- `503`: Timeout. We could not retrieve results in 90 seconds.

---

[API](https://skmtc.dev/searchapi/apis/google-flights-calendar-api.md) - [All operations](https://skmtc.dev/searchapi/apis/google-flights-calendar-api/llms.txt) - [OpenAPI document](https://skmtc.dev/searchapi/apis/google-flights-calendar-api/revisions/d463dfc920ae?raw)
