Car Rental API
The Car Rental API aggregates rental offers as clean JSON.
🤖 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.
Real request and response JSON
Captured from the indexed primary action, cars/search, on .
{
"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
}
}{
"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"
}
}What the Car Rental API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| cars/search | 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. | 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/autocomplete | resolve 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/reviews | 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. | 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, ... |
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}'import requests
r = requests.post(
"https://api.reefapi.com/car-rental/v1/cars/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "Madrid Airport",
"currency": "EUR",
"pickup_date": "2026-09-01",
"dropoff_date": "2026-09-04",
"max_offers": 40
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/car-rental/v1/cars/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "Madrid Airport",
"currency": "EUR",
"pickup_date": "2026-09-01",
"dropoff_date": "2026-09-04",
"max_offers": 40
}),
});
const { ok, data, meta, error } = await res.json();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}.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.
Questions developers ask before integrating
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.
Is the Car Rental API a Car Rental scraper?
It is the managed alternative to a DIY Car Rental scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same compare rental cars, prices and availability worldwide back as clean JSON.
Why does my Car Rental scraper keep getting blocked?
Most Car Rental scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.