Search - use cases
See how to use the Demand API Cars collection to search for car rentals by airport, city, or coordinates, and how to filter or sort results by attributes such as transmission type, depot location, or payment timing.
Search request examples
The /cars/search endpoint retrieves available car rental products that match the traveller’s search criteria.
You can specify the pick-up and drop-off points by airport, city ID, or coordinates, and refine results using filters such as transmission type, air conditioning, number of seats, or supplier ID.
Search by airport
Use this request to find available cars for a specific airport, where both pick-up and drop-off happen at the same location.
{
"booker": {
"country": "nl"
},
"currency": "EUR",
"driver": {
"age": 36
},
"route": {
"pickup": {
"datetime": "2025-11-05T11:05:00",
"location": {
"airport": "AMS"
}
},
"dropoff": {
"datetime": "2025-11-10T11:05:00",
"location": {
"airport": "AMS"
}
}
}
}
Search by coordinates
A traveller looking for a car rental in Amsterdam, close to the Amsterdam Central Station.
For this case, use coordinates as the destination.
- Call /common/locations/landmarks with Amsterdam's id (
-2140479) to obtain the list of key landmarks in Amsterdam and coordinates. - Copy the
latitudeandlongitudeof Amsterdam Central Station. - Set the returned coordinates.
- Sort the results by
distance, to prioritise car rentals closest to the station.
{
"booker": {
"country": "nl"
},
"currency": "EUR",
"driver": {
"age": 36
},
"route": {
"pickup": {
"datetime": "2025-11-05T11:05:00",
"location": {
"coordinates": {
"latitude": 52.309456,
"longitude": 4.762266
}
}
},
"dropoff": {
"datetime": "2025-11-10T11:05:00",
"location": {
"coordinates": {
"latitude": 52.309456,
"longitude": 4.762266
}
}
},
"sort": {
"by": "distance"
}
}Search by city ID with sorting and filters
You can refine your search using filters such as transmission type, mileage type, or depot location type, and sort the results by price, distance, or review score.
{
"booker": {
"country": "nl"
},
"currency": "EUR",
"driver": {
"age": 36
},
"filters": {
"transmission_type": "automatic",
"mileage_type": "limited",
"depot_location_type": "in_terminal"
},
"route": {
"pickup": {
"datetime": "2025-11-05T11:05:00",
"location": {
"city": -2140479
}
},
"dropoff": {
"datetime": "2025-11-10T11:05:00",
"location": {
"city": -2140479
}
}
},
"sort": {
"by": "price",
"direction": "descending"
}
}
Filter by payment timing
Use this filter to show only cars available under a specific payment timing, such as pay now, partial pay, or pay at depot.
{
"booker": {
"country": "nl"
},
"currency": "EUR",
"driver": {
"age": 36
},
"route": {
"pickup": {
"datetime": "2025-11-05T11:05:00",
"location": {
"city": -2140479
}
},
"dropoff": {
"datetime": "2025-11-10T11:05:00",
"location": {
"city": -2140479
}
}
},
"payment": {
"timings": ["pay_now"]
}
}Filter by depot location type
Restrict search results to car rental depots of a specific type, such as in-terminal, car rental centre, or downtown (city centre).
{
"booker": {
"country": "nl"
},
"currency": "EUR",
"driver": {
"age": 36
},
"route": {
"pickup": {
"datetime": "2025-11-05T11:05:00",
"location": {
"city": -2140479
}
},
"dropoff": {
"datetime": "2025-11-10T11:05:00",
"location": {
"city": -2140479
}
}
},
"filters": {
"depot_location_type": "downtown"
}
}Combine multiple filters
You can combine several filters in one request to narrow down the results, for example by number of seats, air conditioning, and depot location type.
{
"booker": {
"country": "nl"
},
"currency": "EUR",
"driver": {
"age": 36
},
"route": {
"pickup": {
"datetime": "2025-11-01T10:00:00",
"location": {
"city": -2140479
}
},
"dropoff": {
"datetime": "2025-11-12T10:00:00",
"location": {
"city": -2140479
}
}
},
"filters": {
"depot_location_type": "car_rental_centre",
"number_of_seats": 7,
"air_conditioning": true
}
}
- Retrieve car details.
- See the Filtering and sorting guide for details and best practices.
- Explore the Pagination guide for instructions on handling large datasets.