KAYAK Car Rental Scraper
Pricing
from $1.30 / 1,000 results
KAYAK Car Rental Scraper
[π° $1.3 / 1K] Extract car rental offers from KAYAK β vehicle class, rental agency, daily and total prices, mileage and fuel policies, cancellation terms, and direct booking links. Search by location and dates or paste KAYAK URLs.
Pricing
from $1.30 / 1,000 results
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
44
Total users
17
Monthly active users
3 days ago
Last modified
Categories
Share
Pull live car-rental offers from KAYAK at scale β vehicle class, rental agency, booking provider, daily and total prices, mileage and fuel policies, free-cancellation terms, and a direct booking link for every offer. Search by city, airport code, or a pasted KAYAK URL, with one-way trips, custom pickup and return times, and 20 pricing currencies all supported. Built for travel agencies, price-comparison sites, and fleet and corporate-travel analysts who need clean, structured rental pricing without hand-crafting KAYAK URLs or babysitting a browser.
Why This Scraper?
- Both the rental agency and the booking provider on every offer β each row names the agency (Hertz, Avis, Budget, Enterpriseβ¦) and the provider it's bookable through (Priceline, Expedia, the agency directβ¦), so you see who supplies the car and who sells it.
- 9 car classes you can filter β Small/Economy, Medium/Intermediate, Large/Full-size, SUV, Van/Minivan, Luxury, Special, Pickup Truck, and Convertible.
- One-way rentals fully supported β set a different drop-off location and the actor builds the correct cross-city search, no manual URL surgery.
- 20 pricing currencies, plus the currency the agency actually bills in β price a whole result set in USD, EUR, GBP, JPY, AED or 15 more codes at live conversion rates. Every row carries both
currencyCode(the currency of the price shown) andproviderCurrencyCode(what the rental company itself charges), so you always know who is doing the converting. - Complete rental terms per offer β mileage policy (limited or unlimited, with the actual mileage cap), fuel policy, known fees, payment type (prepay vs. pay-at-counter), and free-cancellation terms β all inline, no second lookup.
- Direct booking link on every row β a deep
bookingUrlthat lands on the exact offer, plus the supplier's ownsiteUrl, ready to drop into a "Book now" button. - Whole-market coverage from a single search β set Max Results to 0 and the actor paginates a city to exhaustion. Published inventory measured in August 2026: 1,835 offers in Los Angeles, 1,748 in Miami, 1,173 in New York, 705 in Atlanta.
- 4 sort modes, with a genuine cheapest-first guarantee β Recommended, Cheapest first, Closest pickup, and Best value. Cheapest first is ordered row by row, so row 1 really is the lowest total for your dates rather than merely the cheapest car group.
- Zero hand-built URLs β type a city or airport code and pick your dates; the actor resolves the location and assembles the search for you, or paste any KAYAK car-rental URL to scrape it directly.
Use Cases
Travel Agencies & OTAs
- Power a car-rental comparison page with live agency-vs-provider pricing
- Surface the cheapest qualifying offer per car class for a client itinerary
- Quote one-way rentals between two cities in seconds
- Show full rental terms (mileage, fuel, cancellation) before a customer commits
Price Monitoring & Revenue Management
- Track daily and total rental rates across agencies for the same dates
- Watch how prices shift by pickup time, lead time, and day of week
- Benchmark your fleet's pricing against Hertz, Avis, Budget, and Enterprise
- Detect when a competitor undercuts you on a key route
Corporate & Fleet Travel
- Build approved-supplier rate sheets for employee bookings
- Compare prepay vs. pay-at-counter totals for expense forecasting
- Identify unlimited-mileage offers for long-distance assignments
- Audit which agencies serve a given airport and at what price
Market Research & Data Products
- Analyze car-class availability and pricing across destinations
- Map which booking providers carry which agencies in each market
- Feed structured rental data into dashboards, BI tools, and pricing models
- Study seasonal and day-of-week pricing patterns at scale
Getting Started
Simple β search a city for two weeks out
Just a pickup location; dates default to two weeks from today for a one-week rental.
{"pickupLocation": "Los Angeles"}
Filtered β SUVs only, cheapest first, specific dates
{"pickupLocation": "LAX","pickupDate": "2026-07-15","returnDate": "2026-07-22","carType": ["SUV"],"sortBy": "cheapest","maxResults": 100}
Advanced β one-way rental, custom pickup and return times
{"pickupLocation": "Los Angeles","dropoffLocation": "San Diego","pickupDate": "2026-08-01","pickupTime": "08:00","returnDate": "2026-08-05","returnTime": "18:00","sortBy": "best","currency": "USD","maxResults": 200}
Power-user β scrape pasted KAYAK URLs directly
{"startUrls": ["https://www.kayak.com/cars/Los-Angeles,CA/2026-07-15/2026-07-22"],"maxResults": 0}
Input Reference
Search
| Parameter | Type | Default | Description |
|---|---|---|---|
pickupLocation | string | "Los Angeles" | City, airport code, or place to pick up the car (e.g. "Los Angeles", "LAX", "Paris"). |
dropoffLocation | string | (empty) | Where to return the car for a one-way rental (e.g. "San Diego", "SAN"). Leave empty to return it to the pickup location. |
Dates & Driver
| Parameter | Type | Default | Description |
|---|---|---|---|
pickupDate | string | (today + 14 days) | Pickup date in YYYY-MM-DD format. Dates in the past are automatically moved forward. |
pickupTime | select | 10:00 AM | Time of day you pick up the car (hourly options from Midnight to 11:00 PM). |
returnDate | string | (pickup + 7 days) | Return date in YYYY-MM-DD format. Must be on or after the pickup date. |
returnTime | select | 10:00 AM | Time of day you return the car (hourly options from Midnight to 11:00 PM). |
driverAge | integer | 30 | Age of the main driver (18β99), recorded on the search URL every row carries. KAYAK's US site quotes the same cars at the same prices for every age, so this labels your export rather than changing it. |
Filters
| Parameter | Type | Default | Description |
|---|---|---|---|
sortBy | select | Recommended | Result ranking: Recommended, Cheapest first, Closest pickup, or Best value. |
carType | multi-select | (all types) | Keep only these vehicle classes: Small/Economy, Medium/Intermediate, Large/Full-size, SUV, Van/Minivan, Luxury, Special, Pickup truck, Convertible. Leave empty for every car type. |
Localization
| Parameter | Type | Default | Description |
|---|---|---|---|
currency | select | US Dollar (USD) | Prices every result in the currency you pick, from 20 ISO options (USD, EUR, GBP, JPY, AED and 15 more). Each row also reports the currency the rental company itself bills in, whenever that differs. |
Options
| Parameter | Type | Default | Description |
|---|---|---|---|
maxResults | integer | 50 | Maximum rental offers to collect per search. Set to 0 to collect every available offer. Pages are sized to the limit you set, so a small value returns close to that many offers β with a modest overshoot (measured at up to 25%) because a page already in flight is never cut short. |
Advanced
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | string[] | [] | Paste full KAYAK car-rental result URLs to scrape them directly. When provided, these override the search fields above. Expired dates are automatically moved forward. |
Output
One row per rental offer (a single car Γ provider pairing). Here's a representative result:
{"resultId": "c-9f3a17b2e4","searchId": "Rk0aXyZ9pQ","sourceType": "AGENCY","providerName": "Priceline","providerCode": "PRIC","agencyName": "Hertz","agencyCode": "ZE","carType": "Toyota Corolla or similar","carTypeGroups": ["small", "economy"],"pricePerDay": { "price": 36, "currency": "USD", "localizedPrice": "$36" },"priceTotal": { "price": 254, "currency": "USD", "localizedPrice": "$254" },"price": { "price": 254, "currency": "USD", "localizedPrice": "$254" },"currencyCode": "USD","providerCurrencyCode": "USD","knownFees": [{ "feeType": "securityDeposit", "feeStatus": "notIncluded", "isIncludedInTotal": false }],"paymentType": "PAY_AT_COUNTER","mileagePolicyType": "UNLIMITED","mileageTotalLimit": "Unlimited mileage","fuelPolicy": { "type": "FULL_TO_FULL" },"freeCancellationPolicy": { "isFree": true, "deadline": "2026-07-14" },"pickupLocation": "Los Angeles","pickupDate": "2026-07-15","returnDate": "2026-07-22","pickupLocationDetails": { "name": "Los Angeles Intl Airport (LAX)", "displayDistance": "At airport" },"bookingUrl": "https://www.kayak.com/in?...","siteUrl": "https://www.hertz.com/...","vehicleDetail": { "doors": 4, "seats": 5, "bags": 2, "transmission": "AUTOMATIC" },"image": "https://content.r9cdn.net/...","sourceUrl": "https://www.kayak.com/cars/Los-Angeles,CA-c16078/2026-07-15/2026-07-22?sort=rank_a"}
Core Fields
| Field | Type | Description |
|---|---|---|
resultId | string | Unique identifier for this offer |
searchId | string | KAYAK search identifier the offer came from |
sourceType | string | Offer source category (e.g. agency rate type) |
agencyName | string | Rental agency display name (Hertz, Avis, Budgetβ¦) |
agencyCode | string | Rental agency code |
providerName | string | Booking provider the offer is sold through |
providerCode | string | Booking provider code |
carType | string | Vehicle name and class (e.g. "Toyota Corolla or similar") |
carTypeGroups | string[] | Vehicle category groups (small, suv, luxuryβ¦) |
vehicleDetail | object | Vehicle specifications (doors, seats, bags, transmission class) where provided by KAYAK |
image | string | Vehicle image URL |
Pricing & Fees
| Field | Type | Description |
|---|---|---|
pricePerDay | object | Daily price (amount, currency, localized display string) |
priceTotal | object | Total price for the full rental period |
price | object | Primary price KAYAK highlights for the offer |
currencyCode | string | ISO currency code the prices on this row are actually in |
providerCurrencyCode | string | Currency the rental provider itself bills in, when it differs from the displayed price |
knownFees | array | Fee line items KAYAK publishes for the offer, each with its type and whether the total already includes it (most commonly a security deposit) |
paymentType | string | Payment mode (prepay, pay-at-counter, deposit) |
Rental Policies
| Field | Type | Description |
|---|---|---|
mileagePolicyType | string | Mileage policy: limited or unlimited |
mileageTotalLimit | string | Human-readable mileage limit text |
fuelPolicy | object | Fuel policy details (e.g. full-to-full) |
freeCancellationPolicy | object | Free-cancellation terms and deadline |
Location & Trip
| Field | Type | Description |
|---|---|---|
pickupLocation | string | Requested pickup location |
pickupDate | string | Pickup date (ISO) |
returnDate | string | Return date (ISO) |
pickupLocationDetails | object | Location context (airport name/code, distance from terminal) |
Links
| Field | Type | Description |
|---|---|---|
bookingUrl | string | Deep link to book this specific offer |
siteUrl | string | Supplier's own website URL |
sourceUrl | string | The KAYAK search URL the row came from |
Tips for Best Results
- Treat the quoted total as the 26β65 rate β KAYAK's US listings carry one price per offer for every driver age, and a young-driver or senior surcharge is added by the rental agency at the counter, so budget for it separately on under-25 and over-70 renters.
- When filtering to a rare car class, keep Max Results generous β car-type filtering is applied across the whole result set, so a narrow class like Convertible or Special may sit deep in the list; allow enough results for the matches to surface.
- Use Cheapest first to find the price floor β it ranks offers low-to-high so the very first rows are the lowest qualifying totals for your dates.
- Match pickup and return times to the real trip β KAYAK returns different inventory and pricing for an 8:00 AM pickup versus a 6:00 PM pickup, so set the times you'd actually rent at.
- Set Max Results to 0 to capture a whole market β the actor paginates to exhaustion. A large city runs to roughly 1,000β1,900 offers across every agency and class (Los Angeles measured at 1,835 in August 2026), so allow budget and time for the full sweep.
- Pick your currency once and every price follows it β set
currencyto any of the 20 supported codes and the whole result set is priced in it, converted for you.currencyCodeon each row always states the currency that row's prices are in, andproviderCurrencyCodetells you what the rental company itself bills in, which is useful when you want to know who is doing the conversion. - Paste competitor or saved KAYAK URLs β the Advanced URLs field accepts full result links and even heals expired dates, so old bookmarks keep working without edits.
Pricing
From $1.30 per 1,000 results β pay only for the offers you actually receive. No compute charges.
Apify's loyalty discount tiers lower your rate automatically as your account tier rises:
| Results | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| 100 | $0.15 | $0.14 | $0.14 | $0.13 |
| 1,000 | $1.55 | $1.45 | $1.40 | $1.30 |
| 10,000 | $15.50 | $14.50 | $14.00 | $13.00 |
| 100,000 | $155.00 | $145.00 | $140.00 | $130.00 |
A "result" is a single rental offer row in your dataset. These tiered rates take effect on 6 September 2026; until then every account pays the Gold rate of $1.30 per 1,000 results. Apify platform plan fees may apply separately.
Integrations
Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n β Workflow automation
- Google Sheets β Direct spreadsheet export
- Slack / Email β Notifications on new results
- Webhooks β Trigger custom APIs on run completion
- Apify API β Full programmatic access
Legal & Ethical Use
This actor is designed for legitimate travel research, price comparison, and market analysis. You are responsible for complying with applicable laws and KAYAK's Terms of Service. Use the data responsibly, respect rate and volume limits, and do not use it for spam, misrepresentation, or any unlawful purpose. Always verify final prices and rental terms with the agency before booking.