Com APIkayak.com.hk ↗
Search KAYAK.com.hk flight results via 3 endpoints. Get HKD fares, schedules, stop info, booking links, and monthly price calendars for any route.
What is the Com API?
The KAYAK Hong Kong API provides 3 endpoints for querying flight prices, schedules, and fare calendars with results priced in HKD. The search_flights endpoint handles single-route one-way searches by IATA code and date, returning airline names, departure and arrival times, stop counts, and booking links. Two additional endpoints cover multi-origin flexible-date searches across Japanese airports and a day-by-day price calendar for any origin-destination pair.
curl -X GET 'https://api.parse.bot/scraper/b2498c0a-fe38-461b-a89a-4dedd037a506/search_flights?date=2026-08-10&cabin=Economy&limit=5&origin=HND&destination=YVR' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace kayak-com-hk-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: KayakHK SDK — flight search from kayak.com.hk via Agoda."""
from parse_apis.kayak_com_hk_flight_search_api import KayakHK, CabinClass, InvalidInput
kayak = KayakHK()
# Search one-way economy flights from Tokyo Haneda to Vancouver
for flight in kayak.flights.search(origin="HND", destination="YVR", date="2026-08-01", cabin=CabinClass.ECONOMY, limit=3):
print(flight.airline, flight.price, flight.currency, flight.departure_time, flight.duration, flight.stops)
# Take the first result and inspect its details
cheapest = kayak.flights.search(origin="NRT", destination="SFO", date="2026-08-10", limit=1).first()
if cheapest:
print(cheapest.origin, cheapest.destination, cheapest.airline, cheapest.flight_number)
print(cheapest.departure_date, cheapest.arrival_date, cheapest.stop_locations)
# Multi-origin search: compare cheapest flights from HND/NRT/KIX
for flight in kayak.flights.search_multi_origin(destination="LHR", date="2026-09-01", flex_days=1, limit=5):
print(flight.origin, flight.airline, flight.price, flight.departure_date, flight.booking_link)
# Typed error handling
try:
result = kayak.flights.search(origin="HND", destination="YVR", date="not-a-date", limit=1).first()
except InvalidInput as exc:
print(f"Invalid input: {exc}")
print("exercised: flights.search / flights.search_multi_origin / InvalidInput catch")
Search for one-way flights between two airports. Returns flight options with pricing in HKD, schedules, stop information, and booking links. Results are sorted by best match. Each request searches a single origin-destination pair on a specific date.
| Param | Type | Description |
|---|---|---|
| daterequired | string | Departure date in YYYY-MM-DD format. |
| cabin | string | Cabin class. |
| limit | integer | Maximum number of flight results to return. |
| originrequired | string | Origin airport IATA code (e.g. HND, NRT, LAX, JFK). |
| destinationrequired | string | Destination airport IATA code (e.g. YVR, SFO, LHR). |
{
"type": "object",
"fields": {
"flights": "array of flight objects containing origin, destination, airline, price, currency, departure_time, arrival_time, departure_date, arrival_date, duration, stops, stop_locations, cabin_class, flight_number, booking_link"
},
"sample": {
"data": {
"flights": [
{
"price": "7,045",
"stops": 1,
"origin": "HND",
"airline": "Cathay Pacific",
"currency": "HKD",
"duration": "23h 0m",
"cabin_class": "Economy",
"destination": "YVR",
"arrival_date": "2026-07-15T21:50",
"arrival_time": "21:50",
"booking_link": "https://www.agoda.com/en-us/packages/book?cid=1930882&pk=example",
"flight_number": "527",
"departure_date": "2026-07-15T14:50",
"departure_time": "14:50",
"stop_locations": [
"Hong Kong"
]
}
]
},
"status": "success"
}
}About the Com API
Endpoints and Core Data
The API exposes three endpoints. search_flights accepts a required origin and destination (IATA codes), a date in YYYY-MM-DD format, an optional cabin class, and an optional limit on the number of results. Each item in the returned flights array includes airline, price, currency (HKD), departure_time, arrival_time, departure_date, origin, destination, and stop information. Results are ordered by best match.
search_flights_multi_origin is a fixed-origin variant that searches from all three major Japanese airports — HND, NRT, and KIX — simultaneously. It accepts an optional destination, an optional target date, and flex_days to expand the search window by ±N days. The response returns the top 5 cheapest flights per origin, making it practical for comparing departure-airport cost differences within a single call.
Price Calendar
get_price_calendar returns a monthly fare grid for a given route. The calendar object maps dates to the lowest available fare and a color indicator (typically used to signal relative price level). Required inputs are origin and destination IATA codes. This endpoint does not require a specific date — it returns the full month of data. The success boolean in the response signals whether fare data was available for the requested route.
Coverage Notes
All prices are denominated in HKD, reflecting the KAYAK Hong Kong regional site. The multi-origin endpoint is scoped to Japanese departure airports; other regions require the standard search_flights endpoint called per origin. Searches are one-way only; round-trip itineraries are not directly composed by a single endpoint call.
The Com API is a managed, monitored endpoint for kayak.com.hk — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when kayak.com.hk changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official kayak.com.hk API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Find the cheapest day to fly a given route by iterating
get_price_calendaracross multiple months - Compare fares from Tokyo-area airports (HND, NRT, KIX) to a single destination using
search_flights_multi_origin - Display live HKD-denominated flight options with booking links in a Hong Kong-facing travel app
- Monitor fare changes on a specific route by polling
search_flightson a schedule and trackingpriceover time - Build a budget-travel alert that triggers when
get_price_calendarshows a price below a threshold for a target date - Populate a flight comparison widget showing airline, stops, departure time, and price for a user-selected route and date
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does KAYAK offer an official developer API?+
What does `get_price_calendar` return, and does it require a specific departure date?+
origin and destination IATA code pair, it returns a calendar object mapping each day of the current month to the lowest available fare and a color indicator representing relative price level. The success field indicates whether fare data was found for the route.Does the multi-origin endpoint support airports outside Japan?+
search_flights_multi_origin is fixed to HND, NRT, and KIX as origin airports. For other regions, you would call search_flights once per origin airport. You can fork this API on Parse and revise it to add support for additional origin sets.Are round-trip searches supported?+
search_flights calls with reversed origin and destination. You can fork the API on Parse and revise it to add a dedicated round-trip endpoint.What stop information is returned in the `search_flights` response?+
flights array includes stop information alongside airline, price, departure_time, arrival_time, and departure_date. The stop data indicates whether a flight is direct or how many connections it involves, but individual layover airport codes and connection durations are not broken out as separate fields in the current response shape.