Last updated

Filtering and sorting car rental search results

Learn how to refine car rental search results using filters and sorting options. Filters help you narrow down available vehicles based on your travellers' preferences, while sorting allows you to control the order of the results.


Filtering car rental results

You can refine the results returned by the /cars/search endpoint using the filters object.

This allows you to return only vehicles that match specific attributes or requirements.

The following filters are supported:

Available filters

Use the table below as a quick reference for all available filters supported by the /cars/search endpoint.

Filter
DescriptionAccepted values
air_conditioningReturns only vehicles with air conditioning when set to true.true or false.
car_categories Filters by one or more vehicle categories.e.g. economy, suv, compact_convertible, luxury_suvs.

supplier_ids

Returns vehicles from specified supplier IDs.

Use /cars/suppliers to retrieve supplier IDs.

Up to 10 integer IDs (e.g. [102, 122])

transmission_typeFilters by transmission type.automatic or manual.
number_of_seatsFilters by specific number of seats.Integer (e.g., 2, 4, 5, 7).
mileage_typeFilters by mileage policy.limited or unlimited.
depot_location_typeFilters vehicles by depot location typein_terminal, car_rental_centre, outside_terminal, airport_hotel, shuttle_bus, meet_greet, trainstation, downtown.

Filter examples

Air conditioning

Use the air_conditioning filter to include or exclude vehicles with air conditioning.

Example request:

"filters": {
  "air_conditioning": true
}

When set to true, only vehicles with air conditioning are returned. If no such vehicles are available, the response is empty.

Car categories

Use the car_categories field to return only vehicles matching one or more specified categories.

Example request:

{
  "booker": {
    "country": "nl"
  },
  "currency": "EUR",
  "driver": {
    "age": 36
  },
  "filters": {
    "car_categories": ["economy", "suv"]
  },
  "route": {
    "dropoff": {
      "datetime": "2025-11-10T11:05:00",
      "location": {
        "airport": "AMS"
      }
    },
    "pickup": {
      "datetime": "2025-11-05T11:05:00",
      "location": {
        "airport": "AMS"
      }
    }
  }
}

If multiple categories are provided, vehicles matching any of those categories will be returned.

Depot location type

Include the depot_location_type filter to return vehicles based on the type of pickup or dropoff depot.

"filters": {
  "depot_location_type": "in_terminal"
}

Accepted values include:

  • in_terminal.
  • car_rental_centre
  • outside_terminal
  • airport_hotel
  • shuttle_bus
  • meet_greet
  • trainstation
  • downtown (city centre)

Mileage type

Use the mileage_type filter to select vehicles with either limited or unlimited mileage.

Example request:

"filters": {
  "mileage_type": "unlimited"
}

Number of seats

Use the number_of_seats filter to return vehicles with a specific seating capacity.

"filters": {
  "number_of_seats": 5
}

Supplier IDs

Use the supplier_ids filter to return only vehicles offered by specific car rental suppliers.

Example request:

"filters": {
  "supplier_ids": [102, 122]
}

You can include up to 10 supplier IDs in a single request. The API will return vehicles from any of the specified suppliers.

Each supplier ID corresponds to a specific car rental provider. In the example request, 102 corresponds to "Europcar" and 122 to Goldcar.

You can retrieve the full list of supplier IDs by sending an empty request to the cars/suppliers endpoint.

Transmission type

You can include the transmission_type filter to return either automatic or manual vehicles.

Example request:

"filters": {
  "transmission_type": "automatic"
}

Filtering by payment timing

You can limit search results based on supported payment timings. For example, you may wish to return only vehicles available with online payments pay_now or part_payor pay-at-pick-up options (pay_local).

Example: Filter for online payment options:

{
    "booker": {
        "country": "us"
    },
    "currency": "USD",
    "driver": {
        "age": 35
    },
    "route": {
        "pickup": {
            "datetime": "2025-07-21T10:00:00",
            "location": {
                "airport": "LAX"
            }
        },
        "dropoff": {
            "datetime": "2025-07-24T10:00:00",
            "location": {
                "airport": "LAX"
            }
        }
    },
    "payment": {
        "timings": ["pay_now", "part_pay"]
    }
}

Refer to Payment timings section for more details about online payments.

Combining filtering

You can apply multiple filters in a single request to refine search results further. Only vehicles that match all specified criteria are returned.

Example: Combined filters:

"filters": {
  "car_categories": ["economy"],
  "supplier_ids": [601,1088],
  "air_conditioning": true,
  "transmission_type": "automatic",
  "number_of_seats": 5,
  "mileage_type": "unlimited",
  "depot_location_type": "downtown"
}

Sorting search results

Use the sort.by parameter to control the order in which results appear. Sorting applies to each page of results independently.

Available sorting options:

  • distance – Closest results first.
  • price – Lowest price first.
  • review_score – Highest rated first.

Example: Sort by price

{
  "booker": {
    "country": "nl"
  },
  "currency": "EUR",
  "driver": {
    "age": 36
  },
  "sort": {
    "by": "price"
  },
  "route": {
    "dropoff": {
      "datetime": "2025-06-05T11:05:00",
      "location": {
        "airport": "AMS"
      }
    },
    "pickup": {
      "datetime": "2025-05-05T16:05:00",
      "location": {
        "airport": "AMS"
      }
    }
  }
}

Best practices

  • Combine filters and sorting to display relevant results tailored to your travellers' needs.
  • Use pagination parameters to navigate large result sets efficiently.
  • Apply payment timing filters if you want to restrict results to vehicles with specific payment options.

Curious to know more?