Flight search API
The flight search API returns the cheapest itinerary per flight group for a route, dates, and passenger mix.
POST/Air/AirLowFareSearch
Access requires the permission air_low_fare_search
Send a POST request with one OriginDestinationInformations entry per leg. Use one entry for one-way, two for a round trip, and more for multi-city. The response is a set of priced itineraries, each with a FareSourceCode you carry into revalidate and book.
Want results as they arrive?
Use the streaming endpoint
AirLowFareSearchIncremental. It takes the same request and pushes itineraries over server-sent events.
Path parameters
None.
Query parameters
None.
Body parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
SessionId | string | Yes | - | Your session id. |
AdultCount | integer | Yes | - | Adult passengers. Minimum 1. |
ChildCount | integer | Yes | - | Child passengers. Minimum 0. |
InfantCount | integer | Yes | - | Infant passengers, no seat. Minimum 0. |
PricingSourceType | string | Yes | - | Pricing scope. Use All. |
RequestOption | string | Yes | - | Result-set option. Use All. |
NumberOfResults | integer | No | 100 | Basket size. 0 or omitted means 100. Any other value scales the same mix. Maximum 5000. |
Provider | string | No | - | Optional inventory-source hint. Omit it to let the gateway aggregate every source and pick the best. An unknown value falls back to the configured default. |
Request
curl -X POST https://api.hermeseus.com/api/Air/AirLowFareSearch \
-H "Content-Type: application/json" \
-d '{
"SessionId": "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f",
"AdultCount": 1,
"ChildCount": 0,
"InfantCount": 0,
"PricingSourceType": "All",
"RequestOption": "All",
"TravelPreference": { "CabinType": 3, "AirTripType": "OneWay" },
"OriginDestinationInformations": [
{
"OriginLocationCode": "IST",
"DestinationLocationCode": "DXB",
"DepartureDateTime": "2026-10-12T00:00:00"
}
]
}'const res = await fetch("https://api.hermeseus.com/api/Air/AirLowFareSearch", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
SessionId: "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f",
AdultCount: 1,
ChildCount: 0,
InfantCount: 0,
PricingSourceType: "All",
RequestOption: "All",
TravelPreference: { CabinType: 3, AirTripType: "OneWay" },
OriginDestinationInformations: [
{
OriginLocationCode: "IST",
DestinationLocationCode: "DXB",
DepartureDateTime: "2026-10-12T00:00:00"
}
]
})
});
const data = await res.json();import requests
res = requests.post(
"https://api.hermeseus.com/api/Air/AirLowFareSearch",
json={
"SessionId": "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f",
"AdultCount": 1,
"ChildCount": 0,
"InfantCount": 0,
"PricingSourceType": "All",
"RequestOption": "All",
"TravelPreference": {"CabinType": 3, "AirTripType": "OneWay"},
"OriginDestinationInformations": [
{
"OriginLocationCode": "IST",
"DestinationLocationCode": "DXB",
"DepartureDateTime": "2026-10-12T00:00:00",
}
],
},
)
data = res.json()Response
Returns the search id and the priced itineraries.
| Field | Type | Description |
|---|---|---|
Success | boolean | true on success. |
SearchId | integer | Id of this search. Reuse it with AirSearchData. |
PricedItineraries | array of object | The results. See below. |
Error | object | null on success. |
{
"Success": true,
"SearchId": 428713,
"PricedItineraries": [
{
"FareSourceCode": "dHA6ODc0NTE6ZmwxMjM0OjMyNw==",
"ValidatingAirlineCode": "TK",
"DirectionInd": 1,
"IsPassportMandatory": true,
"AirItineraryPricingInfo": {
"FareType": 1,
"ItinTotalFare": {
"BaseFare": 182.40,
"TotalTax": 37.20,
"TotalFare": 219.60,
"Currency": "USD"
},
"PtcFareBreakdown": [
{
"PassengerType": 1,
"PassengerQuantity": 1,
"BaseFare": 182.40,
"TotalTax": 37.20,
"TotalFare": 219.60,
"Currency": "USD"
}
]
},
"OriginDestinationOptions": [
{
"JourneyDurationPerMinute": 270,
"FlightSegments": [
{
"DepartureAirportLocationCode": "IST",
"ArrivalAirportLocationCode": "DXB",
"DepartureDateTime": "2026-10-12T08:25:00",
"ArrivalDateTime": "2026-10-12T14:55:00",
"MarketingAirlineCode": "TK",
"FlightNumber": "764",
"ResBookDesigCode": "C",
"Baggage": "2PC",
"CabinClassCode": 3,
"SeatsRemaining": 7
}
]
}
]
}
],
"Error": null
}Errors
| Code | Meaning | Fix |
|---|---|---|
Err0106001 | A required field is missing or invalid. The message names it. | Fix the field named in the message. |
Err0101001 | Missing or invalid session. | Create a new session and retry. |
Err0101006 | The office lacks the air_low_fare_search permission. | Ask to enable it. |
See the full list on the errors reference.
Next step.
Take the
FareSourceCode of the itinerary the traveller picks and revalidate it before you book.

