Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the Car Rental API page →
Travel & Lodging

Car Rental API & Scraper

The Car Rental API aggregates rental offers as clean JSON.

3 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

The primary cars/search endpoint returns offers with the vehicle (name, category, ACRISS code, transmission, seats, bags, fuel) and price, and you can autocomplete a location and pull reviews. It is built for travel apps and rental price monitoring that need aggregated car-rental data without a scraper. One ReefAPI key, one shared credit pool, the standard envelope.

Reference

What the numbers on an offer actually mean

The most expensive mistake with this engine is reading price.amount as a nightly rate. It is not. Every row below was measured on 2026-08-27 from the same pickup point (Madrid Airport) over the same 10-13 October window, changing one parameter at a time so each effect is attributable.

Field or parameterWhat it holdsMeasured
price.amountThe TOTAL for the whole rental, in `currency`Fiat 500, 10-13 Oct = 44.19 EUR. Same car, 10-16 Oct = 65.17 EUR. Six days is not double three days.
price.dailyamount divided by price.rental_days, computed for you44.19 over 3 days = 14.73. On the six-day search the same car is 10.86 a day.
driver_ageChanges the quote, it does not just annotate itAge 35 = 44.19 EUR. Age 20, identical car and dates = 90.52 EUR.
drop_queryOne-way. The drop fee sits inside price.amount, never itemizedMAD to MAD = 44.19 EUR. MAD to Barcelona Airport = 234.19 EUR, and one_way flips to true.
vehicle.acrissFour-letter ACRISS class codeEXAE (Fiat 500), EDAR (Peugeot 208), CDMR (Hyundai i30)
Location idsplace_id + city_id + country_id from cars/autocomplete, not IATA codesMadrid Airport = place_id 1875, city_id 473, country_id 26
max_offersTruncates offers[]. total_available is the real result sizemax_offers 3 returned count 3 with total_available 585
currencyRequotes, it does not just relabelSame Fiat 500: 44.19 EUR, 51.49 USD
deposit.amountA formatted display string with symbol and separators, not a numberA 1,200.00 euro hold, returned as text, alongside deposit.key 'average'
coverage.totalOptional damage cover, priced separately from price.amount26.96 EUR on the 44.19 EUR Fiat 500 offer

offer_id is scoped to one search, not to a car. The Fiat 500 that came back as offer_id ZECZ on one call was HQWE on the next call with identical parameters, and the top-level guid changed with it. Treat supplier.name plus vehicle.acriss plus price.amount as an offer's identity across runs, and follow book_url while the search is still fresh.

Live example

Real request and response JSON

