MENU navbar-image

🏨 Booking.com

Booking.com API for hotels, flights, and destination search.

Hotels & Details

Search and autocomplete destinations, cities, and locations with fast, real-time results.

GET /v1/hotels/autocomplete

requires authentication

Destination autocomplete suggestions using Booking.com API.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/booking/hotels/autocomplete'
params = {
  'search': 'oklah',
  'language': 'en-us',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/booking/hotels/autocomplete';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'search' => 'oklah',
            'language' => 'en-us',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/booking/hotels/autocomplete"
);

const params = {
    "search": "oklah",
    "language": "en-us",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/booking/hotels/autocomplete?search=oklah&language=en-us" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "query": "Oklahoma City",
        "language": "en-us",
        "total": 10,
        "timestamp": 1791644884000
    },
    "body": [
        {
            "id": "city/20103321",
            "type": "CITY",
            "name": "Oklahoma City",
            "full_name": "Oklahoma City, Oklahoma, United States of America",
            "subtitle": "Oklahoma, United States of America",
            "country_code": "us",
            "destination_id": "20103321",
            "coordinates": {
                "latitude": 35.4729881286621,
                "longitude": -97.5170516967773
            },
            "image_url": "https://www.booking.com/xdata/images/city/square150/1013817.jpg?k=e752b3f36f49e441eb37b1e1860568906216e4e6f77afe51d409b991d32b6fa3&o=",
            "label_components": [
                {
                    "name": "Oklahoma City",
                    "type": "CITY"
                },
                {
                    "name": "Oklahoma",
                    "type": "REGION"
                },
                {
                    "name": "United States of America",
                    "type": "COUNTRY"
                }
            ],
            "metadata": {
                "language_code": "xu",
                "max_stay": 90,
                "eligible_pages": [],
                "is_ski_destination": false,
                "source": "BRICK"
            },
            "city": "Oklahoma City"
        },
        {
            "id": "airport/207",
            "type": "AIRPORT",
            "name": "Will Rogers World Airport",
            "full_name": "Will Rogers World Airport, Oklahoma City, Oklahoma, United States",
            "subtitle": "Oklahoma City, Oklahoma, United States",
            "country_code": "us",
            "destination_id": "207",
            "coordinates": {
                "latitude": 35.3953018188477,
                "longitude": -97.5961990356445
            },
            "image_url": "https://www.booking.com/static/img/plane-100.jpg",
            "label_components": [
                {
                    "name": "Will Rogers World Airport",
                    "type": "AIRPORT"
                },
                {
                    "name": "Oklahoma City",
                    "type": "CITY"
                },
                {
                    "name": "Oklahoma",
                    "type": "REGION"
                },
                {
                    "name": "United States",
                    "type": "COUNTRY"
                }
            ],
            "metadata": {
                "language_code": "en",
                "max_stay": 90,
                "eligible_pages": [],
                "is_ski_destination": false,
                "source": "BRICK"
            },
            "airport": "Will Rogers World Airport",
            "airport_code": "207"
        }
    ]
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (404, Not Found):


