The quickest way to search: describe the trip in plain words and get bookable trips back in one call.
travelType, one of:
- ski: ski and snowboard holidays
- golf: golf holidays
- surf: surf camps and holidays
- diving: diving holidays
- hiking: hiking and walking holidays
- charter: package holidays: sun and beach trips with flight and hotel
- cycling: cycling holidays
- football: football trips: a match ticket with travel and hotel
- carrental: car rental
- f1: Formula 1 race trips
- running: running races abroad, marathons, running camps and trail tours
- americanfootball: NFL game trips
- yoga: yoga retreats
- triathlon: triathlon races and training camps
- cruise: cruises
- coach: coach (bus) tours
- holidayhome: holiday homes and cottages
- roundtrip: round trips and guided tours through several places
- citybreak: city breaks
- dance: dance holidays
- wellness: wellness, spa and retreat stays
- safari: safaris
- culture: culture trips: art, music, opera, history and theatre
- sportsevent: trips to sports events other than football, F1 and NFL
- camping: camping holidays: tents, mobile homes and campsite cabins
- hunting: hunting trips
- culinary: food and wine trips
- fishing: fishing trips
- language: language courses abroad
- racket: padel and tennis trips
- motorcycle: motorcycle tours
- riding: horse riding holidays
- birding: birdwatching trips
- sailing: sailing holidays
- concert: coach trips to concerts
- umrah: Umrah and Hajj packages
places: destinations, ski areas, regions or countries in plain words, English or Danish ("Ischgl", "Østrig", "Costa del Sol"). Leave it out for anywhere.
When: startFrom/startTo (the window the trip starts in) or months. Party: adults and children, since prices depend on them. Optional: durationDays, maxPricePerPerson, sort (best, cheapest, soonest), limit.
Response: { understood, ...{ total, accommodationCount, offset, results: [{ name, country, destination, stars, guestRating, tripsAvailable, trips: [{ start, end, durationDays, adults, children, price, pricePerPerson, currency, priceConfirmedHoursAgo, priceBeforeDiscount, transport, meals, unit, seller, bookingUrl }] }] } }
- understood says how the request was read: the places searched, placesNotFound and placesAmbiguous. When a place was not found or is ambiguous, tell the user instead of presenting other trips as theirs.
- price is the whole party's price; pricePerPerson divides it. Quote them as given, in currency — never convert or round them into a different claim.
- priceConfirmedHoursAgo is how many hours ago the seller's own site last showed this price. Under 24: present the price as current. Older: say when it was last confirmed ("3 days ago") and that it may have changed since, the more likely the older it is. null: the age is unknown, so say the price may have changed. The seller's site, through bookingUrl, always shows the price that applies.
- trips holds the first few dates in sort order; tripsAvailable says how many more exist. Page with offset (it counts accommodations).
- seller is the travel agency that sells the trip. bookingUrl opens that trip on the seller's site — give it to the user as the way to book. It is null when the seller can only be compared, not booked, through Kompare.
- start/end are the trip's own first and last day.
When nothing matches, the response holds alternatives (counts with one filter removed) to suggest what to relax. When no place matched at all, it holds a message and nothing was searched.
For a filter this tool lacks (meal plan, stars, transport, ski pass, distance to the lift, ...) use search_listings.