Captured from the indexed primary action, cars/search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/car-rental/v1/cars/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "Madrid Airport",
    "currency": "EUR",
    "pickup_date": "2026-09-01",
    "dropoff_date": "2026-09-04",
    "max_offers": 40
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "car-rental",
    "endpoint": "cars/search",
    "mode": "live",
    "latency_ms": 9657.3,
    "record_count": 40,
    "bytes": 4338436,
    "cache_hit": false,
    "completeness_pct": 100,
    "polls": 2,
    "currency": "EUR",
    "driver_age": "35",
    "residence_country": "US",
    "completeness_basis": {
      "offers": 40,
      "supplier_count": 4,
      "field_slots": 520,
      "field_slots_filled": 520
    }
  },
  "data": {
    "count": 40,
    "supplier_count": 4,
    "currency": "EUR",
    "offers": [
      {
        "offer_id": "24MG",
        "vehicle": {
          "name": "[redacted-name]",
          "category": "Mini",
          "acriss": "MBAE",
          "transmission": "automatic",
          "seats": 4,
          "doors": 3,
          "bags": 1,
          "air_conditioning": true,
          "fuel_type": "Electric",
          "guaranteed_model": false,
          "image": "https://www.discovercars.com/images/car/8625/220.png"
        },
        "price": {
          "amount": 68.76,
          "currency": "EUR",
          "formatted": "€68.76",
          "rental_days": 3,
          "daily": 22.92
        },
        "supplier": {
          "name": "Click&Rent",
          "key": "click-rent",
          "logo": "https://www.discovercars.com/PartnerFiles/1041/logo_140x70.png?v=6918",
          "rating": {
            "score": "[trimmed-depth]",
            "label": "[trimmed-depth]",
            "review_count": "[trimmed-depth]"
          },
          "rating_detailed": {
            "valueForMoney": "[trimmed-depth]",
            "valueForMoneyColor": "[trimmed-depth]",
            "valueForMoneyLabel": "[trimmed-depth]",
            "findPickup": "[trimmed-depth]",
            "findPickupColor": "[trimmed-depth]",
            "findPickupLabel": "[trimmed-depth]",
            "workEfficiency": "[trimmed-depth]",
            "workEfficiencyColor": "[trimmed-depth]",
            "workEfficiencyLabel": "[trimmed-depth]",
            "timeSpentPickingUp": "[trimmed-depth]",
            "timeSpentPickingUpColor": "[trimmed-depth]",
            "timeSpentPickingUpLabel": "[trimmed-depth]",
            "timeSpentDroppingOff": "[trimmed-depth]",
            "timeSpentDroppingOffColor": "[trimmed-depth]",
            "timeSpentDroppingOffLabel": "[trimmed-depth]",
            "carCleanliness": "[trimmed-depth]",
            "carCleanlinessColor": "[trimmed-depth]",
            "carCleanlinessLabel": "[trimmed-depth]",
            "carCondition": "[trimmed-depth]",
            "carConditionColor": "[trimmed-depth]",
            "carConditionLabel": "[trimmed-depth]",
            "avgValue": "[trimmed-depth]",
            "locationReviewCount": "[trimmed-depth]",
            "countryReviewCount": "[trimmed-depth]",
            "worldReviewCount": "[trimmed-depth]"
          },
          "pickup_address": "Hotel Madrid Airport Suites Affiliated By Meliá,  Calle De Lola Flores 20",
          "coords": {
            "key": "[trimmed-depth]",
            "lat": "[trimmed-depth]",
            "lng": "[trimmed-depth]"
          }
        },
        "pickup": {
          "location": "Madrid Airport (MAD)",
          "is_airport": true,
          "type": "Free shuttle service",
          "type_icon": "bus"
        },
        "mileage": {
          "unlimited": false,
          "label": "Limited",
          "unspecified": false,
          "day_limit": "200 km/day included mileage"
        },
        "fuel_policy": "Full to full",
        "payment_type": "Pay now",
        "deposit": {
          "key": "average",
          "title": "Average deposit",
          "amount": "€1,200.00"
        },
        "coverage": {
          "total": 28.49,
          "currency": "EUR"
        },
        "extras": null,
        "free_cancellation": true,
        "instant_confirmation": true,
        "badges": [
          "online_check_in",
          "zero_emission"
        ],
        "book_url": "https://www.discovercars.com/en/offer/699ed965-aec[redacted-phone]a6-68c7145865cd-24MG?sq=eyJQaWNrdXBMb2NhdGlvbklkIjoxODc1LCJEcm9wT2ZmTG9jYXRpb25JZCI6MTg3NSwiUGlja3VwRGF0ZVRpbWUiOiIyMDI2LTA5LTAxVDEwOjAwOjAwIiwiRHJvcE9mZkRhdGVUaW1lIjoiMjAyNi0wOS0wNFQxMDowMDowMCIsIlJlc2lkZW5jZUNvdW50cnkiOiJVUyIsIkRyaXZlckFnZSI6MzUsIkhhc2giOiIzMmFmN2UyM2I3ZDE1OTVlNDI2ZDQ5ZWFlYWJjMzE4ZCJ9"
      },
      {
        "offer_id": "9PTP",
        "vehicle": {
          "name": "[redacted-name]",
          "category": "Mini",
          "acriss": "MCMR",
          "transmission": "manual",
          "seats": 4,
          "doors": 4,
          "bags": 1,
          "air_conditioning": true,
          "fuel_type": null,
          "guaranteed_model": false,
          "image": "https://www.discovercars.com/images/car/7189/220.png"
        },
        "price": {
          "amount": 68.76,
          "currency": "EUR",
          "formatted": "€68.76",
          "rental_days": 3,
          "daily": 22.92
        },
        "supplier": {
          "name": "Click&Rent",
          "key": "click-rent",
          "logo": "https://www.discovercars.com/PartnerFiles/1041/logo_140x70.png?v=6918",
          "rating": {
            "score": "[trimmed-depth]",
            "label": "[trimmed-depth]",
            "review_count": "[trimmed-depth]"
          },
          "rating_detailed": {
            "valueForMoney": "[trimmed-depth]",
            "valueForMoneyColor": "[trimmed-depth]",
            "valueForMoneyLabel": "[trimmed-depth]",
            "findPickup": "[trimmed-depth]",
            "findPickupColor": "[trimmed-depth]",
            "findPickupLabel": "[trimmed-depth]",
            "workEfficiency": "[trimmed-depth]",
            "workEfficiencyColor": "[trimmed-depth]",
            "workEfficiencyLabel": "[trimmed-depth]",
            "timeSpentPickingUp": "[trimmed-depth]",
            "timeSpentPickingUpColor": "[trimmed-depth]",
            "timeSpentPickingUpLabel": "[trimmed-depth]",
            "timeSpentDroppingOff": "[trimmed-depth]",
            "timeSpentDroppingOffColor": "[trimmed-depth]",
            "timeSpentDroppingOffLabel": "[trimmed-depth]",
            "carCleanliness": "[trimmed-depth]",
            "carCleanlinessColor": "[trimmed-depth]",
            "carCleanlinessLabel": "[trimmed-depth]",
            "carCondition": "[trimmed-depth]",
            "carConditionColor": "[trimmed-depth]",
            "carConditionLabel": "[trimmed-depth]",
            "avgValue": "[trimmed-depth]",
            "locationReviewCount": "[trimmed-depth]",
            "countryReviewCount": "[trimmed-depth]",
            "worldReviewCount": "[trimmed-depth]"
          },
          "pickup_address": "Hotel Madrid Airport Suites Affiliated By Meliá,  Calle De Lola Flores 20",
          "coords": {
            "key": "[trimmed-depth]",
            "lat": "[trimmed-depth]",
            "lng": "[trimmed-depth]"
          }
        },
        "pickup": {
          "location": "Madrid Airport (MAD)",
          "is_airport": true,
          "type": "Free shuttle service",
          "type_icon": "bus"
        },
        "mileage": {
          "unlimited": false,
          "label": "Limited",
          "unspecified": false,
          "day_limit": "200 km/day included mileage"
        },
        "fuel_policy": "Full to full",
        "payment_type": "Pay now",
        "deposit": {
          "key": "average",
          "title": "Average deposit",
          "amount": "€1,000.00"
        },
        "coverage": {
          "total": 28.49,
          "currency": "EUR"
        },
        "extras": null,
        "free_cancellation": true,
        "instant_confirmation": true,
        "badges": [
          "online_check_in"
        ],
        "book_url": "https://www.discovercars.com/en/offer/699ed965-aec[redacted-phone]a6-68c7145865cd-9PTP?sq=eyJQaWNrdXBMb2NhdGlvbklkIjoxODc1LCJEcm9wT2ZmTG9jYXRpb25JZCI6MTg3NSwiUGlja3VwRGF0ZVRpbWUiOiIyMDI2LTA5LTAxVDEwOjAwOjAwIiwiRHJvcE9mZkRhdGVUaW1lIjoiMjAyNi0wOS0wNFQxMDowMDowMCIsIlJlc2lkZW5jZUNvdW50cnkiOiJVUyIsIkRyaXZlckFnZSI6MzUsIkhhc2giOiIxODU3MzE2ZWZjODc0MWZhOGQ3NGJhMzg1ODUxZDVlZiJ9"
      },
      {
        "offer_id": "M8QC",
        "vehicle": {
          "name": "[redacted-name]",
          "category": "Economy",
          "acriss": "ECMR",
          "transmission": "manual",
          "seats": 4,
          "doors": 3,
          "bags": 1,
          "air_conditioning": true,
          "fuel_type": null,
          "guaranteed_model": false,
          "image": "https://www.discovercars.com/images/car/110/220.png"
        },
        "price": {
          "amount": 68.76,
          "currency": "EUR",
          "formatted": "€68.76",
          "rental_days": 3,
          "daily": 22.92
        },
        "supplier": {
          "name": "Click&Rent",
          "key": "click-rent",
          "logo": "https://www.discovercars.com/PartnerFiles/1041/logo_140x70.png?v=6918",
          "rating": {
            "score": "[trimmed-depth]",
            "label": "[trimmed-depth]",
            "review_count": "[trimmed-depth]"
          },
          "rating_detailed": {
            "valueForMoney": "[trimmed-depth]",
            "valueForMoneyColor": "[trimmed-depth]",
            "valueForMoneyLabel": "[trimmed-depth]",
            "findPickup": "[trimmed-depth]",
            "findPickupColor": "[trimmed-depth]",
            "findPickupLabel": "[trimmed-depth]",
            "workEfficiency": "[trimmed-depth]",
            "workEfficiencyColor": "[trimmed-depth]",
            "workEfficiencyLabel": "[trimmed-depth]",
            "timeSpentPickingUp": "[trimmed-depth]",
            "timeSpentPickingUpColor": "[trimmed-depth]",
            "timeSpentPickingUpLabel": "[trimmed-depth]",
            "timeSpentDroppingOff": "[trimmed-depth]",
            "timeSpentDroppingOffColor": "[trimmed-depth]",
            "timeSpentDroppingOffLabel": "[trimmed-depth]",
            "carCleanliness": "[trimmed-depth]",
            "carCleanlinessColor": "[trimmed-depth]",
            "carCleanlinessLabel": "[trimmed-depth]",
            "carCondition": "[trimmed-depth]",
            "carConditionColor": "[trimmed-depth]",
            "carConditionLabel": "[trimmed-depth]",
            "avgValue": "[trimmed-depth]",
            "locationReviewCount": "[trimmed-depth]",
            "countryReviewCount": "[trimmed-depth]",
            "worldReviewCount": "[trimmed-depth]"
          },
          "pickup_address": "Hotel Madrid Airport Suites Affiliated By Meliá,  Calle De Lola Flores 20",
          "coords": {
            "key": "[trimmed-depth]",
            "lat": "[trimmed-depth]",
            "lng": "[trimmed-depth]"
          }
        },
        "pickup": {
          "location": "Madrid Airport (MAD)",
          "is_airport": true,
          "type": "Free shuttle service",
          "type_icon": "bus"
        },
        "mileage": {
          "unlimited": false,
          "label": "Limited",
          "unspecified": false,
          "day_limit": "200 km/day included mileage"
        },
        "fuel_policy": "Full to full",
        "payment_type": "Pay now",
        "deposit": {
          "key": "average",
          "title": "Average deposit",
          "amount": "€1,000.00"
        },
        "coverage": {
          "total": 28.49,
          "currency": "EUR"
        },
        "extras": null,
        "free_cancellation": true,
        "instant_confirmation": true,
        "badges": [
          "online_check_in"
        ],
        "book_url": "https://www.discovercars.com/en/offer/699ed965-aec[redacted-phone]a6-68c7145865cd-M8QC?sq=eyJQaWNrdXBMb2NhdGlvbklkIjoxODc1LCJEcm9wT2ZmTG9jYXRpb25JZCI6MTg3NSwiUGlja3VwRGF0ZVRpbWUiOiIyMDI2LTA5LTAxVDEwOjAwOjAwIiwiRHJvcE9mZkRhdGVUaW1lIjoiMjAyNi0wOS0wNFQxMDowMDowMCIsIlJlc2lkZW5jZUNvdW50cnkiOiJVUyIsIkRyaXZlckFnZSI6MzUsIkhhc2giOiIxN2Y4OGQ3YTM1N2JmN2Q3MzM0NDM1ZjQ2Y2Q1ZDMzNyJ9"
      }
    ],
    "__trimmed": "response capped for page display"
  }
}
Actions