{
    "success": false,
    "message": "Resource Not Found"
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/booking/hotels/autocomplete

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
search required string

Search term for destination. Example: oklah

language optional string

optional Language code (default: en-us). Example: en-us

requires authentication

Search for hotels and properties in a destination using Booking.com API.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/booking/hotels/search'
params = {
  'dest_id': '20103321',
  'dest_type': 'CITY',
  'checkin': '2027-01-24',
  'checkout': '2027-01-27',
  'children_ages': '5,8',
  'language': 'en-us',
  'currency': 'EUR',
  'min_price': '40',
  'max_price': '70',
  'stars': '3,4',
  'filters[0]': 'mealplan=1',
  'filters[1]': 'price=USD-40-70-1',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/booking/hotels/search';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'dest_id' => '20103321',
            'dest_type' => 'CITY',
            'checkin' => '2027-01-24',
            'checkout' => '2027-01-27',
            'children_ages' => '5,8',
            'language' => 'en-us',
            'currency' => 'EUR',
            'min_price' => '40',
            'max_price' => '70',
            'stars' => '3,4',
            'filters[0]' => 'mealplan=1',
            'filters[1]' => 'price=USD-40-70-1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/booking/hotels/search"
);

const params = {
    "dest_id": "20103321",
    "dest_type": "CITY",
    "checkin": "2027-01-24",
    "checkout": "2027-01-27",
    "children_ages": "5,8",
    "language": "en-us",
    "currency": "EUR",
    "min_price": "40",
    "max_price": "70",
    "stars": "3,4",
    "filters[0]": "mealplan=1",
    "filters[1]": "price=USD-40-70-1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/booking/hotels/search?dest_id=20103321&dest_type=CITY&checkin=2027-01-24&checkout=2027-01-27&children_ages=5%2C8&language=en-us&currency=EUR&min_price=40&max_price=70&stars=3%2C4&filters[]=mealplan%3D1&filters[]=price%3DUSD-40-70-1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "dest_id": "20014181",
        "dest_type": "CITY",
        "destination": "Los Angeles",
        "country_code": "us",
        "checkin": "2026-11-15",
        "checkout": "2026-11-18",
        "adults": "2",
        "children": 0,
        "rooms": "1",
        "page": 1,
        "per_page": "1",
        "total_results": 1260,
        "total_pages": 1260,
        "sort": "popularity",
        "filters_applied": 0,
        "availability_info": {
            "has_low_availability": false,
            "unavailable_percent": 52,
            "available_properties": 1260,
            "autoextended_properties": 0
        },
        "breadcrumbs": [
            {
                "name": "United States",
                "type": "COUNTRY",
                "url_parts": [
                    "us"
                ]
            },
            {
                "name": "California",
                "type": "REGION",
                "url_parts": [
                    "us",
                    "california"
                ]
            },
            {
                "name": "Los Angeles",
                "type": "CITY",
                "url_parts": [
                    "us",
                    "los-angeles"
                ]
            }
        ]
    },
    "body": [
        {
            "id": 56531,
            "name": "The Hollywood Franklin Hotel near Universal Studios",
            "description": null,
            "type": 204,
            "accommodation_type": 204,
            "accommodation_type_name": "HOTEL",
            "page_name": "best-western-hollywood-hills",
            "booking_url": "https://www.booking.com/hotel/us/best-western-hollywood-hills.html?checkin=2026-11-15&checkout=2026-11-18&group_adults=2&group_children=0&no_rooms=1",
            "facilities": [
                {
                    "name": "Heated pool",
                    "group": "Highlights"
                },
                {
                    "name": "Beach chairs/Loungers",
                    "group": "Highlights"
                }
            ],
            "is_closed": false,
            "is_test_property": false,
            "location": {
                "address": "6141 Franklin Avenue",
                "city": "Los Angeles (California)",
                "country_code": "us",
                "coordinates": {
                    "latitude": 34.1053930909925,
                    "longitude": -118.323472738266
                },
                "display_location": "Hollywood, Los Angeles",
                "distance_from_downtown": "5.9 miles from downtown"
            },
            "reviews": {
                "score": 8.5,
                "review_count": 5270,
                "score_text": "Very Good",
                "show_score": true,
                "personalized_summary": "",
                "personalized_reviews_count": 890
            },
            "photos": {
                "high_res": "https://cf.bstatic.com/xdata/images/hotel/square600/714785849.webp?k=5149ab90aa3e353390542f8ea98a3e4046b872aa7894040ff5f9719ed05d2a09&o=",
                "low_res": "https://cf.bstatic.com/xdata/images/hotel/square240/714785849.webp?k=5149ab90aa3e353390542f8ea98a3e4046b872aa7894040ff5f9719ed05d2a09&o=",
                "high_res_jpeg": "https://cf.bstatic.com/xdata/images/hotel/square600/714785849.jpg?k=c6d73e1f0432ff7d8ec763e66dd100e06bd3d9a1428b5dd845af410b39f97690&o=",
                "low_res_jpeg": "https://cf.bstatic.com/xdata/images/hotel/square240/714785849.jpg?k=c6d73e1f0432ff7d8ec763e66dd100e06bd3d9a1428b5dd845af410b39f97690&o=",
                "gallery": [
                    "https://cf.bstatic.com/xdata/images/hotel/square600/714785849.jpg?k=c6d73e1f0432ff7d8ec763e66dd100e06bd3d9a1428b5dd845af410b39f97690&o=",
                    "https://cf.bstatic.com/xdata/images/hotel/square600/714785849.webp?k=5149ab90aa3e353390542f8ea98a3e4046b872aa7894040ff5f9719ed05d2a09&o=",
                    "https://cf.bstatic.com/xdata/images/hotel/square240/714785849.webp?k=5149ab90aa3e353390542f8ea98a3e4046b872aa7894040ff5f9719ed05d2a09&o="
                ]
            },
            "star_rating": 3,
            "star_symbol": "NONE",
            "pricing": {
                "total_price": {
                    "amount": "$283.89",
                    "currency": "USD",
                    "amount_unformatted": 283.89,
                    "amount_rounded": "$284"
                },
                "average_price_per_night": {
                    "amount": "$94.03",
                    "currency": "USD",
                    "amount_unformatted": 94.0266666666667,
                    "amount_rounded": "$94"
                },
                "price_before_discount": {
                    "amount": "",
                    "currency": ""
                },
                "discounts": [],
                "badges": [],
                "taxes_and_fees": {
                    "amount": "$39.72",
                    "currency": "USD"
                }
            },
            "policies": {
                "free_cancellation": true,
                "no_prepayment": false,
                "pets_allowed_free": false
            },
            "meal_plan": {
                "included": null,
                "type": null
            },
            "genius_info": {
                "available": false,
                "show_badge": false
            },
            "blocks": [
                {
                    "room_id": "5653108",
                    "room_name": "Queen Room with Two Queen Beds",
                    "final_price": {
                        "amount": 283.89,
                        "currency": "USD"
                    },
                    "original_price": {
                        "amount": 283.89,
                        "currency": "USD"
                    },
                    "occupancy": 2,
                    "meal_plan_id": 0,
                    "meal_plan": "No meal plan",
                    "free_cancellation_until": "2026-10-11T15:13:03Z",
                    "has_crib": false,
                    "only_x_left": null
                }
            ],
            "available_blocks_count": 1,
            "metadata": {
                "host_trader_label": "PROFESSIONAL",
                "wishlist_count": 0,
                "is_tpi_exclusive": false,
                "sold_out": false,
                "sustainability": false
            }
        }
    ]
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (404, Not Found):


{
    "success": false,
    "message": "Resource Not Found"
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

GET /v1/hotels/search-by-coordinates

requires authentication

Search for hotels/properties by geographic coordinates.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/booking/hotels/search-by-coordinates'
params = {
  'latitude': '35.458611',
  'longitude': '-97.600556',
  'radius': '10',
  'checkin': '2027-01-24',
  'checkout': '2027-01-27',
  'adults': '2',
  'children_ages': '5,8',
  'language': 'en-us',
  'min_price': '50',
  'max_price': '300',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/booking/hotels/search-by-coordinates';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'latitude' => '35.458611',
            'longitude' => '-97.600556',
            'radius' => '10',
            'checkin' => '2027-01-24',
            'checkout' => '2027-01-27',
            'adults' => '2',
            'children_ages' => '5,8',
            'language' => 'en-us',
            'min_price' => '50',
            'max_price' => '300',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/booking/hotels/search-by-coordinates"
);

const params = {
    "latitude": "35.458611",
    "longitude": "-97.600556",
    "radius": "10",
    "checkin": "2027-01-24",
    "checkout": "2027-01-27",
    "adults": "2",
    "children_ages": "5,8",
    "language": "en-us",
    "min_price": "50",
    "max_price": "300",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/booking/hotels/search-by-coordinates?latitude=35.458611&longitude=-97.600556&radius=10&checkin=2027-01-24&checkout=2027-01-27&adults=2&children_ages=5%2C8&language=en-us&min_price=50&max_price=300" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
      "version": "v1.0",
      "status": 200,
      "copywrite": "https://steadyapi.com",
      "latitude": "35.458611",
      "longitude": "-97",
      "radius_km": "10",
      "checkin": "2026-01-24",
      "checkout": "2026-01-30",
      "adults": 2,
      "children": 0,
      "rooms": 1,
      "language": "en-us",
      "map_markers": [
        {
          "id": 20103163,
          "name": "Meeker",
          "coordinates": {
            "latitude": 35.5032997131348,
            "longitude": -96.9024963378906
          }
        }
      ]
    },
    "body": [
      {
        "hotel_id": 521256,
        "name": "Super 8 by Wyndham Shawnee",
        "accommodation_type": 204,
        "ufi": 20103613,
        "page_name": "super-8-shawnee",
        "location": {
          "address": "4900 North Harrison Street",
          "formatted_address": "4900 North Harrison Street, Shawnee, OK",
          "country_code": "us",
          "coordinates": {
            "latitude": 35.385774,
            "longitude": -96.91233
          },
          "beach_distance": null,
          "main_distance": null,
          "nearby_beach_names": [],
          "location_score": 7.4,
          "location_formatted_score": "7.4",
          "location_text": "Location"
        },
        "photos": {
          "low_res": "https://cf.bstatic.com/xdata/images/hotel/square240/156624265.webp?k=b39c258f54277e16e2f7681049c62e3853ea5957219da119a6e09d34029781e7&o=",
          "high_res": "https://cf.bstatic.com/xdata/images/hotel/square600/156624265.webp?k=b39c258f54277e16e2f7681049c62e3853ea5957219da119a6e09d34029781e7&o="
        },
        "ratings": { ... },
        "availability": { ... },
        "policies": { ... },
        "price_info": {
          "display_price": {
            "copy": "Total",
            "amount_per_stay": {
              "amount": "$309.60",
              "amount_rounded": "$310",
              "amount_unformatted": 309.6,
              "currency": "USD"
            }
          },
          "average_price_per_night": {
            "amount": "$51.60",
            "amount_rounded": "$52",
            "amount_unformatted": 51.6000000000001,
            "currency": "USD"
          },
          "price_before_discount": {
            "copy": "Original price",
            "amount_per_stay": {
              "amount": "$387",
              "amount_rounded": "$387",
              "amount_unformatted": 387,
              "currency": "USD"
            }
          },
          "discounts": [
            {
              "name": "Early 2026 Deal",
              "description": "This property is offering a discount on stays between Jan 1 and Apr 1 2026.",
              "item_type": "rate",
              "product_id": "campaign_37_rate_plan",
              "amount": {
                "amount": "$77.40",
                "amount_rounded": "$77",
                "amount_unformatted": 77.4000000000001,
                "currency": "USD"
              }
            }
          ],
          "badges": [
            {
              "name": "Early 2026 Deal",
              "tooltip": "This property is offering a discount on stays between Jan 1 and Apr 1 2026.",
              "style": "constructive",
              "identifier": "Early Year Deals"
            }
          ],
          "charges_info": null,
          "excluded_charges": {
            "aggregated": {
              "copy": null,
              "amount_per_stay": {
                "amount": "$46.44",
                "amount_rounded": "$46",
                "amount_unformatted": 46.4400000000001,
                "currency": "USD"
              }
            },
            "list": [
              {
                "charge_type": 23,
                "charge_mode": "PERCENTAGE",
                "charge_inclusion": "EXCLUDED",
                "amount_per_stay": {
                  "amount": "$46.44",
                  "amount_rounded": "$46",
                  "amount_unformatted": 46.4400000000001,
                  "currency": "USD"
                }
              }
            ]
          },
          "use_rounded_amount": false
        },
        "room_blocks": 1,
        "meal_plan": {
          "type": "MEAL_PLAN",
          "text": "Breakfast included"
        },
        "genius_info": { ... },
        "persuasion_flags": { ... },
        "recommended_dates": { ... }
      },
      { ... }
    ]
  }
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (404, Not Found):


{
    "success": false,
    "message": "Resource Not Found"
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/booking/hotels/search-by-coordinates

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
latitude required string

numeric Latitude coordinate. Example: 35.458611

longitude required string

numeric Longitude coordinate. Example: -97.600556

radius optional integer

optional Search radius in kilometers (default: 10). Example: 10

checkin optional string

optional Check-in date (YYYY-MM-DD). Example: 2027-01-24

checkout optional string

optional Check-out date (YYYY-MM-DD). Example: 2027-01-27

adults optional integer

optional Number of adults (default: 2). Example: 2

children optional integer

optional Number of children (default: 0).

rooms optional integer

optional Number of rooms (default: 1).

children_ages optional string

optional Comma-separated ages of children. Example: 5,8

language optional string

optional Language code (default: en-us). Example: en-us

min_price optional integer

optional Minimum price per night. Example: 50

max_price optional integer

optional Maximum price per night. Example: 300

stars optional integer[]

optional Star ratings filter (comma-separated).

limit optional integer

optional Maximum number of results (default: 20, max: 50).

page optional integer

optional Page number for pagination (default: 1).

GET /v1/hotels/details

requires authentication

Get comprehensive details for a specific hotel/property.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/booking/hotels/details'
params = {
  'hotel_id': '2572691',
  'checkin': '2027-01-24',
  'checkout': '2027-01-27',
  'adults': '2',
  'children': '0',
  'rooms': '1',
  'children_ages': '5,8',
  'currency': 'EUR',
  'language': 'en-us',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/booking/hotels/details';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'hotel_id' => '2572691',
            'checkin' => '2027-01-24',
            'checkout' => '2027-01-27',
            'adults' => '2',
            'children' => '0',
            'rooms' => '1',
            'children_ages' => '5,8',
            'currency' => 'EUR',
            'language' => 'en-us',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/booking/hotels/details"
);

const params = {
    "hotel_id": "2572691",
    "checkin": "2027-01-24",
    "checkout": "2027-01-27",
    "adults": "2",
    "children": "0",
    "rooms": "1",
    "children_ages": "5,8",
    "currency": "EUR",
    "language": "en-us",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/booking/hotels/details?hotel_id=2572691&checkin=2027-01-24&checkout=2027-01-27&adults=2&children=0&rooms=1&children_ages=5%2C8&currency=EUR&language=en-us" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "hotel_id": "2572691",
        "checkin": "2026-11-15",
        "checkout": "2026-11-18",
        "adults": "2",
        "children": 0,
        "rooms": "1",
        "language": "en-us",
        "currency": "USD"
    },
    "body": {
        "hotel_id": 2572691,
        "name": "La Quinta by Wyndham Oklahoma City Airport",
        "description": "Providing free toiletries, this family room includes a private bathroom with a bath, a shower and a hairdryer. This family room is air-conditioned and features a flat-screen TV, a tea and coffee maker, a wardrobe and a tiled floor. The unit offers 2 beds.",
        "accommodation_type": 204,
        "accommodation_type_name": "HOTEL",
        "ufi": 20103321,
        "page_name": "la-quinta-inn-suites-oklahoma-city-airport",
        "booking_url": "https://www.booking.com/hotel/us/la-quinta-inn-suites-oklahoma-city-airport.html?checkin=2026-11-15&checkout=2026-11-18&group_adults=2&group_children=0&no_rooms=1",
        "facilities": [
            {
                "name": "Bath",
                "group": "BATHROOM_PRIVATE"
            },
            {
                "name": "Free toiletries",
                "group": "BATHROOM_PRIVATE"
            },
            {
                "name": "Shower",
                "group": "BATHROOM_PRIVATE"
            },
            {
                "name": "Toilet",
                "group": "BATHROOM_PRIVATE"
            },
            {
                "name": "Towels",
                "group": "BATHROOM_PRIVATE"
            },
            {
                "name": "Hairdryer",
                "group": "BATHROOM_PRIVATE"
            }
        ],
        "checkin_time": null,
        "checkout_time": null,
        "location": {
            "address": "808 S Meridian Ave",
            "formatted_address": "808 S Meridian Ave, Oklahoma City, OK",
            "country_code": "us",
            "coordinates": {
                "latitude": 35.458611,
                "longitude": -97.600556
            },
            "beach_distance": null,
            "main_distance": null,
            "nearby_beach_names": [],
            "location_score": 8.5,
            "location_formatted_score": "8.5",
            "location_text": "Location"
        },
        "photos": {
            "low_res": "https://cf.bstatic.com/xdata/images/hotel/square240/226690967.webp?k=8288ed35831fb235a9a93b3042d933358718d9eee2ed99243ef3deef6ccefd92&o=",
            "high_res": "https://cf.bstatic.com/xdata/images/hotel/square600/226690967.webp?k=8288ed35831fb235a9a93b3042d933358718d9eee2ed99243ef3deef6ccefd92&o=",
            "gallery": [
                "https://cf.bstatic.com/xdata/images/hotel/square600/226690967.webp?k=8288ed35831fb235a9a93b3042d933358718d9eee2ed99243ef3deef6ccefd92&o=",
                "https://cf.bstatic.com/xdata/images/hotel/square240/226690967.webp?k=8288ed35831fb235a9a93b3042d933358718d9eee2ed99243ef3deef6ccefd92&o="
            ]
        },
        "ratings": {
            "internal": {
                "score": 8.2,
                "count": 1001,
                "total_score_text": "Very Good",
                "secondary_score": 0,
                "secondary_text": null,
                "show_secondary_score": false
            },
            "external": {
                "score": null,
                "count": null,
                "total_score_text": null
            },
            "star_rating": {
                "value": 3,
                "symbol": "NONE"
            }
        },
        "availability": {
            "is_sold_out": false,
            "alternative_dates": [],
            "is_newly_opened": false,
            "is_tpi_exclusive": false
        },
        "policies": {
            "free_cancellation": true,
            "no_prepayment": true
        },
        "price_info": {
            "display_price": {
                "copy": "Total",
                "amount_per_stay": {
                    "amount": "$240",
                    "amount_rounded": "$240",
                    "amount_unformatted": 240,
                    "currency": "USD"
                }
            },
            "average_price_per_night": {
                "amount": "$80",
                "amount_rounded": "$80",
                "amount_unformatted": 80.0000000000001,
                "currency": "USD"
            },
            "price_before_discount": {
                "copy": null,
                "amount_per_stay": {
                    "amount": "",
                    "amount_rounded": "",
                    "amount_unformatted": 0,
                    "currency": ""
                }
            },
            "discounts": [],
            "badges": [],
            "charges_info": null,
            "excluded_charges": {
                "aggregated": {
                    "copy": null,
                    "amount_per_stay": {
                        "amount": "$42.91",
                        "amount_rounded": "$43",
                        "amount_unformatted": 42.9120000000001,
                        "currency": "USD"
                    }
                },
                "list": [
                    {
                        "charge_type": 23,
                        "charge_mode": "PERCENTAGE",
                        "charge_inclusion": "EXCLUDED",
                        "amount_per_stay": {
                            "amount": "$42.91",
                            "amount_rounded": "$43",
                            "amount_unformatted": 42.9120000000001,
                            "currency": "USD"
                        }
                    }
                ]
            },
            "use_rounded_amount": false
        },
        "room_blocks": [
            {
                "room_name": "King Room",
                "meal_plan": "Breakfast included",
                "block_id": {
                    "room_id": "257269102",
                    "room_name": "King Room",
                    "occupancy": 3,
                    "policy_group_id": "246026267",
                    "package_id": "0",
                    "meal_plan_id": 1,
                    "meal_plan": "Breakfast included",
                    "bundle_id": 0
                },
                "final_price": {
                    "amount": 240,
                    "currency": "USD"
                },
                "original_price": {
                    "amount": 240,
                    "currency": "USD"
                },
                "only_x_left_message": {
                    "tag": null,
                    "translation": null,
                    "variables": []
                },
                "free_cancellation_until": "2026-11-14T06:00:00Z",
                "has_crib": false,
                "block_match_tags": {
                    "child_stays_for_free": false
                },
                "third_party_inventory": {
                    "is_tpi_block": false
                }
            }
        ],
        "unit_configurations": {
            "common": {
                "name": null,
                "unit_id": 0,
                "bed_configurations": [
                    {
                        "beds": [
                            {
                                "count": 1,
                                "type": 3
                            }
                        ],
                        "nb_all_beds": 1
                    }
                ],
                "nb_all_beds": 1,
                "nb_bathrooms": 0,
                "nb_bedrooms": 0,
                "nb_kitchens": 0,
                "nb_livingrooms": 0,
                "nb_units": 1,
                "unit_type_names": [],
                "localized_area": {
                    "area": null,
                    "unit": null
                }
            },
            "units": []
        },
        "genius_info": {
            "show_genius_rate_badge": false,
            "genius_benefits": {
                "hotel_card_has_free_room_upgrade": false
            }
        },
        "persuasion_flags": {
            "preferred": true,
            "preferred_plus": false,
            "highlighted": false,
            "show_native_ad_label": false
        },
        "meal_plan": {
            "type": "MEAL_PLAN",
            "text": "Breakfast included"
        },
        "recommended_dates": {
            "checkin": "",
            "checkout": ""
        }
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (404, Not Found):


{
    "success": false,
    "message": "Resource Not Found"
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/booking/hotels/details

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
hotel_id required integer

Booking.com hotel ID. Example: 2572691

checkin optional string

optional Check-in date (YYYY-MM-DD). Example: 2027-01-24

checkout optional string

optional Check-out date (YYYY-MM-DD). Example: 2027-01-27

adults optional integer

optional Number of adults (default: 2). Example: 2

children optional integer

optional Number of children (default: 0). Example: 0

rooms optional integer

optional Number of rooms (default: 1). Example: 1

children_ages optional string

optional Comma-separated ages of children. Example: 5,8

currency optional string

optional Currency code. Example: EUR

language optional string

optional Language code (default: en-us). Example: en-us

GET /v1/hotels/rooms

requires authentication

Get detailed room information including photos, bed configurations, facilities, privacy levels, and room-specific review scores.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/booking/hotels/rooms'
params = {
  'hotel_id': '2572691',
  'language': 'en-us',
  'rooms': '1',
  'adults': '2',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/booking/hotels/rooms';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'hotel_id' => '2572691',
            'language' => 'en-us',
            'rooms' => '1',
            'adults' => '2',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/booking/hotels/rooms"
);

const params = {
    "hotel_id": "2572691",
    "language": "en-us",
    "rooms": "1",
    "adults": "2",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/booking/hotels/rooms?hotel_id=2572691&language=en-us&rooms=1&adults=2" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
      "version": "v1.0",
      "status": 200,
      "copywrite": "https://steadyapi.com",
      "hotel_id": "2572691",
      "language": "en-us",
      "total_rooms": 8,
      "search_config": {
        "rooms": 1,
        "adults": 2,
        "children": 0,
        "children_ages": [],
        "travel_reason": "LEISURE"
      },
      "has_review_scores": true,
      "timestamp": 1769321456000
    },
    "body": {
      "property": {
        "id": 2572691,
        "name": "La Quinta by Wyndham Oklahoma City Airport",
        "accommodation_type": {
          "type": "HOTEL",
          "__typename": "PropertyType",
          "id": 204
        },
        "has_designated_smoking_area": false,
        "area_measurement_unit": "SQUARE_FEET",
        "has_rooms_with_different_privacy_levels": false
      },
      "rooms": [
        {
          "id": 257269101,
          "hotel_id": "2572691",
          "room_type_id": 13,
          "name": "Queen Room with Two Queen Beds",
          "description": "Providing free toiletries, this family room includes a private bathroom with a bath, a shower and a hairdryer. This family room is air-conditioned and features a flat-screen TV, a tea and coffee maker, a wardrobe and a tiled floor. The unit offers 2 beds.",
          "size": {
            "square_meters": 27.87,
            "is_bigger_than_average": false
          },
          "privacy_level": 1,
          "occupancy": {
            "max_guests": 5,
            "max_persons": 5,
            "max_children": 4
          },
          "bed_configurations": [
            {
              "id": 1,
              "beds": [
                {
                  "type": "LARGE_DOUBLE_BED",
                  "count": 2,
                  "translation": "Queen bed(s)"
                }
              ]
            }
          ],
          "apartment_rooms": [],
          "bathrooms": {
            "count": 0,
            "facilities": {
              "is_ensuite_bathroom": false,
              "is_external_bathroom": false
            }
          },
          "smoking_policy": {
            "is_smoking": false,
            "has_designated_area": null
          },
          "photos": [
            {
              "id": 264839682,
              "url": "https://cf.bstatic.com/xdata/images/hotel/max1024x768/264839682.jpg?k=846be3ceef43d15efddf71f8c24167eea96127b3a2a0e31860e61899e557505e&o=",
              "thumbnail_url": "https://cf.bstatic.com/xdata/images/hotel/square60/264839682.jpg?k=846be3ceef43d15efddf71f8c24167eea96127b3a2a0e31860e61899e557505e&o="
            },
            { ... }
          ],
          "facilities": [
            {
              "category": "BATHROOM_PRIVATE",
              "facilities": [
                {
                  "id": 5,
                  "name": "Bathtub"
                },
                {
                  "id": 27,
                  "name": "Free toiletries"
                },
                { ... }
              ]
            },
            {
              "category": "OTHER",
              "facilities": [
                {
                  "id": 11,
                  "name": "Air conditioning"
                },
                {
                  "id": 125,
                  "name": "Linens"
                },
                { ... }
              ]
            }
          ],
          "highlights": {
            "privacy": "PRIVACY_LEVEL_1",
            "size": 300,
            "room_facilities": [
              {
                "id": 5,
                "name": "Bathtub"
              },
              { ... }
            ],
            "hotel_facilities": [ ... ]
          },
          "cribs": {
            "available_for_free": true
          },
          "metadata": {
            "total_photos": 8,
            "has_multiple_bed_configs": false,
            "has_apartment_layout": false,
            "privacy_type": "unknown"
          }
        },
        { ... }
      ],
      "facilities_summary": { ... },
      "review_scores": [ ... ]
    }
  }
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (404, Not Found):


{
    "success": false,
    "message": "Resource Not Found"
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/booking/hotels/rooms

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
hotel_id required integer

Booking.com hotel ID. Example: 2572691

language optional string

optional Language code (default: en-us). Example: en-us

rooms optional integer

optional Number of rooms (default: 1). Example: 1

adults optional integer

optional Number of adults (default: 2). Example: 2

children optional integer

optional Number of children (default: 0).

children_ages optional string

optional Comma-separated children ages (e.g., "5,8").

travel_reason optional string

optional Travel reason: LEISURE, BUSINESS (default: LEISURE).

include_review_scores optional boolean

optional Include room review scores (default: true).

review_questions optional string

optional Comma-separated review questions (e.g., "bed_comfort,cleanliness").

customer_type optional string

optional Customer type: ALL, FAMILY, COUPLE, SOLO, BUSINESS, FRIENDS (default: ALL).

GET /v1/hotels/availability

requires authentication

Get availability and pricing calendar for a hotel showing available dates, prices, and minimum stay requirements over a specified period.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/booking/hotels/availability'
params = {
  'hotel_id': '2572691',
  'start_date': '',
  'days': '7',
  'language': 'en-us',
  'children_ages': '5,8',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/booking/hotels/availability';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'hotel_id' => '2572691',
            'start_date' => '',
            'days' => '7',
            'language' => 'en-us',
            'children_ages' => '5,8',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/booking/hotels/availability"
);

const params = {
    "hotel_id": "2572691",
    "start_date": "",
    "days": "7",
    "language": "en-us",
    "children_ages": "5,8",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/booking/hotels/availability?hotel_id=2572691&start_date=&days=7&language=en-us&children_ages=5%2C8" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
      "version": "v1.0",
      "status": 200,
      "copywrite": "https://steadyapi.com",
      "hotel_id": "2572691",
      "hotel_name": "la-quinta-inn-suites-oklahoma-city-airport",
      "language": "en-us",
      "country_code": "us",
      "has_availability": true,
      "period": {
        "start_date": "2026-01-01",
        "end_date": "2026-03-02",
        "days_requested": 60
      },
      "search_config": {
        "adults": 2,
        "rooms": 1,
        "children": 0,
        "travel_purpose": 2
      },
      "timestamp": 1769326227000
    },
    "body": {
      "calendar": [
        {
          "date": "2026-01-01",
          "available": true,
          "checkin": "2026-02-10",
          "price_formatted": "$74",
          "min_stay": 1,
          "is_past_date": true
        },
        { ... }
      ],
      "summary": {
        "total_days": 60,
        "available_days": 60,
        "available_percentage": 100
      }
    }
  }
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (404, Not Found):


{
    "success": false,
    "message": "Resource Not Found"
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/booking/hotels/availability

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
hotel_id required integer

Booking.com hotel ID. Example: 2572691

start_date required string

date Start date in YYYY-MM-DD format.

days optional integer

optional Number of days to check (default: 28, min: 1, max: 90). Example: 7

language optional string

optional Language code (default: en-us). Example: en-us

adults optional integer

optional Number of adults (default: 2, min: 1).

rooms optional integer

optional Number of rooms (default: 1, min: 1, max: 10).

children optional integer

optional Number of children (default: 0).

children_ages optional string

optional Comma-separated list of children ages. Example: 5,8

travel_purpose optional integer

optional Travel purpose: 1=leisure, 2=business (default: 2).

GET /v1/hotels/reviews

requires authentication

Retrieve hotel reviews with filtering, sorting, and pagination using Booking.com API.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/booking/hotels/reviews'
params = {
  'hotel_id': '2572691',
  'language': 'en-us',
  'sort': 'NEWEST_FIRST',
  'score': '4',
  'topic': 'clean',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/booking/hotels/reviews';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'hotel_id' => '2572691',
            'language' => 'en-us',
            'sort' => 'NEWEST_FIRST',
            'score' => '4',
            'topic' => 'clean',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/booking/hotels/reviews"
);

const params = {
    "hotel_id": "2572691",
    "language": "en-us",
    "sort": "NEWEST_FIRST",
    "score": "4",
    "topic": "clean",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/booking/hotels/reviews?hotel_id=2572691&language=en-us&sort=NEWEST_FIRST&score=4&topic=clean" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
      "version": "v1.0",
      "status": 200,
      "copywrite": "https://steadyapi.com",
      "hotel_id": "2572691",
      "language": "en-us",
      "total_reviews": 755,
      "has_reviews": true,
      "pagination": {
        "skip": "10",
        "limit": 10,
        "total": 755,
        "has_more": true,
        "next_skip": 20
      },
      "sort_options": [
        {
          "value": "MOST_RELEVANT",
          "name": "Most relevant"
        },
        {
          "value": "NEWEST_FIRST",
          "name": "Newest first"
        },
        {
          "value": "OLDEST_FIRST",
          "name": "Oldest first"
        },
        {
          "value": "SCORE_DESC",
          "name": "Highest scores"
        },
        {
          "value": "SCORE_ASC",
          "name": "Lowest scores"
        }
      ],
      "current_sort": "NEWEST_FIRST",
      "score": "ALL",
      "timestamp": 1769301171000
    },
    "body": {
      "reviews": [
        {
        "id": "134cd3fee145284f85950605d23d39db",
        "hotel_id": "2572691",
        "review_url": "7a7956e20eca73cd",
        "guest": {
            "username": "Scott",
            "is_anonymous": false,
            "country": {
            "code": "us",
            "name": "United States",
            "show_flag": true
            },
            "avatar": {
            "url": "https://graph.facebook.com/v2.9/10207316841399212/picture?type=square&height=64&width=64",
            "color": null
            },
            "guest_type": "Solo traveler"
        },
        "booking": {
            "customer_type": "SOLO_TRAVELLERS",
            "room": {
            "id": 257269102,
            "type": "King Room"
            },
            "stay_dates": {
            "checkin": "2025-11-08",
            "checkout": "2025-11-09"
            },
            "nights": 1,
            "status": "stayed"
        },
        "text": {
            "title": null,
            "positive": "An Amazing bed, great shower, great bathroom, plenty of room, great room. The breakfast was excellent.",
            "negative": "The landscape needs a little help, and please dump the outdoor trash cans.",
            "language": "xu",
            "is_translatable": false
        },
        "score": {
            "overall": 9,
            "breakdown": null
        },
        "dates": {
            "reviewed": 1767242551,
            "stay": {
            "month": null,
            "year": null
            }
        },
        "metrics": {
            "helpful_votes": 0,
            "is_approved": true
        },
        "photos": [],
        "partner_reply": {
            "reply": "Thank you for taking the time to share your feedback. We’re delighted to hear that you enjoyed the bed, room, bathroom, shower, and our breakfast—your kind words mean a lot to our team.\n\nWe also appreciate you bringing the landscaping and outdoor trash cans to our attention. Your comments have been noted, and we will address these areas to ensure an improved experience for future guests. We hope to have the opportunity to welcome you back again."
        },
        "highlights": {
            "positive": [],
            "negative": []
        }
        },
        { ... }
      ],
      "summary": [
        {
          "category": "hotel_staff",
          "translation": "Staff",
          "score": 8.39221096038818,
          "average_range": {
            "ufiScoreHigherBound": 9.43247509002686,
            "ufiScoreLowerBound": 7.39169979095459
          }
        },
        { ... }
      ],
      "filters": { ... },
      "stats": {
        "average_score": null,
        "distribution": [
          {
            "score": "ALL",
            "name": "All (755)",
            "count": 755
          },
          {
            "score": "REVIEW_ADJ_SUPERB",
            "name": "Wonderful: 9+ (436)",
            "count": 436
          },
          { ... }
        ]
      }
    }
  }
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (404, Not Found):


{
    "success": false,
    "message": "Resource Not Found"
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/booking/hotels/reviews

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
hotel_id required integer

Booking.com hotel ID. Example: 2572691

language optional string

optional Language code (default: en-us). Example: en-us

sort optional string

optional Sort order: NEWEST_FIRST, MOST_RELEVANT, HIGHEST_SCORE_FIRST, LOWEST_SCORE_FIRST (default: NEWEST_FIRST). Example: NEWEST_FIRST

skip optional integer

optional Number of reviews to skip for pagination (default: 0).

limit optional integer

optional Number of reviews per page (default: 10, max: 50).

text optional string

optional Filter reviews containing specific text.

score optional string

optional Filter by score: 1=very_poor, 2=poor, 3=average, 4=good, 5=superb. Example: 4

topic optional string

optional Topics: breakfast,clean,room,airport,parking,safe,dog or IDs. Example: clean

guest_type optional string

optional Filter by guest type: FAMILY, COUPLE, SOLO, BUSINESS, FRIENDS.

GET /v1/hotels/nearby-attractions

requires authentication

Get detailed information about what's nearby a hotel including airports, landmarks, restaurants, beaches, public transport, and natural attractions.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/booking/hotels/nearby-attractions'
params = {
  'hotel_id': '2572691',
  'language': 'en-us',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/booking/hotels/nearby-attractions';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'hotel_id' => '2572691',
            'language' => 'en-us',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/booking/hotels/nearby-attractions"
);

const params = {
    "hotel_id": "2572691",
    "language": "en-us",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/booking/hotels/nearby-attractions?hotel_id=2572691&language=en-us" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
      "version": "v1.0",
      "status": 200,
      "copywrite": "https://steadyapi.com",
      "hotel_id": "2572691",
      "language": "en-us",
      "has_surroundings": true,
      "categories_found": [
        "airports",
        "dining",
        "landmarks",
        "public_transport",
        "natural_beauty"
      ],
      "category_counts": {
        "airports": 1,
        "dining": 2,
        "landmarks": 2,
        "public_transport": 3,
        "natural_beauty": 5
      },
      "include_ski": false,
      "include_commute": false,
      "timestamp": 1769319132000
    },
    "body": {
      "attractions": {
        "airports": [
          {
            "id": "67559",
            "legacy_id": 207,
            "name": "Will Rogers World Airport",
            "type": "airport",
            "geo_class": "Airports",
            "location": {
              "latitude": 35.3953,
              "longitude": -97.5962
            },
            "distance": {
              "raw": 5.238,
              "localized": "3.3 mi"
            },
            "real_distance": {
              "isIsolated": false,
              "commuteTime": {
                "byCarLocalized": "7 min",
                "byFootLocalized": "1 hr 17 min"
              },
              "commuteDistance": {
                "byCarLocalized": "4.7 mi",
                "byCarMeters": 7512,
                "byFootMeters": 6472,
                "byFootLocalized": "4 mi"
              }
            },
            "commute": null,
            "metadata": {
              "has_commute_info": true,
              "is_isolated": false
            }
          }
        ],
        "dining": { ... },
        "landmarks": { ... },
        "public_transport": { ... },
        "natural_beauty": { ... }
      },
      "summary": {
        "total_categories": 5,
        "total_items": 17,
        "closest_item": {
          "id": "8348708",
          "name": "Maple Korean BBQ",
          "type": "restaurant",
          "geo_class": "Restaurants",
          "cuisine_type": null,
          "location": {
            "latitude": 35.45921,
            "longitude": -97.59996
          },
          "distance": {
            "raw": 0.085,
            "localized": "250 ft"
          },
          "real_distance": {
            "commuteDistance": {
              "byFootLocalized": "600 ft",
              "byCarLocalized": "650 ft",
              "byCarMeters": 207,
              "byFootMeters": 193
            },
            "commuteTime": {
              "byFootLocalized": "2 min",
              "byCarLocalized": "1 min"
            },
            "isIsolated": false
          },
          "commute": null,
          "metadata": {
            "has_commute_info": true,
            "is_isolated": false
          }
        }
      }
    }
  }
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (404, Not Found):


{
    "success": false,
    "message": "Resource Not Found"
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/booking/hotels/nearby-attractions

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
hotel_id required integer

Booking.com hotel ID. Example: 2572691

language optional string

optional Language code (default: en-us). Example: en-us

include_ski optional boolean

optional Include ski surroundings (default: false).

include_commute optional boolean

optional Include commute information (default: false).

max_airports optional integer

optional Max airports to return (default: 3).

max_airport_distance optional integer

optional Max distance for airports in km (default: 100).

max_landmarks optional integer

optional Max landmarks to return (default: 10).

max_landmark_distance optional integer

optional Max distance for landmarks in km (default: 20).

max_restaurants optional integer

optional Max restaurants to return (default: 3).

max_restaurant_distance optional integer

optional Max distance for restaurants in km (default: 50).

max_beaches optional integer

optional Max beaches to return (default: 5).

max_beach_distance optional integer

optional Max distance for beaches in km (default: 10).

max_transport optional integer

optional Max transport stations to return (default: 2).

max_transport_distance optional integer

optional Max distance for transport in km (default: 20).

max_natural optional integer

optional Max natural attractions to return (default: 1).

max_natural_distance optional integer

optional Max distance for natural attractions in km (default: 15).

GET /v1/hotels/faq

requires authentication

Get frequently asked questions for a specific hotel from Booking.com.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/booking/hotels/faq'
params = {
  'hotel_id': '2572691',
  'language': 'en-us',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/booking/hotels/faq';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'hotel_id' => '2572691',
            'language' => 'en-us',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/booking/hotels/faq"
);

const params = {
    "hotel_id": "2572691",
    "language": "en-us",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/booking/hotels/faq?hotel_id=2572691&language=en-us" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
      "version": "v1.0",
      "status": 200,
      "copywrite": "https://steadyapi.com",
      "hotel_id": "2572691",
      "language": "en-us",
      "country_code": "us",
      "has_faq": true,
      "faq_title": "FAQs about La Quinta by Wyndham Oklahoma City Airport",
      "total_questions": 8,
      "timestamp": 1769327086000
    },
    "body": [
      {
        "id": 1,
        "question": "What kind of breakfast is served at La Quinta by Wyndham Oklahoma City Airport?",
        "answer": "Guests staying at La Quinta by Wyndham Oklahoma City Airport can enjoy a highly-rated breakfast during their stay (guest review score: 8.2).\n\nBreakfast option(s) include: [ITEM_LIST]Continental;American;Buffet[/ITEM_LIST]"
      },
      { ... }
    ]
  }
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (404, Not Found):


{
    "success": false,
    "message": "Resource Not Found"
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/booking/hotels/faq

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
hotel_id required integer

Booking.com hotel ID. Example: 2572691

language optional string

optional Language code (default: en-us). Example: en-us

Flights & Details

Flight search, availability, and booking functionality.

GET /v1/flights/autocomplete

requires authentication

Flight destination autocomplete for airports, cities, and regions. Used for flight search input fields.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/booking/flights/autocomplete'
params = {
  'search': 'okc',
  'language': 'en',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/booking/flights/autocomplete';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'search' => 'okc',
            'language' => 'en',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/booking/flights/autocomplete"
);

const params = {
    "search": "okc",
    "language": "en",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/booking/flights/autocomplete?search=okc&language=en" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "query": "cvg",
        "language": "en",
        "total_results": 1
    },
    "body": [
        {
            "type": "AIRPORT",
            "name": "Cincinnati/Northern Kentucky International Airport",
            "code": "CVG",
            "city": "Cincinnati",
            "region": "Ohio",
            "country": "United States",
            "photo_uri": "https://q-xx.bstatic.com/xdata/images/city/square150/648134.jpg?k=f6570e159ef41c78e7b17192aa3cbdbc538da0ba2e06d325fd400140f3b20b91&o=",
            "distance_to_city": {
                "value": 14.1991694153932,
                "unit": "km"
            }
        }
    ]
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (404, Not Found):


{
    "success": false,
    "message": "Resource Not Found"
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/booking/flights/autocomplete

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
search required string

Search query (airport code, city name, or region). Example: okc

language optional string

optional Language code (default: en). Example: en

requires authentication

Search for flight options between two locations with specified dates and passengers. Returns flight options with pricing, schedules, and filtering aggregations.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/booking/flights/search'
params = {
  'from': 'CVG.AIRPORT',
  'to': 'OKC.AIRPORT',
  'depart': '2027-02-02',
  'return': '2027-02-05',
  'type': 'ROUNDTRIP',
  'adults': '1',
  'infants': '1',
  'cabinClass': 'ECONOMY',
  'fromCountry': 'US',
  'toCountry': 'US',
  'currency': 'USD',
  'language': 'en',
  'stops': '0,1',
  'airlines': 'WN,AA',
  'max_price': '400',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/booking/flights/search';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'from' => 'CVG.AIRPORT',
            'to' => 'OKC.AIRPORT',
            'depart' => '2027-02-02',
            'return' => '2027-02-05',
            'type' => 'ROUNDTRIP',
            'adults' => '1',
            'infants' => '1',
            'cabinClass' => 'ECONOMY',
            'fromCountry' => 'US',
            'toCountry' => 'US',
            'currency' => 'USD',
            'language' => 'en',
            'stops' => '0,1',
            'airlines' => 'WN,AA',
            'max_price' => '400',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/booking/flights/search"
);

const params = {
    "from": "CVG.AIRPORT",
    "to": "OKC.AIRPORT",
    "depart": "2027-02-02",
    "return": "2027-02-05",
    "type": "ROUNDTRIP",
    "adults": "1",
    "infants": "1",
    "cabinClass": "ECONOMY",
    "fromCountry": "US",
    "toCountry": "US",
    "currency": "USD",
    "language": "en",
    "stops": "0,1",
    "airlines": "WN,AA",
    "max_price": "400",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/booking/flights/search?from=CVG.AIRPORT&to=OKC.AIRPORT&depart=2027-02-02&return=2027-02-05&type=ROUNDTRIP&adults=1&infants=1&cabinClass=ECONOMY&fromCountry=US&toCountry=US&currency=USD&language=en&stops=0%2C1&airlines=WN%2CAA&max_price=400" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
      "version": "v1.0",
      "status": 200,
      "copywrite": "https://steadyapi.com",
      "search_id": "B5E03A22839B15A1CF169A86EDF15633",
      "total_results": 15,
      "total_pages": 2,
      "current_page": 1,
      "page_size": 10
    },
    "body": {
      "aggregation": {
        "totalCount": 441,
        "total_count": 441,
        "filteredTotalCount": 441,
        "stops": [
          {
            "numberOfStops": 1,
            "count": 208,
            "minPrice": {
              "currencyCode": "USD",
              "units": 1969,
              "nanos": 200000000,
              "amount": 1969.2
            },
            "minPriceRound": {
              "currencyCode": "USD",
              "units": 1970,
              "nanos": 0,
              "amount": 1970
            },
            "minPricePerAdult": {
              "currencyCode": "USD",
              "units": 657,
              "nanos": 0,
              "amount": 657
            },
            "cheapestAirline": {
              "name": "Southwest Airlines",
              "code": "WN",
              "logo": "https://r-xx.bstatic.com/data/airlines_logo/WN.png"
            }
          },
          {
            "numberOfStops": 2,
            "count": 441,
            "minPrice": {
              "currencyCode": "USD",
              "units": 1969,
              "nanos": 200000000,
              "amount": 1969.2
            },
            "minPriceRound": {
              "currencyCode": "USD",
              "units": 1970,
              "nanos": 0,
              "amount": 1970
            },
            "minPricePerAdult": {
              "currencyCode": "USD",
              "units": 657,
              "nanos": 0,
              "amount": 657
            },
            "cheapestAirline": {
              "name": "Southwest Airlines",
              "code": "WN",
              "logo": "https://r-xx.bstatic.com/data/airlines_logo/WN.png"
            }
          }
        ],
        "airlines": [
          {
            "name": "American Airlines",
            "logoUrl": "https://r-xx.bstatic.com/data/airlines_logo/AA.png",
            "iataCode": "AA",
            "count": 209,
            "minPrice": {
              "currencyCode": "USD",
              "units": 1974,
              "nanos": 580000000,
              "amount": 1974.58
            },
            "minPricePerAdult": {
              "currencyCode": "USD",
              "units": 659,
              "nanos": 0,
              "amount": 659
            }
          },
          {
            "name": "Southwest Airlines",
            "logoUrl": "https://r-xx.bstatic.com/data/airlines_logo/WN.png",
            "iataCode": "WN",
            "count": 134,
            "minPrice": {
              "currencyCode": "USD",
              "units": 1969,
              "nanos": 200000000,
              "amount": 1969.2
            },
            "minPricePerAdult": {
              "currencyCode": "USD",
              "units": 657,
              "nanos": 0,
              "amount": 657
            }
          },
          {
            "name": "United Airlines",
            "logoUrl": "https://r-xx.bstatic.com/data/airlines_logo/UA.png",
            "iataCode": "UA",
            "count": 98,
            "minPrice": {
              "currencyCode": "USD",
              "units": 1998,
              "nanos": 10000000,
              "amount": 1998.01
            },
            "minPricePerAdult": {
              "currencyCode": "USD",
              "units": 667,
              "nanos": 0,
              "amount": 667
            }
          }
        ],
        "departureIntervals": [
          {
            "start": "05:55",
            "end": "17:55"
          },
          {
            "start": "05:00",
            "end": "17:00"
          }
        ],
        "flightTimes": [
          {
            "arrival": [
              {
                "start": "00:00",
                "end": "05:59",
                "count": 0
              },
              {
                "start": "06:00",
                "end": "11:59",
                "count": 61
              },
              {
                "start": "12:00",
                "end": "17:59",
                "count": 106
              },
              {
                "start": "18:00",
                "end": "23:59",
                "count": 274
              }
            ],
            "departure": [
              {
                "start": "00:00",
                "end": "05:59",
                "count": 21
              },
              {
                "start": "06:00",
                "end": "11:59",
                "count": 159
              },
              {
                "start": "12:00",
                "end": "17:59",
                "count": 261
              },
              {
                "start": "18:00",
                "end": "23:59",
                "count": 0
              }
            ]
          },
          {
            "arrival": [
              {
                "start": "00:00",
                "end": "05:59",
                "count": 0
              },
              {
                "start": "06:00",
                "end": "11:59",
                "count": 10
              },
              {
                "start": "12:00",
                "end": "17:59",
                "count": 254
              },
              {
                "start": "18:00",
                "end": "23:59",
                "count": 177
              }
            ],
            "departure": [
              {
                "start": "00:00",
                "end": "05:59",
                "count": 73
              },
              {
                "start": "06:00",
                "end": "11:59",
                "count": 250
              },
              {
                "start": "12:00",
                "end": "17:59",
                "count": 118
              },
              {
                "start": "18:00",
                "end": "23:59",
                "count": 0
              }
            ]
          }
        ],
        "shortLayoverConnection": {
          "count": 142
        },
        "durationMin": 5,
        "durationMax": 16,
        "minPrice": {
          "currencyCode": "USD",
          "units": 1969,
          "nanos": 200000000,
          "amount": 1969.2
        },
        "minRoundPrice": {
          "currencyCode": "USD",
          "units": 1970,
          "nanos": 0,
          "amount": 1970
        },
        "minPricePerAdult": {
          "currencyCode": "USD",
          "units": 656,
          "nanos": 400000000,
          "amount": 656.4
        },
        "minPriceFiltered": {
          "currencyCode": "USD",
          "units": 1969,
          "nanos": 200000000,
          "amount": 1969.2
        },
        "baggage": [
          {
            "paramName": "includedBaggage",
            "count": 441,
            "enabled": true,
            "baggageType": "CABIN"
          },
          {
            "paramName": "includedBaggage",
            "count": 0,
            "enabled": false,
            "baggageType": "CHECKIN"
          }
        ],
        "budget": {
          "paramName": "maxBudget",
          "min": {
            "currencyCode": "USD",
            "units": 1969,
            "nanos": 200000000,
            "amount": 1969.2
          },
          "max": {
            "currencyCode": "USD",
            "units": 4311,
            "nanos": 780000000,
            "amount": 4311.78
          }
        },
        "budgetPerAdult": {
          "paramName": "maxBudgetPerAdult",
          "min": {
            "currencyCode": "USD",
            "units": 656,
            "nanos": 400000000,
            "amount": 656.4
          },
          "max": {
            "currencyCode": "USD",
            "units": 1437,
            "nanos": 260000000,
            "amount": 1437.26
          }
        },
        "duration": [
          {
            "min": 5,
            "max": 16,
            "durationType": "JOURNEY",
            "enabled": true,
            "paramName": "maxDuration"
          },
          {
            "min": 1,
            "max": 11,
            "durationType": "LAYOVER",
            "enabled": true,
            "paramName": "maxLayoverDuration"
          }
        ],
        "flexibleTicket": {
          "count": 209
        },
        "filtersOrder": []
      },
      "flightOffers": [
        {
          "token": "c8e49_528902410ab36854e72a5245e09bd5ecd8217dee997c8f87a3a8c2c815bfb874dfda29f96a5fab84a452565361dafd1b94d86d312c76b53a01edd4bd9f4f1107da8ec2bb191083d1797e353b371196875c0de0aafc1af993098962dfa6151e4ed77ae992768063948ee481eb1f661217594971aff9027b714e206ca6969b5ccd336e9187fd6f8679e292a211214bd7e553f849b3459f6fbc71029939a8adfa9b224f148e06f81576182cb080304e2399586e435319635befe70fcb9a74fe2ab56b4bcb364f1e1d1360244e97057250885fed255617543a26ca887c0147ceaaf5c9814edaf04eb7952e438475737cb7599c583360cd2f7d00c2f5b0f3bf99451153301dade6947cce9284e7b2",
          "offer_token": "c8e49_528902410ab36854e72a5245e09bd5ecd8217dee997c8f87a3a8c2c815bfb874dfda29f96a5fab84a452565361dafd1b94d86d312c76b53a01edd4bd9f4f1107da8ec2bb191083d1797e353b371196875c0de0aafc1af993098962dfa6151e4ed77ae992768063948ee481eb1f661217594971aff9027b714e206ca6969b5ccd336e9187fd6f8679e292a211214bd7e553f849b3459f6fbc71029939a8adfa9b224f148e06f81576182cb080304e2399586e435319635befe70fcb9a74fe2ab56b4bcb364f1e1d1360244e97057250885fed255617543a26ca887c0147ceaaf5c9814edaf04eb7952e438475737cb7599c583360cd2f7d00c2f5b0f3bf99451153301dade6947cce9284e7b2",
          "segments": [
            {
              "departureAirport": {
                "type": "AIRPORT",
                "code": "CVG",
                "name": "Cincinnati/Northern Kentucky International Airport",
                "city": "CVG",
                "cityName": "Cincinnati",
                "country": "US",
                "countryName": "United States",
                "province": "Ohio",
                "provinceCode": "OH"
              },
              "arrivalAirport": {
                "type": "AIRPORT",
                "code": "OKC",
                "name": "Will Rogers World Airport",
                "city": "OKC",
                "cityName": "Oklahoma City",
                "country": "US",
                "countryName": "United States",
                "province": "Oklahoma",
                "provinceCode": "OK"
              },
              "departureTime": "2026-02-02T07:00:00",
              "arrivalTime": "2026-02-02T10:35:00",
              "legs": [
                {
                  "departureTime": "2026-02-02T07:00:00",
                  "arrivalTime": "2026-02-02T07:25:00",
                  "departureAirport": {
                    "type": "AIRPORT",
                    "code": "CVG",
                    "name": "Cincinnati/Northern Kentucky International Airport",
                    "city": "CVG",
                    "cityName": "Cincinnati",
                    "country": "US",
                    "countryName": "United States",
                    "province": "Ohio",
                    "provinceCode": "OH"
                  },
                  "arrivalAirport": {
                    "type": "AIRPORT",
                    "code": "MDW",
                    "name": "Midway International Airport",
                    "city": "CHI",
                    "cityName": "Chicago",
                    "country": "US",
                    "countryName": "United States",
                    "province": "Illinois",
                    "provinceCode": "IL"
                  },
                  "cabinClass": "ECONOMY",
                  "flightInfo": {
                    "facilities": [],
                    "flightNumber": 4926,
                    "planeType": "7S7",
                    "carrierInfo": {
                      "operatingCarrier": "WN",
                      "marketingCarrier": "WN",
                      "operatingCarrierDisclosureText": ""
                    }
                  },
                  "carriers": [
                    "WN",
                    "WN"
                  ],
                  "carriersData": [
                    {
                      "name": "Southwest Airlines",
                      "code": "WN",
                      "logo": "https://r-xx.bstatic.com/data/airlines_logo/WN.png"
                    },
                    {
                      "name": "Southwest Airlines",
                      "code": "WN",
                      "logo": "https://r-xx.bstatic.com/data/airlines_logo/WN.png"
                    }
                  ],
                  "totalTime": 5100,
                  "flightStops": [],
                  "amenities": [],
                  "departureTimeTz": "2026-02-02T07:00:00-05:00",
                  "arrivalTimeTz": "2026-02-02T07:25:00-06:00"
                },
                {
                  "departureTime": "2026-02-02T08:15:00",
                  "arrivalTime": "2026-02-02T10:35:00",
                  "departureAirport": {
                    "type": "AIRPORT",
                    "code": "MDW",
                    "name": "Midway International Airport",
                    "city": "CHI",
                    "cityName": "Chicago",
                    "country": "US",
                    "countryName": "United States",
                    "province": "Illinois",
                    "provinceCode": "IL"
                  },
                  "arrivalAirport": {
                    "type": "AIRPORT",
                    "code": "OKC",
                    "name": "Will Rogers World Airport",
                    "city": "OKC",
                    "cityName": "Oklahoma City",
                    "country": "US",
                    "countryName": "United States",
                    "province": "Oklahoma",
                    "provinceCode": "OK"
                  },
                  "cabinClass": "ECONOMY",
                  "flightInfo": {
                    "facilities": [],
                    "flightNumber": 4893,
                    "planeType": "7S7",
                    "carrierInfo": {
                      "operatingCarrier": "WN",
                      "marketingCarrier": "WN",
                      "operatingCarrierDisclosureText": ""
                    }
                  },
                  "carriers": [
                    "WN",
                    "WN"
                  ],
                  "carriersData": [
                    {
                      "name": "Southwest Airlines",
                      "code": "WN",
                      "logo": "https://r-xx.bstatic.com/data/airlines_logo/WN.png"
                    },
                    {
                      "name": "Southwest Airlines",
                      "code": "WN",
                      "logo": "https://r-xx.bstatic.com/data/airlines_logo/WN.png"
                    }
                  ],
                  "totalTime": 8400,
                  "flightStops": [],
                  "amenities": [],
                  "departureTimeTz": "2026-02-02T08:15:00-06:00",
                  "arrivalTimeTz": "2026-02-02T10:35:00-06:00"
                }
              ],
              "totalTime": 16500,
              "travellerCheckedLuggage": [],
              "travellerCabinLuggage": [
                {
                  "travellerReference": "1",
                  "luggageAllowance": {
                    "luggageType": "HAND",
                    "maxPiece": 1,
                    "sizeRestrictions": {
                      "maxLength": 23.6,
                      "maxWidth": 15.8,
                      "maxHeight": 9.8,
                      "sizeUnit": "INCH"
                    }
                  },
                  "personalItem": true
                },
                {
                  "travellerReference": "2",
                  "luggageAllowance": {
                    "luggageType": "HAND",
                    "maxPiece": 1,
                    "sizeRestrictions": {
                      "maxLength": 23.6,
                      "maxWidth": 15.8,
                      "maxHeight": 9.8,
                      "sizeUnit": "INCH"
                    }
                  },
                  "personalItem": true
                },
                {
                  "travellerReference": "3",
                  "luggageAllowance": {
                    "luggageType": "HAND",
                    "maxPiece": 1,
                    "sizeRestrictions": {
                      "maxLength": 23.6,
                      "maxWidth": 15.8,
                      "maxHeight": 9.8,
                      "sizeUnit": "INCH"
                    }
                  },
                  "personalItem": true
                }
              ],
              "isAtolProtected": false,
              "departureTimeTz": "2026-02-02T07:00:00-05:00",
              "arrivalTimeTz": "2026-02-02T10:35:00-06:00",
              "showWarningDestinationAirport": false,
              "showWarningOriginAirport": false
            },
            {
              "departureAirport": {
                "type": "AIRPORT",
                "code": "OKC",
                "name": "Will Rogers World Airport",
                "city": "OKC",
                "cityName": "Oklahoma City",
                "country": "US",
                "countryName": "United States",
                "province": "Oklahoma",
                "provinceCode": "OK"
              },
              "arrivalAirport": {
                "type": "AIRPORT",
                "code": "CVG",
                "name": "Cincinnati/Northern Kentucky International Airport",
                "city": "CVG",
                "cityName": "Cincinnati",
                "country": "US",
                "countryName": "United States",
                "province": "Ohio",
                "provinceCode": "OH"
              },
              "departureTime": "2026-02-05T15:10:00",
              "arrivalTime": "2026-02-05T20:15:00",
              "legs": [
                {
                  "departureTime": "2026-02-05T15:10:00",
                  "arrivalTime": "2026-02-05T17:15:00",
                  "departureAirport": {
                    "type": "AIRPORT",
                    "code": "OKC",
                    "name": "Will Rogers World Airport",
                    "city": "OKC",
                    "cityName": "Oklahoma City",
                    "country": "US",
                    "countryName": "United States",
                    "province": "Oklahoma",
                    "provinceCode": "OK"
                  },
                  "arrivalAirport": {
                    "type": "AIRPORT",
                    "code": "MDW",
                    "name": "Midway International Airport",
                    "city": "CHI",
                    "cityName": "Chicago",
                    "country": "US",
                    "countryName": "United States",
                    "province": "Illinois",
                    "provinceCode": "IL"
                  },
                  "cabinClass": "ECONOMY",
                  "flightInfo": {
                    "facilities": [],
                    "flightNumber": 2991,
                    "planeType": "7S7",
                    "carrierInfo": {
                      "operatingCarrier": "WN",
                      "marketingCarrier": "WN",
                      "operatingCarrierDisclosureText": ""
                    }
                  },
                  "carriers": [
                    "WN",
                    "WN"
                  ],
                  "carriersData": [
                    {
                      "name": "Southwest Airlines",
                      "code": "WN",
                      "logo": "https://r-xx.bstatic.com/data/airlines_logo/WN.png"
                    },
                    {
                      "name": "Southwest Airlines",
                      "code": "WN",
                      "logo": "https://r-xx.bstatic.com/data/airlines_logo/WN.png"
                    }
                  ],
                  "totalTime": 7500,
                  "flightStops": [],
                  "amenities": [],
                  "departureTimeTz": "2026-02-05T15:10:00-06:00",
                  "arrivalTimeTz": "2026-02-05T17:15:00-06:00"
                },
                {
                  "departureTime": "2026-02-05T18:05:00",
                  "arrivalTime": "2026-02-05T20:15:00",
                  "departureAirport": {
                    "type": "AIRPORT",
                    "code": "MDW",
                    "name": "Midway International Airport",
                    "city": "CHI",
                    "cityName": "Chicago",
                    "country": "US",
                    "countryName": "United States",
                    "province": "Illinois",
                    "provinceCode": "IL"
                  },
                  "arrivalAirport": {
                    "type": "AIRPORT",
                    "code": "CVG",
                    "name": "Cincinnati/Northern Kentucky International Airport",
                    "city": "CVG",
                    "cityName": "Cincinnati",
                    "country": "US",
                    "countryName": "United States",
                    "province": "Ohio",
                    "provinceCode": "OH"
                  },
                  "cabinClass": "ECONOMY",
                  "flightInfo": {
                    "facilities": [],
                    "flightNumber": 1659,
                    "planeType": "7S7",
                    "carrierInfo": {
                      "operatingCarrier": "WN",
                      "marketingCarrier": "WN",
                      "operatingCarrierDisclosureText": ""
                    }
                  },
                  "carriers": [
                    "WN",
                    "WN"
                  ],
                  "carriersData": [
                    {
                      "name": "Southwest Airlines",
                      "code": "WN",
                      "logo": "https://r-xx.bstatic.com/data/airlines_logo/WN.png"
                    },
                    {
                      "name": "Southwest Airlines",
                      "code": "WN",
                      "logo": "https://r-xx.bstatic.com/data/airlines_logo/WN.png"
                    }
                  ],
                  "totalTime": 4200,
                  "flightStops": [],
                  "amenities": [],
                  "departureTimeTz": "2026-02-05T18:05:00-06:00",
                  "arrivalTimeTz": "2026-02-05T20:15:00-05:00"
                }
              ],
              "totalTime": 14700,
              "travellerCheckedLuggage": [],
              "travellerCabinLuggage": [
                {
                  "travellerReference": "1",
                  "luggageAllowance": {
                    "luggageType": "HAND",
                    "maxPiece": 1,
                    "sizeRestrictions": {
                      "maxLength": 23.6,
                      "maxWidth": 15.8,
                      "maxHeight": 9.8,
                      "sizeUnit": "INCH"
                    }
                  },
                  "personalItem": true
                },
                {
                  "travellerReference": "2",
                  "luggageAllowance": {
                    "luggageType": "HAND",
                    "maxPiece": 1,
                    "sizeRestrictions": {
                      "maxLength": 23.6,
                      "maxWidth": 15.8,
                      "maxHeight": 9.8,
                      "sizeUnit": "INCH"
                    }
                  },
                  "personalItem": true
                },
                {
                  "travellerReference": "3",
                  "luggageAllowance": {
                    "luggageType": "HAND",
                    "maxPiece": 1,
                    "sizeRestrictions": {
                      "maxLength": 23.6,
                      "maxWidth": 15.8,
                      "maxHeight": 9.8,
                      "sizeUnit": "INCH"
                    }
                  },
                  "personalItem": true
                }
              ],
              "isAtolProtected": false,
              "departureTimeTz": "2026-02-05T15:10:00-06:00",
              "arrivalTimeTz": "2026-02-05T20:15:00-05:00",
              "showWarningDestinationAirport": false,
              "showWarningOriginAirport": false
            }
          ],
          "priceBreakdown": {
            "total": {
              "currencyCode": "USD",
              "units": 1969,
              "nanos": 200000000,
              "amount": 1969.2
            },
            "baseFare": {
              "currencyCode": "USD",
              "units": 1691,
              "nanos": 160000000,
              "amount": 1691.16
            },
            "fee": {
              "currencyCode": "USD",
              "units": 0,
              "nanos": 0,
              "amount": 0
            },
            "tax": {
              "currencyCode": "USD",
              "units": 278,
              "nanos": 40000000,
              "amount": 278.04
            },
            "totalRounded": {
              "currencyCode": "USD",
              "nanos": 0,
              "units": 1970,
              "amount": 1970
            },
            "discount": {
              "currencyCode": "USD",
              "units": 0,
              "nanos": 0,
              "amount": 0
            },
            "totalWithoutDiscount": {
              "currencyCode": "USD",
              "units": 1969,
              "nanos": 200000000,
              "amount": 1969.2
            },
            "totalWithoutDiscountRounded": {
              "currencyCode": "USD",
              "nanos": 0,
              "units": 1970,
              "amount": 1970
            },
            "showPriceStrikethrough": false
          },
          "travellerPrices": [
            {
              "travellerPriceBreakdown": {
                "total": {
                  "currencyCode": "USD",
                  "units": 656,
                  "nanos": 400000000,
                  "amount": 656.4
                },
                "baseFare": {
                  "currencyCode": "USD",
                  "units": 563,
                  "nanos": 720000000,
                  "amount": 563.72
                },
                "fee": {
                  "currencyCode": "USD",
                  "units": 0,
                  "nanos": 0,
                  "amount": 0
                },
                "tax": {
                  "currencyCode": "USD",
                  "units": 92,
                  "nanos": 680000000,
                  "amount": 92.68
                },
                "totalRounded": {
                  "currencyCode": "USD",
                  "nanos": 0,
                  "units": 657,
                  "amount": 657
                },
                "discount": {
                  "currencyCode": "USD",
                  "units": 0,
                  "nanos": 0,
                  "amount": 0
                },
                "totalWithoutDiscount": {
                  "currencyCode": "USD",
                  "units": 656,
                  "nanos": 400000000,
                  "amount": 656.4
                },
                "totalWithoutDiscountRounded": {
                  "currencyCode": "USD",
                  "nanos": 0,
                  "units": 657,
                  "amount": 657
                },
                "showPriceStrikethrough": false
              },
              "travellerReference": "1",
              "travellerType": "ADULT"
            },
            {
              "travellerPriceBreakdown": {
                "total": {
                  "currencyCode": "USD",
                  "units": 656,
                  "nanos": 400000000,
                  "amount": 656.4
                },
                "baseFare": {
                  "currencyCode": "USD",
                  "units": 563,
                  "nanos": 720000000,
                  "amount": 563.72
                },
                "fee": {
                  "currencyCode": "USD",
                  "units": 0,
                  "nanos": 0,
                  "amount": 0
                },
                "tax": {
                  "currencyCode": "USD",
                  "units": 92,
                  "nanos": 680000000,
                  "amount": 92.68
                },
                "totalRounded": {
                  "currencyCode": "USD",
                  "nanos": 0,
                  "units": 657,
                  "amount": 657
                },
                "discount": {
                  "currencyCode": "USD",
                  "units": 0,
                  "nanos": 0,
                  "amount": 0
                },
                "totalWithoutDiscount": {
                  "currencyCode": "USD",
                  "units": 656,
                  "nanos": 400000000,
                  "amount": 656.4
                },
                "totalWithoutDiscountRounded": {
                  "currencyCode": "USD",
                  "nanos": 0,
                  "units": 657,
                  "amount": 657
                },
                "showPriceStrikethrough": false
              },
              "travellerReference": "2",
              "travellerType": "KID"
            },
            {
              "travellerPriceBreakdown": {
                "total": {
                  "currencyCode": "USD",
                  "units": 656,
                  "nanos": 400000000,
                  "amount": 656.4
                },
                "baseFare": {
                  "currencyCode": "USD",
                  "units": 563,
                  "nanos": 720000000,
                  "amount": 563.72
                },
                "fee": {
                  "currencyCode": "USD",
                  "units": 0,
                  "nanos": 0,
                  "amount": 0
                },
                "tax": {
                  "currencyCode": "USD",
                  "units": 92,
                  "nanos": 680000000,
                  "amount": 92.68
                },
                "totalRounded": {
                  "currencyCode": "USD",
                  "nanos": 0,
                  "units": 657,
                  "amount": 657
                },
                "discount": {
                  "currencyCode": "USD",
                  "units": 0,
                  "nanos": 0,
                  "amount": 0
                },
                "totalWithoutDiscount": {
                  "currencyCode": "USD",
                  "units": 656,
                  "nanos": 400000000,
                  "amount": 656.4
                },
                "totalWithoutDiscountRounded": {
                  "currencyCode": "USD",
                  "nanos": 0,
                  "units": 657,
                  "amount": 657
                },
                "showPriceStrikethrough": false
              },
              "travellerReference": "3",
              "travellerType": "KID"
            }
          ],
          "priceDisplayRequirements": [],
          "pointOfSale": "us",
          "tripType": "ROUNDTRIP",
          "travellerDataRequirements": [
            "DATE_OF_BIRTH"
          ],
          "travellers": [
            {
              "travellerReference": "1",
              "type": "ADULT"
            },
            {
              "travellerReference": "2",
              "type": "KID",
              "age": 0
            },
            {
              "travellerReference": "3",
              "type": "KID",
              "age": 0
            }
          ],
          "posMismatch": {
            "detectedPointOfSale": "us",
            "isPOSMismatch": false,
            "offerSalesCountry": "us"
          },
          "includedProductsBySegment": [
            [
              {
                "travellerReference": "1",
                "travellerProducts": [
                  {
                    "type": "cabinBaggage",
                    "product": {
                      "luggageType": "HAND",
                      "maxPiece": 1,
                      "sizeRestrictions": {
                        "maxLength": 23.6,
                        "maxWidth": 15.8,
                        "maxHeight": 9.8,
                        "sizeUnit": "INCH"
                      }
                    }
                  },
                  {
                    "type": "personalItem"
                  }
                ]
              },
              { ... }
            ],
            [
              {
                "travellerReference": "1",
                "travellerProducts": [
                  {
                    "type": "cabinBaggage",
                    "product": {
                      "luggageType": "HAND",
                      "maxPiece": 1,
                      "sizeRestrictions": {
                        "maxLength": 23.6,
                        "maxWidth": 15.8,
                        "maxHeight": 9.8,
                        "sizeUnit": "INCH"
                      }
                    }
                  },
                  {
                    "type": "personalItem"
                  }
                ]
              },
              { ... }
            ]
          ],
          "includedProducts": {
            "areAllSegmentsIdentical": true,
            "segments": [
              [
                {
                  "luggageType": "PERSONAL_ITEM",
                  "maxPiece": 3,
                  "piecePerPax": 1
                },
                {
                  "luggageType": "HAND",
                  "maxPiece": 3,
                  "sizeRestrictions": {
                    "maxLength": 23.6,
                    "maxWidth": 15.8,
                    "maxHeight": 9.8,
                    "sizeUnit": "INCH"
                  },
                  "piecePerPax": 1
                }
              ]
            ]
          },
          "ancillaries": [],
          "brandedFareInfo": {
            "fareName": "Choice",
            "cabinClass": "ECONOMY",
            "features": [
              {
                "featureName": "PERSONAL_BAGGAGE",
                "category": "BAGGAGE",
                "code": "BK03",
                "label": "3 personal items",
                "availability": "INCLUDED",
                "priority": 0,
                "content": [],
                "sectionCategory": {
                  "groupingKey": "BAGGAGE",
                  "heading": "Baggage",
                  "priority": 1
                }
              },
              { ... }
            ],
            "fareAttributes": [],
            "nonIncludedFeaturesRequired": false,
            "nonIncludedFeatures": [],
            "featuresList": [],
            "checkinBaggageExcluded": true,
            "cabinBaggageExcluded": false
          },
          "appliedDiscounts": [],
          "offerKeyToHighlight": "1_WN4926_WN4893_2_WN2991_WN1659.CVG20260202.OKC20260205",
          "flightKey": "1_WN4926_WN4893_2_WN2991_WN1659.CVG20260202.OKC20260205",
          "extraProductDisplayRequirements": [],
          "brandedFareOffers": [
            {
              "brandedFareInfo": {
                "fareName": "Choice",
                "cabinClass": "ECONOMY",
                "features": [
                  {
                    "featureName": "PERSONAL_BAGGAGE",
                    "category": "BAGGAGE",
                    "code": "BK03",
                    "label": "3 personal items",
                    "availability": "INCLUDED",
                    "priority": 0,
                    "content": [],
                    "sectionCategory": {
                      "groupingKey": "BAGGAGE",
                      "heading": "Baggage",
                      "priority": 1
                    }
                  },
                  {
                    "featureName": "CABIN_BAGGAGE",
                    "category": "BAGGAGE",
                    "code": "BK02",
                    "label": "3 cabin bags",
                    "availability": "INCLUDED",
                    "priority": 2,
                    "content": [],
                    "sectionCategory": {
                      "groupingKey": "BAGGAGE",
                      "heading": "Baggage",
                      "priority": 1
                    }
                  },
                  {
                    "featureName": "BASIC_SEAT",
                    "availability": "INCLUDED",
                    "category": "SEATS",
                    "code": "STS",
                    "priority": 7,
                    "content": [],
                    "sectionCategory": {
                      "groupingKey": "TRAVEL_EXPERIENCE",
                      "heading": "Travel experience",
                      "priority": 3
                    },
                    "label": "Choice of basic seating"
                  },
                  {
                    "featureName": "CHANGEABLE_TICKET",
                    "availability": "INCLUDED",
                    "category": "CHANGE",
                    "code": "08R",
                    "priority": 9,
                    "content": [],
                    "sectionCategory": {
                      "groupingKey": "FLEXIBILITY",
                      "heading": "Flexibility",
                      "priority": 2
                    },
                    "label": "Flight change allowed"
                  },
                  {
                    "featureName": "REFUND_WITH_TRANSFERABLE_CREDIT_12_MONTHS",
                    "availability": "INCLUDED",
                    "category": "CANCEL",
                    "code": "",
                    "priority": 32,
                    "content": [],
                    "sectionCategory": {
                      "groupingKey": "FLEXIBILITY",
                      "heading": "Flexibility",
                      "priority": 2
                    },
                    "label": "Refund as transferable airline credit if you cancel, valid for 12 months"
                  }
                ],
                "fareAttributes": [],
                "nonIncludedFeaturesRequired": false,
                "nonIncludedFeatures": [],
                "featuresList": [],
                "checkinBaggageExcluded": true,
                "cabinBaggageExcluded": false
              },
              "ancillaries": [],
              "token": "c8e49_3904B@528902410ab36854e72a520fd0ec3b23d1e968dc739c5493a15ad993e16201f4505e8de137ddb3e8e3e47ff4e719ae2358fc983b966b492b1415ffb6a8d749ab4d22f516e965b61af7e66ae8200db535b57734f90d5eb6de74982cc04c8b101fb2c4cc358b93845027d3eac40b1fad948c006dcba5da8657ef399df3a5d30e50b161ffa4b0a78873c049c95ccca8ab6e7aaf82326f3df2c5c8bc0fbf3e6b1d2898e1e3479bff8c53095b528e20ed70f958cc0bcda103e5a430b7aba731c4ea916a84db83b35e89a8ea0bd48ce105d1814b55b3177b9e8221f974eaf84e5571c8565fb0f2ef34171147ea4fb7abf649c4a7214f52004e19b493380036e83e6eca4318fd18e8aaa864a55690c1",
              "offerReference": "c8e49_3904B@528902410ab36854e72a520fd0ec3b23d1e968dc739c5493a15ad993e16201f4505e8de137ddb3e8e3e47ff4e719ae2358fc983b966b492b1415ffb6a8d749ab4d22f516e965b61af7e66ae8200db535b57734f90d5eb6de74982cc04c8b101fb2c4cc358b93845027d3eac40b1fad948c006dcba5da8657ef399df3a5d30e50b161ffa4b0a78873c049c95ccca8ab6e7aaf82326f3df2c5c8bc0fbf3e6b1d2898e1e3479bff8c53095b528e20ed70f958cc0bcda103e5a430b7aba731c4ea916a84db83b35e89a8ea0bd48ce105d1814b55b3177b9e8221f974eaf84e5571c8565fb0f2ef34171147ea4fb7abf649c4a7214f52004e19b493380036e83e6eca4318fd18e8aaa864a55690c1",
              "priceBreakdown": {
                "total": {
                  "currencyCode": "USD",
                  "units": 1969,
                  "nanos": 200000000,
                  "amount": 1969.2
                },
                "baseFare": {
                  "currencyCode": "USD",
                  "units": 1691,
                  "nanos": 160000000,
                  "amount": 1691.16
                },
                "fee": {
                  "currencyCode": "USD",
                  "units": 0,
                  "nanos": 0,
                  "amount": 0
                },
                "tax": {
                  "currencyCode": "USD",
                  "units": 278,
                  "nanos": 40000000,
                  "amount": 278.04
                },
                "totalRounded": {
                  "currencyCode": "USD",
                  "nanos": 0,
                  "units": 1970,
                  "amount": 1970
                },
                "discount": {
                  "currencyCode": "USD",
                  "units": 0,
                  "nanos": 0,
                  "amount": 0
                },
                "totalWithoutDiscount": {
                  "currencyCode": "USD",
                  "units": 1969,
                  "nanos": 200000000,
                  "amount": 1969.2
                },
                "totalWithoutDiscountRounded": {
                  "currencyCode": "USD",
                  "nanos": 0,
                  "units": 1970,
                  "amount": 1970
                },
                "showPriceStrikethrough": false,
                "farePriceDifference": {
                  "currencyCode": "USD",
                  "units": 0,
                  "nanos": 0,
                  "amount": 0
                },
                "travellerFarePriceDifference": {
                  "currencyCode": "USD",
                  "units": 0,
                  "nanos": 0,
                  "amount": 0
                },
                "travellerPrice": {
                  "currencyCode": "USD",
                  "units": 656,
                  "nanos": 400000000
                }
              },
              "travellerPrices": [
                {
                  "travellerPriceBreakdown": {
                    "total": {
                      "currencyCode": "USD",
                      "units": 656,
                      "nanos": 400000000
                    },
                    "baseFare": {
                      "currencyCode": "USD",
                      "units": 563,
                      "nanos": 720000000
                    },
                    "fee": {
                      "currencyCode": "USD",
                      "units": 0,
                      "nanos": 0
                    },
                    "tax": {
                      "currencyCode": "USD",
                      "units": 92,
                      "nanos": 680000000
                    },
                    "totalRounded": {
                      "currencyCode": "USD",
                      "nanos": 0,
                      "units": 657
                    },
                    "discount": {
                      "currencyCode": "USD",
                      "units": 0,
                      "nanos": 0
                    },
                    "totalWithoutDiscount": {
                      "currencyCode": "USD",
                      "units": 656,
                      "nanos": 400000000
                    },
                    "totalWithoutDiscountRounded": {
                      "currencyCode": "USD",
                      "nanos": 0,
                      "units": 657
                    },
                    "showPriceStrikethrough": false
                  },
                  "travellerReference": "1",
                  "travellerType": "ADULT"
                },
                {
                  "travellerPriceBreakdown": {
                    "total": {
                      "currencyCode": "USD",
                      "units": 656,
                      "nanos": 400000000
                    },
                    "baseFare": {
                      "currencyCode": "USD",
                      "units": 563,
                      "nanos": 720000000
                    },
                    "fee": {
                      "currencyCode": "USD",
                      "units": 0,
                      "nanos": 0
                    },
                    "tax": {
                      "currencyCode": "USD",
                      "units": 92,
                      "nanos": 680000000
                    },
                    "totalRounded": {
                      "currencyCode": "USD",
                      "nanos": 0,
                      "units": 657
                    },
                    "discount": {
                      "currencyCode": "USD",
                      "units": 0,
                      "nanos": 0
                    },
                    "totalWithoutDiscount": {
                      "currencyCode": "USD",
                      "units": 656,
                      "nanos": 400000000
                    },
                    "totalWithoutDiscountRounded": {
                      "currencyCode": "USD",
                      "nanos": 0,
                      "units": 657
                    },
                    "showPriceStrikethrough": false
                  },
                  "travellerReference": "2",
                  "travellerType": "KID"
                },
                {
                  "travellerPriceBreakdown": {
                    "total": {
                      "currencyCode": "USD",
                      "units": 656,
                      "nanos": 400000000
                    },
                    "baseFare": {
                      "currencyCode": "USD",
                      "units": 563,
                      "nanos": 720000000
                    },
                    "fee": {
                      "currencyCode": "USD",
                      "units": 0,
                      "nanos": 0
                    },
                    "tax": {
                      "currencyCode": "USD",
                      "units": 92,
                      "nanos": 680000000
                    },
                    "totalRounded": {
                      "currencyCode": "USD",
                      "nanos": 0,
                      "units": 657
                    },
                    "discount": {
                      "currencyCode": "USD",
                      "units": 0,
                      "nanos": 0
                    },
                    "totalWithoutDiscount": {
                      "currencyCode": "USD",
                      "units": 656,
                      "nanos": 400000000
                    },
                    "totalWithoutDiscountRounded": {
                      "currencyCode": "USD",
                      "nanos": 0,
                      "units": 657
                    },
                    "showPriceStrikethrough": false
                  },
                  "travellerReference": "3",
                  "travellerType": "KID"
                }
              ],
              "includedProductsBySegment": [
                [
                  {
                    "travellerReference": "1",
                    "travellerProducts": [
                      {
                        "type": "cabinBaggage",
                        "product": {
                          "luggageType": "HAND",
                          "maxPiece": 1,
                          "sizeRestrictions": {
                            "maxLength": 23.6,
                            "maxWidth": 15.8,
                            "maxHeight": 9.8,
                            "sizeUnit": "INCH"
                          }
                        }
                      },
                      {
                        "type": "personalItem"
                      }
                    ]
                  },
                  {
                    "travellerReference": "2",
                    "travellerProducts": [
                      {
                        "type": "cabinBaggage",
                        "product": {
                          "luggageType": "HAND",
                          "maxPiece": 1,
                          "sizeRestrictions": {
                            "maxLength": 23.6,
                            "maxWidth": 15.8,
                            "maxHeight": 9.8,
                            "sizeUnit": "INCH"
                          }
                        }
                      },
                      {
                        "type": "personalItem"
                      }
                    ]
                  },
                  {
                    "travellerReference": "3",
                    "travellerProducts": [
                      {
                        "type": "cabinBaggage",
                        "product": {
                          "luggageType": "HAND",
                          "maxPiece": 1,
                          "sizeRestrictions": {
                            "maxLength": 23.6,
                            "maxWidth": 15.8,
                            "maxHeight": 9.8,
                            "sizeUnit": "INCH"
                          }
                        }
                      },
                      {
                        "type": "personalItem"
                      }
                    ]
                  }
                ],
                [
                  {
                    "travellerReference": "1",
                    "travellerProducts": [
                      {
                        "type": "cabinBaggage",
                        "product": {
                          "luggageType": "HAND",
                          "maxPiece": 1,
                          "sizeRestrictions": {
                            "maxLength": 23.6,
                            "maxWidth": 15.8,
                            "maxHeight": 9.8,
                            "sizeUnit": "INCH"
                          }
                        }
                      },
                      {
                        "type": "personalItem"
                      }
                    ]
                  },
                  {
                    "travellerReference": "2",
                    "travellerProducts": [
                      {
                        "type": "cabinBaggage",
                        "product": {
                          "luggageType": "HAND",
                          "maxPiece": 1,
                          "sizeRestrictions": {
                            "maxLength": 23.6,
                            "maxWidth": 15.8,
                            "maxHeight": 9.8,
                            "sizeUnit": "INCH"
                          }
                        }
                      },
                      {
                        "type": "personalItem"
                      }
                    ]
                  },
                  {
                    "travellerReference": "3",
                    "travellerProducts": [
                      {
                        "type": "cabinBaggage",
                        "product": {
                          "luggageType": "HAND",
                          "maxPiece": 1,
                          "sizeRestrictions": {
                            "maxLength": 23.6,
                            "maxWidth": 15.8,
                            "maxHeight": 9.8,
                            "sizeUnit": "INCH"
                          }
                        }
                      },
                      {
                        "type": "personalItem"
                      }
                    ]
                  }
                ]
              ],
              "includedProducts": {
                "areAllSegmentsIdentical": true,
                "segments": [
                  [
                    {
                      "luggageType": "PERSONAL_ITEM",
                      "maxPiece": 3,
                      "piecePerPax": 1
                    },
                    {
                      "luggageType": "HAND",
                      "maxPiece": 3,
                      "sizeRestrictions": {
                        "maxLength": 23.6,
                        "maxWidth": 15.8,
                        "maxHeight": 9.8,
                        "sizeUnit": "INCH"
                      },
                      "piecePerPax": 1
                    }
                  ]
                ]
              },
              "unifiedPriceBreakdown": {
                "id": "WN4926.CVG2026-02-02T07:00:00.MDW2026-02-02T07:25:00.ECONOMY,WN4893.MDW2026-02-02T08:15:00.OKC2026-02-02T10:35:00.ECONOMY,WN2991.OKC2026-02-05T15:10:00.MDW2026-02-05T17:15:00.ECONOMY,WN1659.MDW2026-02-05T18:05:00.CVG2026-02-05T20:15:00.ECONOMY_0_1ADULT.2INFANT_DIRECT_FIREFLY",
                "price": {
                  "currencyCode": "USD",
                  "units": 1969,
                  "nanos": 200000000
                },
                "items": [
                  {
                    "scope": "FLIGHT_ADULT",
                    "quantity": 1,
                    "id": "flight_adult",
                    "title": "Adult (1)",
                    "price": {
                      "currencyCode": "USD",
                      "units": 656,
                      "nanos": 400000000
                    },
                    "items": [
                      {
                        "id": "flight_adult-basefare",
                        "title": "Flight fare",
                        "price": {
                          "currencyCode": "USD",
                          "units": 563,
                          "nanos": 720000000
                        },
                        "items": []
                      },
                      {
                        "id": "flight_adult-tax",
                        "title": "Taxes and airline fees",
                        "price": {
                          "currencyCode": "USD",
                          "units": 92,
                          "nanos": 680000000
                        },
                        "items": []
                      }
                    ]
                  },
                  {
                    "scope": "FLIGHT_INFANT",
                    "quantity": 2,
                    "id": "flight_infant",
                    "title": "Infants (2)",
                    "price": {
                      "currencyCode": "USD",
                      "units": 1312,
                      "nanos": 800000000
                    },
                    "items": [
                      {
                        "id": "flight_infant-basefare",
                        "title": "Flight fare",
                        "price": {
                          "currencyCode": "USD",
                          "units": 1127,
                          "nanos": 440000000
                        },
                        "items": []
                      },
                      {
                        "id": "flight_infant-tax",
                        "title": "Taxes and airline fees",
                        "price": {
                          "currencyCode": "USD",
                          "units": 185,
                          "nanos": 360000000
                        },
                        "items": []
                      }
                    ]
                  }
                ],
                "addedItems": []
              }
            },
            {
              "brandedFareInfo": {
                "fareName": "Choice Preferred",
                "cabinClass": "ECONOMY",
                "features": [
                  {
                    "featureName": "PERSONAL_BAGGAGE",
                    "category": "BAGGAGE",
                    "code": "BK03",
                    "label": "3 personal items",
                    "availability": "INCLUDED",
                    "priority": 0,
                    "content": [],
                    "sectionCategory": {
                      "groupingKey": "BAGGAGE",
                      "heading": "Baggage",
                      "priority": 1
                    }
                  },
                  {
                    "featureName": "CABIN_BAGGAGE",
                    "category": "BAGGAGE",
                    "code": "BK02",
                    "label": "3 cabin bags",
                    "availability": "INCLUDED",
                    "priority": 2,
                    "content": [],
                    "sectionCategory": {
                      "groupingKey": "BAGGAGE",
                      "heading": "Baggage",
                      "priority": 1
                    }
                  },
                  {
                    "featureName": "REFUNDABLE_TICKET",
                    "availability": "INCLUDED",
                    "category": "CANCEL",
                    "code": "056",
                    "priority": 11,
                    "content": [],
                    "sectionCategory": {
                      "groupingKey": "FLEXIBILITY",
                      "heading": "Flexibility",
                      "priority": 2
                    },
                    "label": "Refund if you cancel "
                  },
                  {
                    "featureName": "CHANGEABLE_TICKET",
                    "availability": "INCLUDED",
                    "category": "CHANGE",
                    "code": "08R",
                    "priority": 9,
                    "content": [],
                    "sectionCategory": {
                      "groupingKey": "FLEXIBILITY",
                      "heading": "Flexibility",
                      "priority": 2
                    },
                    "label": "Flight change allowed"
                  },
                  {
                    "featureName": "PRE_RESERVED_SEAT_ASSIGNMENT",
                    "availability": "INCLUDED",
                    "category": "SEATS",
                    "code": "0B5",
                    "priority": 8,
                    "content": [],
                    "sectionCategory": {
                      "groupingKey": "TRAVEL_EXPERIENCE",
                      "heading": "Travel experience",
                      "priority": 3
                    },
                    "label": "Choose your own seats"
                  }
                ],
                "fareAttributes": [],
                "nonIncludedFeaturesRequired": false,
                "nonIncludedFeatures": [],
                "featuresList": [],
                "checkinBaggageExcluded": true,
                "cabinBaggageExcluded": false,
                "fareTag": "REFUNDABLE"
              },
              "ancillaries": [],
              "token": "c8e49_3904B@528902410ab36854e72a52d26092a851893f47f209e80868012f7d2a7d21181bcb8a4b9efa0f82681a507b1a1e12d268ff52c04a1f8ae21ee66aef68614a9ec5d10791b030d5522bc4239a3bb84be1f76aa1864809f3d767f7df3647a06417dbb23e617d027050112080a1c2918b0d6fe99a97bf3a6977507803993285754a5f6207a19d63bdca4efb68ea3110688934fb8a0f64e247b3b94add4ea9878745b87b1af1763d963e7decb1f7e780544d717e2aac684e579618fad7873e661f3a6c6d198417c7236488cb6f21c654d7de1c3dae8aebc6d1043280ad4a39550b9296cf873d599cc2076a64abe25fb836db51648bc7139da015a98f780a2c9f92de9c7ae609aa0f29bf81a88e3fb2",
              "offerReference": "c8e49_3904B@528902410ab36854e72a52d26092a851893f47f209e80868012f7d2a7d21181bcb8a4b9efa0f82681a507b1a1e12d268ff52c04a1f8ae21ee66aef68614a9ec5d10791b030d5522bc4239a3bb84be1f76aa1864809f3d767f7df3647a06417dbb23e617d027050112080a1c2918b0d6fe99a97bf3a6977507803993285754a5f6207a19d63bdca4efb68ea3110688934fb8a0f64e247b3b94add4ea9878745b87b1af1763d963e7decb1f7e780544d717e2aac684e579618fad7873e661f3a6c6d198417c7236488cb6f21c654d7de1c3dae8aebc6d1043280ad4a39550b9296cf873d599cc2076a64abe25fb836db51648bc7139da015a98f780a2c9f92de9c7ae609aa0f29bf81a88e3fb2",
              "priceBreakdown": {
                "total": {
                  "currencyCode": "USD",
                  "units": 2389,
                  "nanos": 230000000,
                  "amount": 2389.23
                },
                "baseFare": {
                  "currencyCode": "USD",
                  "units": 2081,
                  "nanos": 880000000,
                  "amount": 2081.88
                },
                "fee": {
                  "currencyCode": "USD",
                  "units": 0,
                  "nanos": 0,
                  "amount": 0
                },
                "tax": {
                  "currencyCode": "USD",
                  "units": 307,
                  "nanos": 350000000,
                  "amount": 307.35
                },
                "totalRounded": {
                  "currencyCode": "USD",
                  "nanos": 0,
                  "units": 2390,
                  "amount": 2390
                },
                "discount": {
                  "currencyCode": "USD",
                  "units": 0,
                  "nanos": 0,
                  "amount": 0
                },
                "totalWithoutDiscount": {
                  "currencyCode": "USD",
                  "units": 2389,
                  "nanos": 230000000,
                  "amount": 2389.23
                },
                "totalWithoutDiscountRounded": {
                  "currencyCode": "USD",
                  "nanos": 0,
                  "units": 2390,
                  "amount": 2390
                },
                "showPriceStrikethrough": false,
                "farePriceDifference": {
                  "currencyCode": "USD",
                  "units": 420,
                  "nanos": 30000000,
                  "amount": 420.03
                },
                "travellerFarePriceDifference": {
                  "currencyCode": "USD",
                  "units": 140,
                  "nanos": 10000000,
                  "amount": 140.01
                },
                "travellerPrice": {
                  "currencyCode": "USD",
                  "units": 656,
                  "nanos": 400000000
                }
              },
              "travellerPrices": [
                {
                  "travellerPriceBreakdown": {
                    "total": {
                      "currencyCode": "USD",
                      "units": 796,
                      "nanos": 410000000
                    },
                    "baseFare": {
                      "currencyCode": "USD",
                      "units": 693,
                      "nanos": 960000000
                    },
                    "fee": {
                      "currencyCode": "USD",
                      "units": 0,
                      "nanos": 0
                    },
                    "tax": {
                      "currencyCode": "USD",
                      "units": 102,
                      "nanos": 450000000
                    },
                    "totalRounded": {
                      "currencyCode": "USD",
                      "nanos": 0,
                      "units": 797
                    },
                    "discount": {
                      "currencyCode": "USD",
                      "units": 0,
                      "nanos": 0
                    },
                    "totalWithoutDiscount": {
                      "currencyCode": "USD",
                      "units": 796,
                      "nanos": 410000000
                    },
                    "totalWithoutDiscountRounded": {
                      "currencyCode": "USD",
                      "nanos": 0,
                      "units": 797
                    },
                    "showPriceStrikethrough": false
                  },
                  "travellerReference": "1",
                  "travellerType": "ADULT"
                },
                {
                  "travellerPriceBreakdown": {
                    "total": {
                      "currencyCode": "USD",
                      "units": 796,
                      "nanos": 410000000
                    },
                    "baseFare": {
                      "currencyCode": "USD",
                      "units": 693,
                      "nanos": 960000000
                    },
                    "fee": {
                      "currencyCode": "USD",
                      "units": 0,
                      "nanos": 0
                    },
                    "tax": {
                      "currencyCode": "USD",
                      "units": 102,
                      "nanos": 450000000
                    },
                    "totalRounded": {
                      "currencyCode": "USD",
                      "nanos": 0,
                      "units": 797
                    },
                    "discount": {
                      "currencyCode": "USD",
                      "units": 0,
                      "nanos": 0
                    },
                    "totalWithoutDiscount": {
                      "currencyCode": "USD",
                      "units": 796,
                      "nanos": 410000000
                    },
                    "totalWithoutDiscountRounded": {
                      "currencyCode": "USD",
                      "nanos": 0,
                      "units": 797
                    },
                    "showPriceStrikethrough": false
                  },
                  "travellerReference": "2",
                  "travellerType": "KID"
                },
                {
                  "travellerPriceBreakdown": {
                    "total": {
                      "currencyCode": "USD",
                      "units": 796,
                      "nanos": 410000000
                    },
                    "baseFare": {
                      "currencyCode": "USD",
                      "units": 693,
                      "nanos": 960000000
                    },
                    "fee": {
                      "currencyCode": "USD",
                      "units": 0,
                      "nanos": 0
                    },
                    "tax": {
                      "currencyCode": "USD",
                      "units": 102,
                      "nanos": 450000000
                    },
                    "totalRounded": {
                      "currencyCode": "USD",
                      "nanos": 0,
                      "units": 797
                    },
                    "discount": {
                      "currencyCode": "USD",
                      "units": 0,
                      "nanos": 0
                    },
                    "totalWithoutDiscount": {
                      "currencyCode": "USD",
                      "units": 796,
                      "nanos": 410000000
                    },
                    "totalWithoutDiscountRounded": {
                      "currencyCode": "USD",
                      "nanos": 0,
                      "units": 797
                    },
                    "showPriceStrikethrough": false
                  },
                  "travellerReference": "3",
                  "travellerType": "KID"
                }
              ],
              "includedProductsBySegment": [
                [
                  {
                    "travellerReference": "1",
                    "travellerProducts": [
                      {
                        "type": "cabinBaggage",
                        "product": {
                          "luggageType": "HAND",
                          "maxPiece": 1,
                          "sizeRestrictions": {
                            "maxLength": 23.6,
                            "maxWidth": 15.8,
                            "maxHeight": 9.8,
                            "sizeUnit": "INCH"
                          }
                        }
                      },
                      {
                        "type": "personalItem"
                      }
                    ]
                  },
                  {
                    "travellerReference": "2",
                    "travellerProducts": [
                      {
                        "type": "cabinBaggage",
                        "product": {
                          "luggageType": "HAND",
                          "maxPiece": 1,
                          "sizeRestrictions": {
                            "maxLength": 23.6,
                            "maxWidth": 15.8,
                            "maxHeight": 9.8,
                            "sizeUnit": "INCH"
                          }
                        }
                      },
                      {
                        "type": "personalItem"
                      }
                    ]
                  },
                  {
                    "travellerReference": "3",
                    "travellerProducts": [
                      {
                        "type": "cabinBaggage",
                        "product": {
                          "luggageType": "HAND",
                          "maxPiece": 1,
                          "sizeRestrictions": {
                            "maxLength": 23.6,
                            "maxWidth": 15.8,
                            "maxHeight": 9.8,
                            "sizeUnit": "INCH"
                          }
                        }
                      },
                      {
                        "type": "personalItem"
                      }
                    ]
                  }
                ],
                [
                  {
                    "travellerReference": "1",
                    "travellerProducts": [
                      {
                        "type": "cabinBaggage",
                        "product": {
                          "luggageType": "HAND",
                          "maxPiece": 1,
                          "sizeRestrictions": {
                            "maxLength": 23.6,
                            "maxWidth": 15.8,
                            "maxHeight": 9.8,
                            "sizeUnit": "INCH"
                          }
                        }
                      },
                      {
                        "type": "personalItem"
                      }
                    ]
                  },
                  {
                    "travellerReference": "2",
                    "travellerProducts": [
                      {
                        "type": "cabinBaggage",
                        "product": {
                          "luggageType": "HAND",
                          "maxPiece": 1,
                          "sizeRestrictions": {
                            "maxLength": 23.6,
                            "maxWidth": 15.8,
                            "maxHeight": 9.8,
                            "sizeUnit": "INCH"
                          }
                        }
                      },
                      {
                        "type": "personalItem"
                      }
                    ]
                  },
                  {
                    "travellerReference": "3",
                    "travellerProducts": [
                      {
                        "type": "cabinBaggage",
                        "product": {
                          "luggageType": "HAND",
                          "maxPiece": 1,
                          "sizeRestrictions": {
                            "maxLength": 23.6,
                            "maxWidth": 15.8,
                            "maxHeight": 9.8,
                            "sizeUnit": "INCH"
                          }
                        }
                      },
                      {
                        "type": "personalItem"
                      }
                    ]
                  }
                ]
              ],
              "includedProducts": {
                "areAllSegmentsIdentical": true,
                "segments": [
                  [
                    {
                      "luggageType": "PERSONAL_ITEM",
                      "maxPiece": 3,
                      "piecePerPax": 1
                    },
                    {
                      "luggageType": "HAND",
                      "maxPiece": 3,
                      "sizeRestrictions": {
                        "maxLength": 23.6,
                        "maxWidth": 15.8,
                        "maxHeight": 9.8,
                        "sizeUnit": "INCH"
                      },
                      "piecePerPax": 1
                    }
                  ]
                ]
              },
              "unifiedPriceBreakdown": {
                "id": "WN4926.CVG2026-02-02T07:00:00.MDW2026-02-02T07:25:00.ECONOMY,WN4893.MDW2026-02-02T08:15:00.OKC2026-02-02T10:35:00.ECONOMY,WN2991.OKC2026-02-05T15:10:00.MDW2026-02-05T17:15:00.ECONOMY,WN1659.MDW2026-02-05T18:05:00.CVG2026-02-05T20:15:00.ECONOMY_0_1ADULT.2INFANT_DIRECT_FIREFLY",
                "price": {
                  "currencyCode": "USD",
                  "units": 2389,
                  "nanos": 230000000
                },
                "items": [
                  {
                    "scope": "FLIGHT_ADULT",
                    "quantity": 1,
                    "id": "flight_adult",
                    "title": "Adult (1)",
                    "price": {
                      "currencyCode": "USD",
                      "units": 796,
                      "nanos": 410000000
                    },
                    "items": [
                      {
                        "id": "flight_adult-basefare",
                        "title": "Flight fare",
                        "price": {
                          "currencyCode": "USD",
                          "units": 693,
                          "nanos": 960000000
                        },
                        "items": []
                      },
                      {
                        "id": "flight_adult-tax",
                        "title": "Taxes and airline fees",
                        "price": {
                          "currencyCode": "USD",
                          "units": 102,
                          "nanos": 450000000
                        },
                        "items": []
                      }
                    ]
                  },
                  {
                    "scope": "FLIGHT_INFANT",
                    "quantity": 2,
                    "id": "flight_infant",
                    "title": "Infants (2)",
                    "price": {
                      "currencyCode": "USD",
                      "units": 1592,
                      "nanos": 820000000
                    },
                    "items": [
                      {
                        "id": "flight_infant-basefare",
                        "title": "Flight fare",
                        "price": {
                          "currencyCode": "USD",
                          "units": 1387,
                          "nanos": 920000000
                        },
                        "items": []
                      },
                      {
                        "id": "flight_infant-tax",
                        "title": "Taxes and airline fees",
                        "price": {
                          "currencyCode": "USD",
                          "units": 204,
                          "nanos": 900000000
                        },
                        "items": []
                      }
                    ]
                  }
                ],
                "addedItems": []
              }
            },
            {
              "brandedFareInfo": {
                "fareName": "Choice Extra",
                "cabinClass": "ECONOMY",
                "features": [
                  {
                    "featureName": "PERSONAL_BAGGAGE",
                    "category": "BAGGAGE",
                    "code": "BK03",
                    "label": "3 personal items",
                    "availability": "INCLUDED",
                    "priority": 0,
                    "content": [],
                    "sectionCategory": {
                      "groupingKey": "BAGGAGE",
                      "heading": "Baggage",
                      "priority": 1
                    }
                  },
                  {
                    "featureName": "CABIN_BAGGAGE",
                    "category": "BAGGAGE",
                    "code": "BK02",
                    "label": "3 cabin bags",
                    "availability": "INCLUDED",
                    "priority": 2,
                    "content": [],
                    "sectionCategory": {
                      "groupingKey": "BAGGAGE",
                      "heading": "Baggage",
                      "priority": 1
                    }
                  },
                  {
                    "featureName": "CHECK_BAGGAGE",
                    "category": "BAGGAGE",
                    "code": "BK01",
                    "label": "6 checked bags",
                    "availability": "INCLUDED",
                    "priority": 4,
                    "content": [],
                    "sectionCategory": {
                      "groupingKey": "BAGGAGE",
                      "heading": "Baggage",
                      "priority": 1
                    }
                  },
                  {
                    "featureName": "REFUNDABLE_TICKET",
                    "availability": "INCLUDED",
                    "category": "CANCEL",
                    "code": "056",
                    "priority": 11,
                    "content": [],
                    "sectionCategory": {
                      "groupingKey": "FLEXIBILITY",
                      "heading": "Flexibility",
                      "priority": 2
                    },
                    "label": "Refund if you cancel "
                  },
                  {
                    "featureName": "CHANGEABLE_TICKET",
                    "availability": "INCLUDED",
                    "category": "CHANGE",
                    "code": "08R",
                    "priority": 9,
                    "content": [],
                    "sectionCategory": {
                      "groupingKey": "FLEXIBILITY",
                      "heading": "Flexibility",
                      "priority": 2
                    },
                    "label": "Flight change allowed"
                  },
                  {
                    "featureName": "PRIORITY_BOARDING",
                    "availability": "INCLUDED",
                    "category": "CHECK_IN",
                    "code": "0G6",
                    "priority": 14,
                    "content": [],
                    "sectionCategory": {
                      "groupingKey": "TRAVEL_EXPERIENCE",
                      "heading": "Travel experience",
                      "priority": 3
                    },
                    "label": "Priority boarding"
                  },
                  {
                    "featureName": "PREMIUM_SEAT",
                    "availability": "INCLUDED",
                    "category": "SEATS",
                    "code": "05Z",
                    "priority": 6,
                    "content": [],
                    "sectionCategory": {
                      "groupingKey": "TRAVEL_EXPERIENCE",
                      "heading": "Travel experience",
                      "priority": 3
                    },
                    "label": "Choice of premium seating"
                  }
                ],
                "fareAttributes": [],
                "nonIncludedFeaturesRequired": false,
                "nonIncludedFeatures": [],
                "featuresList": [],
                "checkinBaggageExcluded": false,
                "cabinBaggageExcluded": false,
                "fareTag": "BAGGAGE"
              },
              "ancillaries": [],
              "token": "c8e49_3904B@528902410ab36854e72a527ee1009e2ec77764bd43bdfefc922388eab4634975d9754dceae8b4c4571d14b1c60f7d3c5d4e03ee9eaf33bdae51c06fc9583cc2328b3bc10ec4245c3de883c079decfa4435338d1c84ca5b09e0913117d483c2720907e666e296dbd185baad69c5ae68aa5afc872259d28f3349c2ccc79fbdadcc1105878cc24ab1255ff82055a2a32e5d8cce7ad5d8c88fef7894f6633a9f52511b4aa005d00cbfc12d711f53d111e6fec503a4e73ba56041966913095064584139a1aefd65ba23d40b89f2f638907a8295b74b823895b0319783f5d830dcbb021f75f42a4d2c64ba4fdf784076832f1823f0238389120b09d5dcd0369cd8ea69a5e0a1b7a6b36b0dba02e1d1",
              "offerReference": "c8e49_3904B@528902410ab36854e72a527ee1009e2ec77764bd43bdfefc922388eab4634975d9754dceae8b4c4571d14b1c60f7d3c5d4e03ee9eaf33bdae51c06fc9583cc2328b3bc10ec4245c3de883c079decfa4435338d1c84ca5b09e0913117d483c2720907e666e296dbd185baad69c5ae68aa5afc872259d28f3349c2ccc79fbdadcc1105878cc24ab1255ff82055a2a32e5d8cce7ad5d8c88fef7894f6633a9f52511b4aa005d00cbfc12d711f53d111e6fec503a4e73ba56041966913095064584139a1aefd65ba23d40b89f2f638907a8295b74b823895b0319783f5d830dcbb021f75f42a4d2c64ba4fdf784076832f1823f0238389120b09d5dcd0369cd8ea69a5e0a1b7a6b36b0dba02e1d1",
              "priceBreakdown": {
                "total": {
                  "currencyCode": "USD",
                  "units": 2659,
                  "nanos": 230000000,
                  "amount": 2659.23
                },
                "baseFare": {
                  "currencyCode": "USD",
                  "units": 2333,
                  "nanos": 40000000,
                  "amount": 2333.04
                },
                "fee": {
                  "currencyCode": "USD",
                  "units": 0,
                  "nanos": 0,
                  "amount": 0
                },
                "tax": {
                  "currencyCode": "USD",
                  "units": 326,
                  "nanos": 190000000,
                  "amount": 326.19
                },
                "totalRounded": {
                  "currencyCode": "USD",
                  "nanos": 0,
                  "units": 2660,
                  "amount": 2660
                },
                "discount": {
                  "currencyCode": "USD",
                  "units": 0,
                  "nanos": 0,
                  "amount": 0
                },
                "totalWithoutDiscount": {
                  "currencyCode": "USD",
                  "units": 2659,
                  "nanos": 230000000,
                  "amount": 2659.23
                },
                "totalWithoutDiscountRounded": {
                  "currencyCode": "USD",
                  "nanos": 0,
                  "units": 2660,
                  "amount": 2660
                },
                "showPriceStrikethrough": false,
                "farePriceDifference": {
                  "currencyCode": "USD",
                  "units": 690,
                  "nanos": 30000000,
                  "amount": 690.03
                },
                "travellerFarePriceDifference": {
                  "currencyCode": "USD",
                  "units": 230,
                  "nanos": 10000000,
                  "amount": 230.01
                },
                "travellerPrice": {
                  "currencyCode": "USD",
                  "units": 656,
                  "nanos": 400000000
                }
              },
              "travellerPrices": [
                {
                  "travellerPriceBreakdown": {
                    "total": {
                      "currencyCode": "USD",
                      "units": 886,
                      "nanos": 410000000
                    },
                    "baseFare": {
                      "currencyCode": "USD",
                      "units": 777,
                      "nanos": 680000000
                    },
                    "fee": {
                      "currencyCode": "USD",
                      "units": 0,
                      "nanos": 0
                    },
                    "tax": {
                      "currencyCode": "USD",
                      "units": 108,
                      "nanos": 730000000
                    },
                    "totalRounded": {
                      "currencyCode": "USD",
                      "nanos": 0,
                      "units": 887
                    },
                    "discount": {
                      "currencyCode": "USD",
                      "units": 0,
                      "nanos": 0
                    },
                    "totalWithoutDiscount": {
                      "currencyCode": "USD",
                      "units": 886,
                      "nanos": 410000000
                    },
                    "totalWithoutDiscountRounded": {
                      "currencyCode": "USD",
                      "nanos": 0,
                      "units": 887
                    },
                    "showPriceStrikethrough": false
                  },
                  "travellerReference": "1",
                  "travellerType": "ADULT"
                },
                {
                  "travellerPriceBreakdown": {
                    "total": {
                      "currencyCode": "USD",
                      "units": 886,
                      "nanos": 410000000
                    },
                    "baseFare": {
                      "currencyCode": "USD",
                      "units": 777,
                      "nanos": 680000000
                    },
                    "fee": {
                      "currencyCode": "USD",
                      "units": 0,
                      "nanos": 0
                    },
                    "tax": {
                      "currencyCode": "USD",
                      "units": 108,
                      "nanos": 730000000
                    },
                    "totalRounded": {
                      "currencyCode": "USD",
                      "nanos": 0,
                      "units": 887
                    },
                    "discount": {
                      "currencyCode": "USD",
                      "units": 0,
                      "nanos": 0
                    },
                    "totalWithoutDiscount": {
                      "currencyCode": "USD",
                      "units": 886,
                      "nanos": 410000000
                    },
                    "totalWithoutDiscountRounded": {
                      "currencyCode": "USD",
                      "nanos": 0,
                      "units": 887
                    },
                    "showPriceStrikethrough": false
                  },
                  "travellerReference": "2",
                  "travellerType": "KID"
                },
                {
                  "travellerPriceBreakdown": {
                    "total": {
                      "currencyCode": "USD",
                      "units": 886,
                      "nanos": 410000000
                    },
                    "baseFare": {
                      "currencyCode": "USD",
                      "units": 777,
                      "nanos": 680000000
                    },
                    "fee": {
                      "currencyCode": "USD",
                      "units": 0,
                      "nanos": 0
                    },
                    "tax": {
                      "currencyCode": "USD",
                      "units": 108,
                      "nanos": 730000000
                    },
                    "totalRounded": {
                      "currencyCode": "USD",
                      "nanos": 0,
                      "units": 887
                    },
                    "discount": {
                      "currencyCode": "USD",
                      "units": 0,
                      "nanos": 0
                    },
                    "totalWithoutDiscount": {
                      "currencyCode": "USD",
                      "units": 886,
                      "nanos": 410000000
                    },
                    "totalWithoutDiscountRounded": {
                      "currencyCode": "USD",
                      "nanos": 0,
                      "units": 887
                    },
                    "showPriceStrikethrough": false
                  },
                  "travellerReference": "3",
                  "travellerType": "KID"
                }
              ],
              "includedProductsBySegment": [
                [
                  {
                    "travellerReference": "1",
                    "travellerProducts": [
                      {
                        "type": "checkedInBaggage",
                        "product": {
                          "luggageType": "CHECKED_IN",
                          "ruleType": "PIECE_BASED",
                          "maxPiece": 2
                        }
                      },
                      {
                        "type": "cabinBaggage",
                        "product": {
                          "luggageType": "HAND",
                          "maxPiece": 1,
                          "sizeRestrictions": {
                            "maxLength": 23.6,
                            "maxWidth": 15.8,
                            "maxHeight": 9.8,
                            "sizeUnit": "INCH"
                          }
                        }
                      },
                      {
                        "type": "personalItem"
                      }
                    ]
                  },
                  {
                    "travellerReference": "2",
                    "travellerProducts": [
                      {
                        "type": "checkedInBaggage",
                        "product": {
                          "luggageType": "CHECKED_IN",
                          "ruleType": "PIECE_BASED",
                          "maxPiece": 2
                        }
                      },
                      {
                        "type": "cabinBaggage",
                        "product": {
                          "luggageType": "HAND",
                          "maxPiece": 1,
                          "sizeRestrictions": {
                            "maxLength": 23.6,
                            "maxWidth": 15.8,
                            "maxHeight": 9.8,
                            "sizeUnit": "INCH"
                          }
                        }
                      },
                      {
                        "type": "personalItem"
                      }
                    ]
                  },
                  {
                    "travellerReference": "3",
                    "travellerProducts": [
                      {
                        "type": "checkedInBaggage",
                        "product": {
                          "luggageType": "CHECKED_IN",
                          "ruleType": "PIECE_BASED",
                          "maxPiece": 2
                        }
                      },
                      {
                        "type": "cabinBaggage",
                        "product": {
                          "luggageType": "HAND",
                          "maxPiece": 1,
                          "sizeRestrictions": {
                            "maxLength": 23.6,
                            "maxWidth": 15.8,
                            "maxHeight": 9.8,
                            "sizeUnit": "INCH"
                          }
                        }
                      },
                      {
                        "type": "personalItem"
                      }
                    ]
                  }
                ],
                [
                  {
                    "travellerReference": "1",
                    "travellerProducts": [
                      {
                        "type": "checkedInBaggage",
                        "product": {
                          "luggageType": "CHECKED_IN",
                          "ruleType": "PIECE_BASED",
                          "maxPiece": 2
                        }
                      },
                      {
                        "type": "cabinBaggage",
                        "product": {
                          "luggageType": "HAND",
                          "maxPiece": 1,
                          "sizeRestrictions": {
                            "maxLength": 23.6,
                            "maxWidth": 15.8,
                            "maxHeight": 9.8,
                            "sizeUnit": "INCH"
                          }
                        }
                      },
                      {
                        "type": "personalItem"
                      }
                    ]
                  },
                  {
                    "travellerReference": "2",
                    "travellerProducts": [
                      {
                        "type": "checkedInBaggage",
                        "product": {
                          "luggageType": "CHECKED_IN",
                          "ruleType": "PIECE_BASED",
                          "maxPiece": 2
                        }
                      },
                      {
                        "type": "cabinBaggage",
                        "product": {
                          "luggageType": "HAND",
                          "maxPiece": 1,
                          "sizeRestrictions": {
                            "maxLength": 23.6,
                            "maxWidth": 15.8,
                            "maxHeight": 9.8,
                            "sizeUnit": "INCH"
                          }
                        }
                      },
                      {
                        "type": "personalItem"
                      }
                    ]
                  },
                  {
                    "travellerReference": "3",
                    "travellerProducts": [
                      {
                        "type": "checkedInBaggage",
                        "product": {
                          "luggageType": "CHECKED_IN",
                          "ruleType": "PIECE_BASED",
                          "maxPiece": 2
                        }
                      },
                      {
                        "type": "cabinBaggage",
                        "product": {
                          "luggageType": "HAND",
                          "maxPiece": 1,
                          "sizeRestrictions": {
                            "maxLength": 23.6,
                            "maxWidth": 15.8,
                            "maxHeight": 9.8,
                            "sizeUnit": "INCH"
                          }
                        }
                      },
                      {
                        "type": "personalItem"
                      }
                    ]
                  }
                ]
              ],
              "includedProducts": {
                "areAllSegmentsIdentical": true,
                "segments": [
                  [
                    {
                      "luggageType": "PERSONAL_ITEM",
                      "maxPiece": 3,
                      "piecePerPax": 1
                    },
                    {
                      "luggageType": "HAND",
                      "maxPiece": 3,
                      "sizeRestrictions": {
                        "maxLength": 23.6,
                        "maxWidth": 15.8,
                        "maxHeight": 9.8,
                        "sizeUnit": "INCH"
                      },
                      "piecePerPax": 1
                    },
                    {
                      "luggageType": "CHECKED_IN",
                      "ruleType": "PIECE_BASED",
                      "maxPiece": 6,
                      "piecePerPax": 2
                    }
                  ]
                ]
              },
              "unifiedPriceBreakdown": {
                "id": "WN4926.CVG2026-02-02T07:00:00.MDW2026-02-02T07:25:00.ECONOMY,WN4893.MDW2026-02-02T08:15:00.OKC2026-02-02T10:35:00.ECONOMY,WN2991.OKC2026-02-05T15:10:00.MDW2026-02-05T17:15:00.ECONOMY,WN1659.MDW2026-02-05T18:05:00.CVG2026-02-05T20:15:00.ECONOMY_0_1ADULT.2INFANT_DIRECT_FIREFLY",
                "price": {
                  "currencyCode": "USD",
                  "units": 2659,
                  "nanos": 230000000
                },
                "items": [
                  {
                    "scope": "FLIGHT_ADULT",
                    "quantity": 1,
                    "id": "flight_adult",
                    "title": "Adult (1)",
                    "price": {
                      "currencyCode": "USD",
                      "units": 886,
                      "nanos": 410000000
                    },
                    "items": [
                      {
                        "id": "flight_adult-basefare",
                        "title": "Flight fare",
                        "price": {
                          "currencyCode": "USD",
                          "units": 777,
                          "nanos": 680000000
                        },
                        "items": []
                      },
                      {
                        "id": "flight_adult-tax",
                        "title": "Taxes and airline fees",
                        "price": {
                          "currencyCode": "USD",
                          "units": 108,
                          "nanos": 730000000
                        },
                        "items": []
                      }
                    ]
                  },
                  {
                    "scope": "FLIGHT_INFANT",
                    "quantity": 2,
                    "id": "flight_infant",
                    "title": "Infants (2)",
                    "price": {
                      "currencyCode": "USD",
                      "units": 1772,
                      "nanos": 820000000
                    },
                    "items": [
                      {
                        "id": "flight_infant-basefare",
                        "title": "Flight fare",
                        "price": {
                          "currencyCode": "USD",
                          "units": 1555,
                          "nanos": 360000000
                        },
                        "items": []
                      },
                      {
                        "id": "flight_infant-tax",
                        "title": "Taxes and airline fees",
                        "price": {
                          "currencyCode": "USD",
                          "units": 217,
                          "nanos": 460000000
                        },
                        "items": []
                      }
                    ]
                  }
                ],
                "addedItems": []
              }
            }
          ],
          "unifiedPriceBreakdown": {
            "id": "WN4926.CVG2026-02-02T07:00:00.MDW2026-02-02T07:25:00.ECONOMY,WN4893.MDW2026-02-02T08:15:00.OKC2026-02-02T10:35:00.ECONOMY,WN2991.OKC2026-02-05T15:10:00.MDW2026-02-05T17:15:00.ECONOMY,WN1659.MDW2026-02-05T18:05:00.CVG2026-02-05T20:15:00.ECONOMY_0_1ADULT.2INFANT_DIRECT_FIREFLY",
            "price": {
              "currencyCode": "USD",
              "units": 1969,
              "nanos": 200000000,
              "amount": 1969.2
            },
            "items": [
              {
                "scope": "FLIGHT_ADULT",
                "quantity": 1,
                "id": "flight_adult",
                "title": "Adult (1)",
                "price": {
                  "currencyCode": "USD",
                  "units": 656,
                  "nanos": 400000000,
                  "amount": 656.4
                },
                "items": [
                  {
                    "id": "flight_adult-basefare",
                    "title": "Flight fare",
                    "price": {
                      "currencyCode": "USD",
                      "units": 563,
                      "nanos": 720000000,
                      "amount": 563.72
                    },
                    "items": []
                  },
                  {
                    "id": "flight_adult-tax",
                    "title": "Taxes and airline fees",
                    "price": {
                      "currencyCode": "USD",
                      "units": 92,
                      "nanos": 680000000,
                      "amount": 92.68
                    },
                    "items": []
                  }
                ]
              },
              {
                "scope": "FLIGHT_INFANT",
                "quantity": 2,
                "id": "flight_infant",
                "title": "Infants (2)",
                "price": {
                  "currencyCode": "USD",
                  "units": 1312,
                  "nanos": 800000000,
                  "amount": 1312.8
                },
                "items": [
                  {
                    "id": "flight_infant-basefare",
                    "title": "Flight fare",
                    "price": {
                      "currencyCode": "USD",
                      "units": 1127,
                      "nanos": 440000000,
                      "amount": 1127.44
                    },
                    "items": []
                  },
                  {
                    "id": "flight_infant-tax",
                    "title": "Taxes and airline fees",
                    "price": {
                      "currencyCode": "USD",
                      "units": 185,
                      "nanos": 360000000,
                      "amount": 185.36
                    },
                    "items": []
                  }
                ]
              }
            ],
            "addedItems": []
          },
          "perTravellerPriceDifferences": []
        },
        { ... }
      ],
      "atolProtectedStatus": "NONE",
      "displayOptions": {
        "brandedFaresShownByDefault": true,
        "directFlightsOnlyFilterIgnored": false,
        "hideFlexiblePricesBanner": true
      },
      "searchCriteria": {
        "cabinClass": "ECONOMY"
      },
      "baggagePolicies": [
        {
          "code": "AA",
          "name": "American Airlines",
          "url": "https://aa.com/i18n/travel-info/baggage/checked-baggage-policy.jsp"
        },
        { ... }
      ],
      "personalisationSegments": [
        "INTERNATIONAL_FAMILY_VACATIONERS",
        "SHORT_HAUL_TRIP",
        "FAMILY_TRAVELLERS"
      ]
    }
  }
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (404, Not Found):


{
    "success": false,
    "message": "Resource Not Found"
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

GET /v1/flights/details

requires authentication

Retrieve detailed flight offer information including segments, pricing, baggage policies, and fare features. This endpoint uses a flight token from search results.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/booking/flights/details'
params = {
  'token': '',
  'skip_branded_fares': '1',
  'language': 'en-us',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/booking/flights/details';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'token' => '',
            'skip_branded_fares' => '1',
            'language' => 'en-us',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/booking/flights/details"
);

const params = {
    "token": "",
    "skip_branded_fares": "1",
    "language": "en-us",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/booking/flights/details?token=&skip_branded_fares=1&language=en-us" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "token": "c8e49_528902410ab36854e72a...",
        "language": "en-us",
        "include_branded_fares": true,
        "skip_branded_fares": 1,
        "timestamp": 1769393844000
    },
    "body": {
        "token": "c8e49_528902410ab36854e72a...",
        "trip_type": "ROUNDTRIP",
        "point_of_sale": "us",
        "offer_reference": "c8e49_CgJ2MRIkZDE2NmM1ZWMtMGE4N...",
        "flight_key": "1_WN4926_WN4893_2_WN2991_WN1659.CVG20260202.OKC20260205",
        "segments": [
            {
                "segment_number": 1,
                "direction": "outbound",
                "departure": {
                    "airport": {
                        "code": "CVG",
                        "name": "Cincinnati/Northern Kentucky International Airport",
                        "city": "CVG",
                        "city_name": "Cincinnati",
                        "country": "US",
                        "country_name": "United States",
                        "province": "Ohio",
                        "province_code": "OH"
                    },
                    "time": "2026-02-02T07:00:00",
                    "time_tz": "2026-02-02T07:00:00-05:00"
                },
                "arrival": {
                    "airport": {
                        "code": "OKC",
                        "name": "Will Rogers World Airport",
                        "city": "OKC",
                        "city_name": "Oklahoma City",
                        "country": "US",
                        "country_name": "United States",
                        "province": "Oklahoma",
                        "province_code": "OK"
                    },
                    "time": "2026-02-02T10:35:00",
                    "time_tz": "2026-02-02T10:35:00-06:00"
                },
                "total_duration_minutes": 275,
                "legs": [
                    {
                        "leg_number": 1,
                        "departure": {
                            "airport": {
                                "code": "CVG",
                                "name": "Cincinnati/Northern Kentucky International Airport",
                                "city": "CVG"
                            },
                            "time": "2026-02-02T07:00:00",
                            "time_tz": "2026-02-02T07:00:00-05:00"
                        },
                        "arrival": {
                            "airport": {
                                "code": "MDW",
                                "name": "Midway International Airport",
                                "city": "CHI"
                            },
                            "time": "2026-02-02T07:25:00",
                            "time_tz": "2026-02-02T07:25:00-06:00"
                        },
                        "duration_minutes": 85,
                        "flight_info": {
                            "number": 4926,
                            "plane_type": "7S7",
                            "carrier": {
                                "operating": "WN",
                                "marketing": "WN",
                                "disclosure_text": ""
                            },
                            "facilities": []
                        },
                        "carriers": [
                            {
                                "code": "WN",
                                "name": "Southwest Airlines",
                                "logo": "https://r-xx.bstatic.com/data/airlines_logo/WN.png"
                            }
                        ],
                        "cabin_class": "ECONOMY",
                        "stops": 0,
                        "amenities": []
                    },
                    {
                        "leg_number": 2,
                        "departure": {
                            "airport": {
                                "code": "MDW",
                                "name": "Midway International Airport",
                                "city": "CHI"
                            },
                            "time": "2026-02-02T08:15:00",
                            "time_tz": "2026-02-02T08:15:00-06:00"
                        },
                        "arrival": {
                            "airport": {
                                "code": "OKC",
                                "name": "Will Rogers World Airport",
                                "city": "OKC"
                            },
                            "time": "2026-02-02T10:35:00",
                            "time_tz": "2026-02-02T10:35:00-06:00"
                        },
                        "duration_minutes": 140,
                        "flight_info": {
                            "number": 4893,
                            "plane_type": "7S7",
                            "carrier": {
                                "operating": "WN",
                                "marketing": "WN",
                                "disclosure_text": ""
                            },
                            "facilities": []
                        },
                        "carriers": [
                            {
                                "code": "WN",
                                "name": "Southwest Airlines",
                                "logo": "https://r-xx.bstatic.com/data/airlines_logo/WN.png"
                            }
                        ],
                        "cabin_class": "ECONOMY",
                        "stops": 0,
                        "amenities": []
                    }
                ],
                "baggage": {
                    "cabin": [
                        {
                            "type": "HAND",
                            "max_pieces": 1,
                            "size_restrictions": {
                                "maxLength": 23.6,
                                "maxWidth": 15.8,
                                "maxHeight": 9.8,
                                "sizeUnit": "INCH"
                            },
                            "personal_item": true
                        },
                        {
                            "type": "HAND",
                            "max_pieces": 1,
                            "size_restrictions": {
                                "sizeUnit": "INCH"
                            },
                            "personal_item": true
                        },
                        {
                            "type": "HAND",
                            "max_pieces": 1,
                            "size_restrictions": {
                                "sizeUnit": "INCH"
                            },
                            "personal_item": true
                        }
                    ],
                    "checked": []
                },
                "protection": {
                    "atol_protected": false,
                    "warnings": {
                        "origin_airport": false,
                        "destination_airport": false
                    }
                }
            },
            {
                "segment_number": 2,
                "direction": "return",
                "departure": {
                    "airport": {
                        "code": "OKC",
                        "name": "Will Rogers World Airport",
                        "city": "OKC",
                        "city_name": "Oklahoma City",
                        "country": "US",
                        "country_name": "United States",
                        "province": "Oklahoma",
                        "province_code": "OK"
                    },
                    "time": "2026-02-05T15:10:00",
                    "time_tz": "2026-02-05T15:10:00-06:00"
                },
                "arrival": {
                    "airport": {
                        "code": "CVG",
                        "name": "Cincinnati/Northern Kentucky International Airport",
                        "city": "CVG",
                        "city_name": "Cincinnati",
                        "country": "US",
                        "country_name": "United States",
                        "province": "Ohio",
                        "province_code": "OH"
                    },
                    "time": "2026-02-05T20:15:00",
                    "time_tz": "2026-02-05T20:15:00-05:00"
                },
                "total_duration_minutes": 245,
                "legs": [
                    {
                        "leg_number": 1,
                        "departure": {
                            "airport": {
                                "code": "OKC",
                                "name": "Will Rogers World Airport",
                                "city": "OKC"
                            },
                            "time": "2026-02-05T15:10:00",
                            "time_tz": "2026-02-05T15:10:00-06:00"
                        },
                        "arrival": {
                            "airport": {
                                "code": "MDW",
                                "name": "Midway International Airport",
                                "city": "CHI"
                            },
                            "time": "2026-02-05T17:15:00",
                            "time_tz": "2026-02-05T17:15:00-06:00"
                        },
                        "duration_minutes": 125,
                        "flight_info": {
                            "number": 2991,
                            "plane_type": "7S7",
                            "carrier": {
                                "operating": "WN",
                                "marketing": "WN",
                                "disclosure_text": ""
                            },
                            "facilities": []
                        },
                        "carriers": [
                            {
                                "code": "WN",
                                "name": "Southwest Airlines",
                                "logo": "https://r-xx.bstatic.com/data/airlines_logo/WN.png"
                            }
                        ],
                        "cabin_class": "ECONOMY",
                        "stops": 0,
                        "amenities": []
                    },
                    {
                        "leg_number": 2,
                        "departure": {
                            "airport": {
                                "code": "MDW",
                                "name": "Midway International Airport",
                                "city": "CHI"
                            },
                            "time": "2026-02-05T18:05:00",
                            "time_tz": "2026-02-05T18:05:00-06:00"
                        },
                        "arrival": {
                            "airport": {
                                "code": "CVG",
                                "name": "Cincinnati/Northern Kentucky International Airport",
                                "city": "CVG"
                            },
                            "time": "2026-02-05T20:15:00",
                            "time_tz": "2026-02-05T20:15:00-05:00"
                        },
                        "duration_minutes": 70,
                        "flight_info": {
                            "number": 1659,
                            "plane_type": "7S7",
                            "carrier": {
                                "operating": "WN",
                                "marketing": "WN",
                                "disclosure_text": ""
                            },
                            "facilities": []
                        },
                        "carriers": [
                            {
                                "code": "WN",
                                "name": "Southwest Airlines",
                                "logo": "https://r-xx.bstatic.com/data/airlines_logo/WN.png"
                            }
                        ],
                        "cabin_class": "ECONOMY",
                        "stops": 0,
                        "amenities": []
                    }
                ],
                "baggage": {
                    "cabin": [
                        {
                            "type": "HAND",
                            "max_pieces": 1,
                            "size_restrictions": {
                                "maxLength": 23.6,
                                "maxWidth": 15.8,
                                "maxHeight": 9.8,
                                "sizeUnit": "INCH"
                            },
                            "personal_item": true
                        },
                        {
                            "type": "HAND",
                            "max_pieces": 1,
                            "size_restrictions": {
                                "sizeUnit": "INCH"
                            },
                            "personal_item": true
                        },
                        {
                            "type": "HAND",
                            "max_pieces": 1,
                            "size_restrictions": {
                                "sizeUnit": "INCH"
                            },
                            "personal_item": true
                        }
                    ],
                    "checked": []
                },
                "protection": {
                    "atol_protected": false,
                    "warnings": {
                        "origin_airport": false,
                        "destination_airport": false
                    }
                }
            }
        ],
        "pricing": {
            "total": {
                "currency": "USD",
                "amount": 1969.2,
                "units": 1969,
                "nanos": 200000000,
                "formatted": "1,969.20"
            },
            "breakdown": {
                "base_fare": {
                    "currency": "USD",
                    "amount": 1691.16,
                    "units": 1691,
                    "nanos": 160000000,
                    "formatted": "1,691.16"
                },
                "taxes": {
                    "currency": "USD",
                    "amount": 278.04,
                    "units": 278,
                    "nanos": 40000000,
                    "formatted": "278.04"
                },
                "fees": {
                    "currency": "USD",
                    "amount": 0,
                    "units": 0,
                    "nanos": 0,
                    "formatted": "0.00"
                },
                "discount": {
                    "currency": "USD",
                    "amount": 0,
                    "units": 0,
                    "nanos": 0,
                    "formatted": "0.00"
                }
            },
            "display": {
                "total_rounded": {
                    "currency": "USD",
                    "amount": 1970,
                    "units": 1970,
                    "nanos": 0,
                    "formatted": "1,970.00"
                },
                "total_without_discount": {
                    "currency": "USD",
                    "amount": 1969.2,
                    "units": 1969,
                    "nanos": 200000000,
                    "formatted": "1,969.20"
                },
                "total_without_discount_rounded": {
                    "currency": "USD",
                    "amount": 1970,
                    "units": 1970,
                    "nanos": 0,
                    "formatted": "1,970.00"
                },
                "show_strikethrough": false
            }
        },
        "traveller_prices": [
            {
                "traveller_reference": "1",
                "traveller_type": "ADULT",
                "price_breakdown": {
                    "total": {
                        "amount": 656.4,
                        "currency": "USD"
                    }
                }
            },
            {
                "traveller_reference": "2",
                "traveller_type": "KID",
                "price_breakdown": {
                    "total": {
                        "amount": 656.4,
                        "currency": "USD"
                    }
                }
            },
            {
                "traveller_reference": "3",
                "traveller_type": "KID",
                "price_breakdown": {
                    "total": {
                        "amount": 656.4,
                        "currency": "USD"
                    }
                }
            }
        ],
        "travellers": [
            {
                "travellerReference": "1",
                "type": "ADULT"
            },
            {
                "travellerReference": "2",
                "type": "KID",
                "age": 4
            },
            {
                "travellerReference": "3",
                "type": "KID",
                "age": 2
            }
        ],
        "included_products": {
            "all_segments_identical": true,
            "segments": [
                [
                    {
                        "luggageType": "PERSONAL_ITEM",
                        "maxPiece": 3,
                        "piecePerPax": 1
                    },
                    {
                        "luggageType": "HAND",
                        "maxPiece": 1,
                        "sizeRestrictions": {
                            "maxLength": 23.6,
                            "maxWidth": 15.8,
                            "maxHeight": 9.8,
                            "sizeUnit": "INCH"
                        },
                        "piecePerPax": 1
                    },
                    {
                        "luggageType": "HAND",
                        "maxPiece": 2,
                        "sizeRestrictions": {
                            "sizeUnit": "INCH"
                        },
                        "piecePerPax": 1
                    }
                ]
            ]
        },
        "baggage_policies": [
            {
                "airline_code": "WN",
                "airline_name": "Southwest Airlines",
                "policy_url": "https://www.southwest.com/html/customer-service/baggage/index.html?clk=GFOOTER-CUSTOMER-BAGS"
            }
        ],
        "branded_fare": {
            "name": "Choice",
            "cabin_class": "ECONOMY",
            "features_by_category": {
                "BAGGAGE": [
                    {
                        "name": "PERSONAL_BAGGAGE",
                        "label": "3 personal items",
                        "code": "BK03",
                        "availability": "INCLUDED",
                        "priority": 0,
                        "category_info": {
                            "groupingKey": "BAGGAGE",
                            "heading": "Baggage",
                            "priority": 1
                        }
                    },
                    {
                        "name": "CABIN_BAGGAGE",
                        "label": "1 carry-on bag",
                        "code": "BK02",
                        "availability": "INCLUDED",
                        "priority": 2,
                        "category_info": {
                            "groupingKey": "BAGGAGE",
                            "heading": "Baggage",
                            "priority": 1
                        }
                    },
                    {
                        "name": "CABIN_BAGGAGE",
                        "label": "2 carry-on bags",
                        "code": "BK02",
                        "availability": "INCLUDED",
                        "priority": 2,
                        "category_info": {
                            "groupingKey": "BAGGAGE",
                            "heading": "Baggage",
                            "priority": 1
                        }
                    }
                ],
                "CANCEL": [
                    {
                        "name": "REFUND_WITH_TRANSFERABLE_CREDIT_12_MONTHS",
                        "label": "Refund as transferable airline credit if you cancel – valid for 12 months",
                        "code": "",
                        "availability": "INCLUDED",
                        "priority": 32,
                        "category_info": {
                            "groupingKey": "FLEXIBILITY",
                            "heading": "Flexibility",
                            "priority": 2
                        }
                    }
                ],
                "CHANGE": [
                    {
                        "name": "CHANGEABLE_TICKET",
                        "label": "Flight change allowed",
                        "code": "08R",
                        "availability": "INCLUDED",
                        "priority": 9,
                        "category_info": {
                            "groupingKey": "FLEXIBILITY",
                            "heading": "Flexibility",
                            "priority": 2
                        }
                    }
                ]
            },
            "baggage_exclusions": {
                "checkin": true,
                "cabin": false
            }
        },
        "requirements": {
            "traveller_data": [
                "DATE_OF_BIRTH"
            ],
            "booker_data": [
                "EMAIL",
                "PHONE"
            ]
        },
        "point_of_sale_info": {
            "detected_point_of_sale": "us",
            "is_mismatch": false,
            "offer_sales_country": "us"
        },
        "summary": {
            "total_segments": 2,
            "total_legs": 4,
            "total_duration_minutes": 520,
            "airlines": [
                {
                    "code": "WN",
                    "name": "Southwest Airlines",
                    "logo": "https://r-xx.bstatic.com/data/airlines_logo/WN.png"
                }
            ],
            "airports": [
                "CVG",
                "MDW",
                "OKC"
            ]
        }
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (404, Not Found):


{
    "success": false,
    "message": "Resource Not Found"
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/booking/flights/details

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
token required string

Unique flight token from search results. The search field offer_token is this value.

offer_token optional string

optional Same value as token.

include_branded_fares optional boolean

optional Include branded fare offers (default: true).

skip_branded_fares optional integer

optional Skip branded fares (0=include, 1=skip). Example: 1

language optional string

optional Language code (default: en-us). Example: en-us

Cars

Car rental search, booking, and management capabilities.

requires authentication

Search for car rentals based on location, dates, and filters.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/booking/cars/search'
params = {
  'pick_up_location': 'CVG',
  'drop_off_location': 'CVG',
  'pick_up_date': '2027-01-29T10:00:00',
  'drop_off_date': '2027-02-01T10:00:00',
  'drivers_age': '30',
  'location_type': 'IATA',
  'car_category': 'suvs',
  'price_bucket': 'BUCKET_2',
  'mileage': 'UNLIMITED',
  'language': 'us',
  'affiliate_code': 'booking-cars',
  'include_extras': '1',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/booking/cars/search';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'pick_up_location' => 'CVG',
            'drop_off_location' => 'CVG',
            'pick_up_date' => '2027-01-29T10:00:00',
            'drop_off_date' => '2027-02-01T10:00:00',
            'drivers_age' => '30',
            'location_type' => 'IATA',
            'car_category' => 'suvs',
            'price_bucket' => 'BUCKET_2',
            'mileage' => 'UNLIMITED',
            'language' => 'us',
            'affiliate_code' => 'booking-cars',
            'include_extras' => '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/booking/cars/search"
);

const params = {
    "pick_up_location": "CVG",
    "drop_off_location": "CVG",
    "pick_up_date": "2027-01-29T10:00:00",
    "drop_off_date": "2027-02-01T10:00:00",
    "drivers_age": "30",
    "location_type": "IATA",
    "car_category": "suvs",
    "price_bucket": "BUCKET_2",
    "mileage": "UNLIMITED",
    "language": "us",
    "affiliate_code": "booking-cars",
    "include_extras": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/booking/cars/search?pick_up_location=CVG&drop_off_location=CVG&pick_up_date=2027-01-29T10%3A00%3A00&drop_off_date=2027-02-01T10%3A00%3A00&drivers_age=30&location_type=IATA&car_category=suvs&price_bucket=BUCKET_2&mileage=UNLIMITED&language=us&affiliate_code=booking-cars&include_extras=1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "search_criteria": {
            "pick_up": {
                "location": "CVG",
                "type": "IATA",
                "date": "2026-10-20T10:00:00"
            },
            "drop_off": {
                "location": "CVG",
                "type": "IATA",
                "date": "2026-10-23T10:00:00"
            },
            "drivers_age": "30"
        },
        "filters_applied": [],
        "total_cars": 341,
        "price_range": {
            "min": 273.22,
            "max": 1560.24,
            "currency": "USD"
        },
        "search_key": "eyJkcml2ZXJzQWdlIjozMCwiZHJvcE9mZkRhdGVUaW1lIjoiMjAyNi0xMC0yM1QxMDowMDowMCIsImRyb3BPZmZMb2NhdGlvbiI6IkNWRyIsImRyb3BPZmZMb2NhdGlvblR5cGUiOiJJQVRBIiwicGlja1VwRGF0ZVRpbWUiOiIyMDI2LTEwLTIwVDEwOjAwOjAwIiwicGlja1VwTG9jYXRpb24iOiJDVkciLCJwaWNrVXBMb2NhdGlvblR5cGUiOiJJQVRBIiwicmVudGFsRHVyYXRpb25JbkRheXMiOjMsInNlYXJjaE1ldGFkYXRhIjoie1wicGlja1VwTG9jYXRpb25OYW1lXCI6XCJDVkdcIixcImRyb3BPZmZMb2NhdGlvbk5hbWVcIjpcIkNWR1wifSIsInNlcnZpY2VGZWF0dXJlcyI6WyJJTkNMVURFX05VTUJFUl9PRl9TVUlUQ0FTRVMiLCJSRVRVUk5fRVhUUkFTX1dJVEhfUFJJQ0lOR19JTl9NVUxUSV9DQVJfUkVTUE9OU0UiLCJBUFBMRV9DQVJEX0VOQUJMRUQiXSwic2lnbmF0dXJlIjoiR0t4ZnZUNkdBVzNqMFdiamRUN0Q2R0grWGd6V3A5WlVPL3pPS2RqcExaWT0ifQ==",
        "language": "us",
        "affiliate_code": "booking-cars",
        "timestamp": 1791669046
    },
    "body": {
        "cars": [
            {
                "id": "824119931",
                "supplier": {
                    "id": "428",
                    "name": "Sixt",
                    "rating": 10,
                    "reviews_count": 47,
                    "logo_url": "https://cdn2.rcstatic.com/sp/images/suppliers/428_logo_200.png"
                },
                "vehicle": {
                    "name": "Volkswagen Taos",
                    "category": "suvs",
                    "type": "CFARB",
                    "transmission": "AUTOMATIC",
                    "air_conditioning": true,
                    "fuel_policy": "N/A",
                    "seats": "5",
                    "doors": "4",
                    "bags": {
                        "large": 1,
                        "small": 1
                    }
                },
                "price": {
                    "total": 275.61,
                    "currency": "USD",
                    "per_day": 91.87,
                    "taxes_included": true,
                    "deposit_required": false,
                    "deposit_amount": 0
                },
                "location": {
                    "pick_up": "Cincinnati/Northern Kentucky International Airport",
                    "drop_off": "Cincinnati/Northern Kentucky International Airport",
                    "distance": null,
                    "pick_up_address": "3057 Terminal Drive, Hebron, US, 41048-7583",
                    "drop_off_address": "3057 Terminal Drive, Hebron, US, 41048-7583"
                },
                "features": {
                    "unlimited_mileage": true,
                    "free_cancellation": true,
                    "pay_at_location": true
                },
                "extras": [
                    {
                        "name": "MILEAGE",
                        "amount": null,
                        "currency": "USD",
                        "included": false,
                        "unlimited": true
                    }
                ],
                "images": [
                    "https://cdn2.rcstatic.com/images/car_images/new_images/volkswagen/taos_lrg.jpg"
                ],
                "deep_link": "https://cars.booking.com/package/deal/eyJkcml2ZXJzQWdlIjozMCwiZHJvcE9mZkRhdGVUaW1lIjoiMjAyNi0xMC0yM1QxMDowMDowMCIsImRyb3BPZmZMb2NhdGlvbiI6IkNWRyIsImRyb3BPZmZMb2NhdGlvblR5cGUiOiJJQVRBIiwicGlja1VwRGF0ZVRpbWUiOiIyMDI2LTEwLTIwVDEwOjAwOjAwIiwicGlja1VwTG9jYXRpb24iOiJDVkciLCJwaWNrVXBMb2NhdGlvblR5cGUiOiJJQVRBIiwicmVudGFsRHVyYXRpb25JbkRheXMiOjMsInNlYXJjaE1ldGFkYXRhIjoie1wicGlja1VwTG9jYXRpb25OYW1lXCI6XCJDVkdcIixcImRyb3BPZmZMb2NhdGlvbk5hbWVcIjpcIkNWR1wifSIsInNlcnZpY2VGZWF0dXJlcyI6WyJJTkNMVURFX05VTUJFUl9PRl9TVUlUQ0FTRVMiLCJSRVRVUk5fRVhUUkFTX1dJVEhfUFJJQ0lOR19JTl9NVUxUSV9DQVJfUkVTUE9OU0UiLCJBUFBMRV9DQVJEX0VOQUJMRUQiXSwic2lnbmF0dXJlIjoiR0t4ZnZUNkdBVzNqMFdiamRUN0Q2R0grWGd6V3A5WlVPL3pPS2RqcExaWT0ifQ==/824119931"
            }
        ],
        "total_cars": 341,
        "price_range": {
            "min": 273.22,
            "max": 1560.24,
            "currency": "USD"
        },
        "categories_available": [
            "suvs",
            "economy",
            "pickups",
            "standard",
            "special",
            "compact",
            "full_size",
            "intermediate",
            "carriers_8",
            "carriers_7",
            "premium",
            "carriers_6",
            "carriers_12",
            "luxury"
        ],
        "suppliers_available": [
            {
                "name": "Sixt",
                "rating": 10,
                "car_count": 42
            },
            {
                "name": "Payless",
                "rating": 8.7,
                "car_count": 24
            },
            {
                "name": "Dollar",
                "rating": 5.6,
                "car_count": 33
            }
        ],
        "search_key": "eyJkcml2ZXJzQWdlIjozMCwiZHJvcE9mZkRhdGVUaW1lIjoiMjAyNi0xMC0yM1QxMDowMDowMCIsImRyb3BPZmZMb2NhdGlvbiI6IkNWRyIsImRyb3BPZmZMb2NhdGlvblR5cGUiOiJJQVRBIiwicGlja1VwRGF0ZVRpbWUiOiIyMDI2LTEwLTIwVDEwOjAwOjAwIiwicGlja1VwTG9jYXRpb24iOiJDVkciLCJwaWNrVXBMb2NhdGlvblR5cGUiOiJJQVRBIiwicmVudGFsRHVyYXRpb25JbkRheXMiOjMsInNlYXJjaE1ldGFkYXRhIjoie1wicGlja1VwTG9jYXRpb25OYW1lXCI6XCJDVkdcIixcImRyb3BPZmZMb2NhdGlvbk5hbWVcIjpcIkNWR1wifSIsInNlcnZpY2VGZWF0dXJlcyI6WyJJTkNMVURFX05VTUJFUl9PRl9TVUlUQ0FTRVMiLCJSRVRVUk5fRVhUUkFTX1dJVEhfUFJJQ0lOR19JTl9NVUxUSV9DQVJfUkVTUE9OU0UiLCJBUFBMRV9DQVJEX0VOQUJMRUQiXSwic2lnbmF0dXJlIjoiR0t4ZnZUNkdBVzNqMFdiamRUN0Q2R0grWGd6V3A5WlVPL3pPS2RqcExaWT0ifQ=="
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (404, Not Found):


{
    "success": false,
    "message": "Resource Not Found"
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Example response (503, Upstream unavailable):


{
    "success": false,
    "message": "Car search is temporarily unavailable. Please try again."
}
 

GET /v1/cars/details

requires authentication

Price breakdown, pickup depot, and similar cars for one search result.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/booking/cars/details'
params = {
  'vehicle_id': '',
  'search_key': '',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/booking/cars/details';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'vehicle_id' => '',
            'search_key' => '',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/booking/cars/details"
);

const params = {
    "vehicle_id": "",
    "search_key": "",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/booking/cars/details?vehicle_id=&search_key=" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "vehicle_id": "824119931",
        "timestamp": 1791669237
    },
    "body": {
        "id": "824119931",
        "supplier": {
            "id": "428",
            "name": "Sixt",
            "logo_url": "https://cdn2.rcstatic.com/sp/images/suppliers/428_logo_200.png"
        },
        "pick_up": {
            "id": "4595299",
            "name": "Cincinnati/Northern Kentucky International Airport",
            "address": "3057 Terminal Drive, Hebron, US, 41048-7583",
            "latitude": 39.055722,
            "longitude": -84.656199,
            "hours": [
                {
                    "dayRange": "Mon - Sun",
                    "timeRange": "00:00 - 23:59"
                }
            ],
            "instructions": "Our counter is located on the first floor and is accessible by walking from baggage claim. Follow Terminal signage to Ground Transport West to the Rental Car Center inside the Terminal. Once inside, you will find the SIXT counter on your right."
        },
        "drop_off": {
            "id": "4595299",
            "name": "Cincinnati/Northern Kentucky International Airport",
            "address": "3057 Terminal Drive, Hebron, US, 41048-7583",
            "latitude": 39.055722,
            "longitude": -84.656199,
            "hours": [
                {
                    "dayRange": "Mon - Sun",
                    "timeRange": "00:00 - 23:59"
                }
            ],
            "instructions": "Travel to Cincinnati International Airport and follow the signs for Cell Phone Lot/Hotel/Car Rental Return. Follow the signs to the Car Rental Returns garage and proceed to the fourth floor. Enter the SIXT vehicle return entrance and pull forward to the front of the Car Return lanes and our Customer Service Agent will be happy to assist you with your check in. If a Customer Service Agent is not available, please place the key in the SIXT key return drop box. A receipt will be e-mailed to you within 24 hours of you returning your vehicle"
        },
        "price": {
            "total": "$275.61",
            "label": "Total",
            "pay_at_desk": 275.61,
            "currency": "USD"
        },
        "sections": [
            {
                "title": "Pay at pick-up",
                "total": null,
                "items": [
                    {
                        "label": "Car rental charge",
                        "price": "$201.18"
                    },
                    {
                        "label": "Taxes and charges",
                        "price": "$74.43"
                    }
                ]
            }
        ],
        "alternatives": [
            {
                "id": "824119931",
                "title": "SUV",
                "subtitle": "Volkswagen Taos or similar",
                "supplier": "Sixt",
                "price": "$275.61",
                "image": "https://cdn2.rcstatic.com/images/car_images_b/new_images/volkswagen/taos_lrg.jpg"
            },
            {
                "id": "824136521",
                "title": "SUV",
                "subtitle": "Toyota RAV4   or similar",
                "supplier": "Sixt",
                "price": "$313.16",
                "image": "https://cdn2.rcstatic.com/images/car_images_b/web/toyota/rav4_lrg.jpg"
            },
            {
                "id": "824126531",
                "title": "SUV",
                "subtitle": "Chevrolet  Blazer or similar",
                "supplier": "Sixt",
                "price": "$349.54",
                "image": "https://cdn2.rcstatic.com/images/car_images_b/new_images/chevrolet/blazer_premier_lrg.jpg"
            }
        ],
        "deep_link": "https://cars.booking.com/package/deal/eyJkcml2ZXJzQWdlIjozMCwiZHJvcE9mZkRhdGVUaW1lIjoiMjAyNi0xMC0yM1QxMDowMDowMCIsImRyb3BPZmZMb2NhdGlvbiI6IkNWRyIsImRyb3BPZmZMb2NhdGlvblR5cGUiOiJJQVRBIiwicGlja1VwRGF0ZVRpbWUiOiIyMDI2LTEwLTIwVDEwOjAwOjAwIiwicGlja1VwTG9jYXRpb24iOiJDVkciLCJwaWNrVXBMb2NhdGlvblR5cGUiOiJJQVRBIiwicmVudGFsRHVyYXRpb25JbkRheXMiOjMsInNlYXJjaE1ldGFkYXRhIjoie1wicGlja1VwTG9jYXRpb25OYW1lXCI6XCJDVkdcIixcImRyb3BPZmZMb2NhdGlvbk5hbWVcIjpcIkNWR1wifSIsInNlcnZpY2VGZWF0dXJlcyI6WyJJTkNMVURFX05VTUJFUl9PRl9TVUlUQ0FTRVMiLCJSRVRVUk5fRVhUUkFTX1dJVEhfUFJJQ0lOR19JTl9NVUxUSV9DQVJfUkVTUE9OU0UiLCJBUFBMRV9DQVJEX0VOQUJMRUQiXSwic2lnbmF0dXJlIjoiR0t4ZnZUNkdBVzNqMFdiamRUN0Q2R0grWGd6V3A5WlVPL3pPS2RqcExaWT0ifQ==/824119931"
    }
}
 

Example response (503, Expired or unavailable):


{
    "success": false,
    "message": "Car details unavailable. The search_key may have expired; run cars/search again."
}
 

Request      

GET v1/booking/cars/details

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
vehicle_id required string

Vehicle id from car search.

search_key required string

search_key returned by car search.

Metadata & Utility

Search and autocomplete destinations, cities, and locations with fast, real-time results.

GET /v1/languages

requires authentication

Get all supported languages with their codes and country flags.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/booking/languages'
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/booking/languages';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/booking/languages"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/booking/languages" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
      "version": "v1.0",
      "status": 200,
      "copywrite": "https://steadyapi.com",
      "timestamp": 1769394978,
      "total_languages": 45
    },
    "body": [
      {
        "name": "English (UK)",
        "code": "en-gb",
        "country_flag": "gb"
      },
      {
        "name": "English (US)",
        "code": "en-us",
        "country_flag": "us"
      },
      { ... }
    ]
  }
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (404, Not Found):


{
    "success": false,
    "message": "Resource Not Found"
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/booking/languages

Headers

Authorization Bearer {YOUR_AUTH_KEY}

GET /v1/currencies

requires authentication

Get all supported currencies with their codes and symbols.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/booking/currencies'
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/booking/currencies';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/booking/currencies"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/booking/currencies" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
      "version": "v1.0",
      "status": 200,
      "copywrite": "https://steadyapi.com",
      "timestamp": 1769400274,
      "total_currencies": 52
    },
    "body": [
      {
        "name": "Argentine Peso",
        "code": "ARS",
        "encoded_symbol": "AR$",
        "symbol": "AR$"
      },
      {
        "name": "Australian Dollar",
        "code": "AUD",
        "encoded_symbol": "AUD",
        "symbol": "AUD"
      },
      { ... }
    ]
  }
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (404, Not Found):


{
    "success": false,
    "message": "Resource Not Found"
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/booking/currencies

Headers

Authorization Bearer {YOUR_AUTH_KEY}

GET /v1/location

requires authentication

Get location suggestions based on search term (airports, cities, districts, landmarks).

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/booking/locations'
params = {
  'search': 'Cincinnati',
  'language': 'us',
  'country': 'us',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/booking/locations';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'search' => 'Cincinnati',
            'language' => 'us',
            'country' => 'us',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/booking/locations"
);

const params = {
    "search": "Cincinnati",
    "language": "us",
    "country": "us",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/booking/locations?search=Cincinnati&language=us&country=us" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
      "version": "v1.0",
      "status": 200,
      "copywrite": "https://steadyapi.com",
      "query": "cincinnati",
      "language": "us",
      "country": "us",
      "affiliate_code": "booking-cars",
      "total_results": 5,
      "timestamp": 1769397368
    },
    "body": [
      {
        "name": "Cincinnati/Northern Kentucky International Airport",
        "type": "airport",
        "type_code": "A",
        "country": {
          "code": "us",
          "name": "United States"
        },
        "region": "Ohio",
        "city": "Cincinnati",
        "coordinates": {
          "latitude": 39.0449981689453,
          "longitude": -84.6600036621094
        },
        "airport_code": "CVG"
      },
      { ... }
    ]
  }
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/booking/locations

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
search required string

Search term for location. Example: Cincinnati

language optional string

optional Language code (default: us). Example: us

country optional string

optional Country code for results. Example: us