Hermeseus

Flight price calendar

Get the cheapest fare per day for a route, so you can show a "cheapest dates" view before a full search.

POST/Air/AirPriceCalendar

Access requires the permission air_low_fare_search

Send an origin, a destination, and a month or a date. You get one cheapest fare per day. This endpoint is indicative. Run a full search to get bookable fares.

Path parameters

None.

Query parameters

None.

Body parameters

NameTypeRequiredDefaultDescription
OriginstringYes-Departure IATA code. Three letters, for example IST.
DestinationstringYes-Arrival IATA code. Three letters, for example DXB.
DepartDatestringYes-A month YYYY-MM or a day YYYY-MM-DD.
TripTypestringNoround triponeway for one way. Any other value is treated as a round trip.
ReturnDatestringNo-A month or a day. Required for a round trip.
CalendarTypestringNodeparture_dateAnchor the calendar on departure_date or return_date.
CurrencystringNoUSDThree-letter currency code.

Request

curl -X POST https://api.hermeseus.com/api/Air/AirPriceCalendar \
  -H "Content-Type: application/json" \
  -d '{
    "SessionId": "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f",
    "Origin": "IST",
    "Destination": "DXB",
    "DepartDate": "2026-10",
    "TripType": "oneway",
    "Currency": "USD"
  }'
const res = await fetch("https://api.hermeseus.com/api/Air/AirPriceCalendar", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    SessionId: "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f",
    Origin: "IST",
    Destination: "DXB",
    DepartDate: "2026-10",
    TripType: "oneway",
    Currency: "USD"
  })
});

const data = await res.json();
import requests

res = requests.post(
    "https://api.hermeseus.com/api/Air/AirPriceCalendar",
    json={
        "SessionId": "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f",
        "Origin": "IST",
        "Destination": "DXB",
        "DepartDate": "2026-10",
        "TripType": "oneway",
        "Currency": "USD",
    },
)

data = res.json()

Response

FieldTypeDescription
Successbooleantrue on success.
Origin / DestinationstringThe route you asked for.
TripTypestringOneWay or RoundTrip.
CalendarTypestringdeparture_date or return_date.
CurrencystringCurrency of every price.
DaysCountintegerNumber of days returned.
MinPrice / MaxPricenumberCheapest and most expensive day.
CheapestobjectThe single cheapest day, same shape as a Days entry.
Daysarray of objectOne entry per day. See below.
Errorobjectnull on success.
Days[] object
FieldTypeDescription
DatestringThe day, YYYY-MM-DD.
PricenumberCheapest fare that day.
CurrencystringCurrency of Price.
TransfersintegerNumber of stops on the cheapest option.
AirlinestringAirline code of the cheapest option.
FlightNumberstringFlight number of the cheapest option.
DepartureAtstringDeparture timestamp.
ReturnAtstringReturn timestamp, for a round trip.
ExpiresAtstringWhen the quote expires.
Origin / DestinationstringRoute of the entry.
{
  "Success": true,
  "Origin": "IST",
  "Destination": "DXB",
  "TripType": "OneWay",
  "CalendarType": "departure_date",
  "Currency": "USD",
  "DaysCount": 2,
  "MinPrice": 198.00,
  "MaxPrice": 233.00,
  "Cheapest": {
    "Date": "2026-10-12",
    "Price": 198.00,
    "Currency": "USD",
    "Transfers": 0,
    "Airline": "TK",
    "FlightNumber": "764",
    "DepartureAt": "2026-10-12T08:25:00",
    "ReturnAt": null,
    "ExpiresAt": "2026-09-20T10:00:00",
    "Origin": "IST",
    "Destination": "DXB"
  },
  "Days": [
    {
      "Date": "2026-10-12",
      "Price": 198.00,
      "Currency": "USD",
      "Transfers": 0,
      "Airline": "TK",
      "FlightNumber": "764",
      "DepartureAt": "2026-10-12T08:25:00",
      "ReturnAt": null,
      "ExpiresAt": "2026-09-20T10:00:00",
      "Origin": "IST",
      "Destination": "DXB"
    },
    {
      "Date": "2026-10-13",
      "Price": 233.00,
      "Currency": "USD",
      "Transfers": 1,
      "Airline": "GF",
      "FlightNumber": "552",
      "DepartureAt": "2026-10-13T02:10:00",
      "ReturnAt": null,
      "ExpiresAt": "2026-09-20T10:00:00",
      "Origin": "IST",
      "Destination": "DXB"
    }
  ],
  "Error": null
}

Errors

CodeMeaningFix
Err0106001A field is missing or invalid, for example a missing ReturnDate on a round trip.Fix the field named in the message.
Err0500003No calendar data for that route and dates.Try a different month or route.