What the Car Rental API does

ActionDescriptionConcrete use caseKey params
cars/searchaggregated rental-car offers for a location + dates → offers[]{vehicle(name/category/ACRISS/transmission/seats/bags/fuel), price{amount,currency}, supplier(name/rating/pickup_address/coords), pickup.type, mileage, fuel_policy, free_cancellation, book_url} + facets. Location via `query` OR explicit place_id/city_id/country_id. One-way via drop_query. Dates pickup_date/dropoff_date (YYYY-MM-DD). Narrow with category/supplier/transmission/max_price/min_supplier_rating/free_cancellation_only filters + sort.Travel apps call cars/search to get aggregated rental-car offers for a location + dates → offers[]{vehicle(name/category/ACRISS/t….query, place_id, city_id, country_id, pickup_date, ...
cars/autocompleteresolve a location string (`query`) → place/city/country IDs (for cars/search)Pricing monitors call cars/autocomplete to resolve a location string (`query`) → place/city/country IDs (for cars/search).query
cars/reviewsDiscoverCars customer reviews for a location → reviews[]{rating(0-10), text, author, author_country, car_name, date, photos} + average_rating + count. Location via `query` (city/country name; resolved automatically) OR explicit location_url. Filter with min_rating / with_text_only; country_only widens city→country scope.Itinerary products call cars/reviews to get discoverCars customer reviews for a location → reviews[]{rating(0-10), text, author, author_c….query, location_url, country_only, min_rating, with_text_only, ...
Code samples

Call cars/search from your stack

curl -X POST https://api.reefapi.com/car-rental/v1/cars/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"Madrid Airport","currency":"EUR","pickup_date":"2026-09-01","dropoff_date":"2026-09-04","max_offers":40}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.car-rental.cars/search with {"query":"Madrid Airport","currency":"EUR","pickup_date":"2026-09-01","dropoff_date":"2026-09-04","max_offers":40}.
Use cases

Who uses this API and why

  • Travel apps call cars/search to compare rental prices by vehicle class.
  • Price monitors track daily rates across suppliers.
  • Apps use cars/reviews to surface supplier quality.
FAQ

Questions developers ask before integrating

Is price.amount per day or for the whole rental?

For the whole rental. A Madrid Airport search for 10-13 October returned a Fiat 500 at 44.19 EUR; the same car for 10-16 October came back at 65.17 EUR. If the number were nightly, six days would have cost the same per night as three. The per-night figure is supplied separately as price.daily (14.73 and 10.86 in those two searches), and price.rental_days tells you what it was divided by.

Do I pass an IATA airport code like MAD or LHR?

No. Locations are aggregator place ids, resolved by cars/autocomplete. Asking it for London returned ten rows: Gatwick (place_id 1600), Heathrow (1712), London all-locations (570), Stansted (1603), London City (1785), St Pancras station (6946), then East London in South Africa. Each row carries place_id, city_id, country_id, an is_airport flag and a type of airport, downtown or railway. You can also pass free-text `query` and let the engine resolve it, in which case prefer_airport decides between airport and downtown, and the row it picked comes back as pickup_location.

I passed a transmission value that is not in the enum and got zero offers with ok:true. Why?

transmission, category and supplier are applied as filters against the offer set after it is fetched, so an unrecognized value matches nothing rather than being ignored. Sending transmission 'hovercraft' on a Madrid search returned ok:true, count 0, supplier_count 0 and price_range null, while total_available still read 587. Compare total_available against count: a healthy total_available with a zero count means a filter, not a lack of cars.

Why does the suppliers rollup report more offers than I received?

The per-supplier rollup is computed over the full result set, not over the rows you kept. A search with max_offers 3 returned three offers but a rollup entry for Centauro reading offer_count 9. Drop max_offers to see the real spread: the uncapped Madrid Airport search for 10-13 October returned 585 offers across 17 suppliers, with the cheapest per supplier ranging from 44.19 EUR up to 198.60 EUR.

Are insurance and extras included in the price?

No. extras came back null on every offer measured. coverage.total is a separate figure for optional damage cover (26.96 EUR on the 44.19 EUR Fiat 500), and deposit is the card hold the supplier will place, returned as a formatted display string plus a deposit.key such as 'average'. fuel_policy (measured 'Full to full') and mileage (unlimited true or false, with a label) are the two terms that most often explain a gap between two otherwise identical prices.

How stable is offer_id, and can I cache a quote?

Not stable at all. Two identical searches minutes apart returned the same Fiat 500 as ZECZ and then HQWE, each with a fresh top-level guid. book_url embeds that search's guid, so a cached quote expires with the search rather than with the price. Re-run the search when you need a live number, and match rows across runs on supplier.name plus vehicle.acriss.

What is in facets, and do I need it?

facets is the site's own filter sidebar, returned when include_facets is true: carGroups, supplier, rating, mileage, fuelPolicy, seats, carSpecifications, paymentType, deposit, priceRange, carBrand and locationType. Each bucket carries its cheapest price, so on one Madrid search carGroups showed small cars from 44.19 EUR and SUVs from 54.95 EUR, and mileage split into Unlimited from 44.19 EUR versus Limited from 57.62 EUR. It is the cheap way to size a market before pulling all 585 offers.

What rating scale do suppliers use, and can I filter on it?

A 0-10 score with a word label and a review count: one Madrid supplier came back at 8.6, labelled Very Good, over 6,443 reviews. min_supplier_rating filters on that scale. A rating_detailed block splits the same score into valueForMoney, findPickup, workEfficiency, timeSpentPickingUp, timeSpentDroppingOff, carCleanliness and carCondition, and separates locationReviewCount (698 for that Madrid desk) from countryReviewCount (6,443). Worth checking, because a strong national score can sit on a thin local sample.

What is the Car Rental API?

Car Rental API is a ReefAPI endpoint group for compare rental cars, prices and availability worldwide. It returns live JSON through POST requests under /car-rental/v1.

Is the Car Rental API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Car Rental calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Car Rental login or account?

No login to Car Rental is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Car Rental data?

The page example is captured from a live cars/search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Car Rental API use?

Car Rental actions currently cost 1-2 credits per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

Can I call Car Rental from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call car-rental actions with the same key, credit pool and JSON envelope used by normal REST requests.

docs / car-rental

Car Rental

Compare rental cars, prices and availability worldwide.

base /car-rental/v13 endpoints
post/car-rental/v1/cars/search2 credits

aggregated rental-car offers for a location + dates → offers[]{vehicle(name/category/ACRISS/transmission/seats/bags/fuel), price{amount,currency}, supplier(name/rating/pickup_address/coords), pickup.type, mileage, fuel_policy, free_cancellation, book_url} + facets. Location via `query` OR explicit place_id/city_id/country_id. One-way via drop_query. Dates pickup_date/dropoff_date (YYYY-MM-DD). Narrow with category/supplier/transmission/max_price/min_supplier_rating/free_cancellation_only filters + sort.

ParameterAllowed / rangeDescription
queryoptionalPickup location to resolve (city / airport name). Provide this OR an explicit place_id + city_id + country_id.
place_idoptionalExplicit DiscoverCars place id (from cars/autocomplete). Use together with city_id + country_id to skip resolution.
city_idoptionalExplicit DiscoverCars city id (pairs with place_id + country_id).
country_idoptionalExplicit DiscoverCars country id (pairs with place_id + city_id).
pickup_dateoptionalPickup date (YYYY-MM-DD). Defaults to ~30 days out if omitted.
dropoff_dateoptionalDrop-off date (YYYY-MM-DD). Defaults to ~30 days out if omitted.
pickup_time = 10:00optionalPickup time of day (HH:MM, 24h). Default 10:00.
dropoff_time = 10:00optionalDrop-off time of day (HH:MM, 24h). Default 10:00.
currency = EURoptionalISO-4217 currency for prices (e.g. EUR, USD, GBP). Default EUR.
residence_country = USoptionalDriver's country of residence (ISO-2, e.g. US, GB) — affects pricing/availability. Default US.
driver_age = 35optional18–99Driver age (affects young/senior-driver fees). Default 35.
drop_queryoptionalDifferent drop-off location (city/airport name) for a one-way rental. Omit for same-location return.
drop_place_idoptionalExplicit drop-off place id (one-way; pairs with drop_city_id).
drop_city_idoptionalExplicit drop-off city id (one-way).
drop_country_idoptionalExplicit drop-off country id (one-way).
max_offersoptional1–Cap the number of offers returned. Omit for all.
include_facets = trueoptionalInclude aggregation facets (supplier/category/price buckets) in the response. Default true.
prefer_airport = trueoptionalWhen resolving `query`, prefer the airport location over downtown. Default true.
categoryoptionalFilter by vehicle category substring (case-insensitive), e.g. Mini, Economy, Compact, Intermediate, SUV, Luxury, Van. From facets.carGroups.
supplieroptionalFilter by supplier name substring (case-insensitive), e.g. Avis, Hertz, Sixt, Budget, Enterprise. See the `suppliers` rollup for what's available.
transmissionoptionalautomatic · manualFilter by transmission. One of: automatic, manual.
min_seatsoptional1–Only offers with at least this many seats.
max_priceoptional0–Only offers whose TOTAL rental price is at or below this (in `currency`).
min_supplier_ratingoptional0–10Only suppliers rated at or above this score (0-10 scale).
free_cancellation_only = falseoptionalOnly offers with free cancellation. Default false.
unlimited_mileage_only = falseoptionalOnly offers with unlimited mileage. Default false.
sort = price_ascoptionalprice_asc · price_desc · rating_descSort order. One of: price_asc (default, cheapest first), price_desc, rating_desc (best-rated supplier first).
include_supplier_summary = trueoptionalInclude a per-supplier rollup (cheapest price, offer count, rating) in the response. Default true.
Try in playground →
post/car-rental/v1/cars/autocomplete1 credit

resolve a location string (`query`) → place/city/country IDs (for cars/search)

ParameterAllowed / rangeDescription
queryrequiredLocation string to resolve into place/city/country IDs.
Try in playground →
post/car-rental/v1/cars/reviews1 credit

DiscoverCars customer reviews for a location → reviews[]{rating(0-10), text, author, author_country, car_name, date, photos} + average_rating + count. Location via `query` (city/country name; resolved automatically) OR explicit location_url. Filter with min_rating / with_text_only; country_only widens city→country scope.

ParameterAllowed / rangeDescription
queryoptionalLocation (city or country name) to fetch DiscoverCars customer reviews for. Provide this OR an explicit location_url.
location_urloptionalExplicit DiscoverCars review slug `country/city` (or `country`), e.g. spain/madrid, usa-california/los-angeles. Skips query resolution.
country_only = falseoptionalFetch country-wide reviews instead of city-level. Default false (city-level, auto-falls back to country if the city has none).
min_ratingoptional0–10Only reviews rated at or above this (0-10 scale).
with_text_only = falseoptionalOnly reviews that include written text. Default false.
max_reviewsoptional1–Cap the number of reviews returned. Omit for all (~up to 50 most recent).
Try in playground →