Skip to content
Scrappa Get API key
Google Flights API 1 credit/request

Google Flights Price Calendar

GET https://scrappa.co/api/flights/calendar

Get the lowest flight price for every departure date of a route in one request. The grid comes from ONE lookup, so a 60-day price calendar costs 1 credit, not one paid call per date.

What You Get

  • One price per departure date for a window of up to 120 days
  • One way or round trip with a fixed trip length (send trip_length or return_date)
  • Low price flag on every date within 5 % of the cheapest date of the window
  • Cabin, passengers and currency through travel_class, adults and currency

Good to Know

  • price is the total for all passengers, not per person.
  • Dates without a fare are left out of calendar.
  • origin and destination take an IATA code or a place kgmid. Use the city kgmid for multi-airport cities.
  • Prices are live and can change between two calls. Children and infants are not supported.
  • Cost: 1 credit per successful request. Failed requests are not billed.
Google Flights Price Calendar 1 credit/request

Endpoint

Request preview
GET
https://scrappa.co/api/flights/calendar
Auth header
x-api-key
Cost
1 credit/request
origin = example destination = example outbound_date_start = example
Response preview
200 OK
{
    "calendar": [
        {
            "price": 665,
            "low_price": true,
            "return_date": "2026-12-10",
            "outbound_date": "2026-12-03"
        },
        {
            "price": 691,
            "low_price": false,
            "return_date": "2026-12-11",
            "outbound_date": "2026-12-04"
        },
...

Parameters

Start with the required fields, then add optional filters only when your use case needs them.

Runnable path

4 required parameters needed before sending a request.

7 optional filters available.

origin string Required

Departure airport IATA code or place kgmid.

Examples: JFK, /m/0156q

Example value example
destination string Required

Arrival airport IATA code or place kgmid. Must differ from the origin.

Examples: LHR, /m/04jpl

Example value example
outbound_date_start string Required

First departure date of the window, YYYY-MM-DD. Today or later.

Example value example
outbound_date_end string Required

Last departure date of the window, YYYY-MM-DD. At most 120 days after the start.

Example value example
return_date string Optional

Makes the search a round trip. The trip length is the number of days between outbound_date_start and this date. Cannot be combined with trip_length.

Example value 2026-06-15
trip_length string Optional

Makes the search a round trip with this many days between departure and return (1-30). Leave out both fields for one way.

Example value example
travel_class string Optional

1 = economy (default), 2 = premium economy, 3 = business, 4 = first.

Example value example
adults string Optional

Number of adults (1-9, default 1). The price is the total for all adults.

Example value example
currency string Optional

3-letter currency code. Default: USD

Example value USD
gl string Optional

2-letter country code the prices are pinned to. Default: us

Example value us
hl string Optional

Language code. Default: en

Example value en

Response Schema

Example response fields are illustrative; inspect the JSON before integrating.

Example response fields

Scan these fields before integrating.

calendar lowest_price search_metadata search_parameters

Common calendar fields

price low_price return_date outbound_date
JSON Response
200 OK
{
    "calendar": [
        {
            "price": 665,
            "low_price": true,
            "return_date": "2026-12-10",
            "outbound_date": "2026-12-03"
        },
        {
            "price": 691,
            "low_price": false,
            "return_date": "2026-12-11",
            "outbound_date": "2026-12-04"
        },
        {
            "price": 691,
            "low_price": false,
            "return_date": "2026-12-12",
            "outbound_date": "2026-12-05"
        }
    ],
    "lowest_price": {
        "price": 665,
        "outbound_date": "2026-12-03"
    },
    "search_metadata": {
        "engine": "google_flights_calendar",
        "status": "Success",
        "total_dates": 3
    },
    "search_parameters": {
        "gl": "us",
        "hl": "en",
        "adults": 1,
        "origin": "JFK",
        "currency": "USD",
        "trip_type": "round_trip",
        "destination": "LHR",
        "trip_length": 7,
        "travel_class": 1,
        "outbound_date_end": "2026-12-05",
        "outbound_date_start": "2026-12-03"
    }
}

Errors

Handle these documented responses before retrying or showing customer-facing failures.

422

Validation Error

origin, destination, outbound_date_start and outbound_date_end are required. The window must be at most 120 days. Send return_date or trip_length, not both.

{
    "errors": {
        "outbound_date_end": [
            "The outbound date end field is required."
        ]
    },
    "message": "The outbound date end field is required."
}
503

Google Flights Price Calendar Temporarily Unavailable

The upstream lookup failed on every try. The request is not billed.

{
    "error": "Google Travel data is temporarily unavailable. Please retry shortly.",
    "error_code": "google_flights_calendar_temporarily_unavailable",
    "status_code": 503
}

Generate Code with AI

Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.

Try It Live

Test this endpoint in our interactive playground with real data.