Kayak Car Rental Scraper
Pricing
Pay per usage
Kayak Car Rental Scraper
Unlock global travel insights by scraping detailed car rental data from Kayak. Extract pricing, vehicle specs, and availability instantly. Perfect for market monitoring and travel aggregators. Residential proxies are highly recommended for stability.
Pricing
Pay per usage
Rating
5.0
(2)
Developer
Shahid Irfan
Actor stats
1
Bookmarked
28
Total users
12
Monthly active users
8 days ago
Last modified
Categories
Share
Kayak Car Rental Prices Scraper
Extract car rental prices, vehicle details, and supplier offers from Kayak in a structured dataset. Collect comparable offers across dates and locations for faster decision-making. Ideal for travel businesses, analysts, deal monitoring, and market research.
Features
- Comprehensive Offer Collection — Gather car rental offers with supplier, price, vehicle class, and booking links.
- Rich Pricing Context — Capture daily and total price values, currency, known fees, and payment type.
- Vehicle & Policy Details — Collect fuel policy, mileage rules, cancellation info, and key rental conditions.
- Location Intelligence — Include pickup location context such as airport code, distance, and location metadata.
- Flexible Start Options — Run with a direct Kayak results URL or with location/date inputs.
- Clean Structured Output — Receive normalized records ready for dashboards, spreadsheets, and automations.
Use Cases
Price Monitoring
Track rental prices for specific destinations and dates to identify drops, spikes, and seasonal shifts.
Travel Agency Operations
Compare multiple supplier offers quickly and support faster quote building for clients.
Market Intelligence
Analyze supplier presence, pricing patterns, and vehicle category availability by destination.
Business Reporting
Build recurring rental datasets for weekly or monthly reporting and trend analysis.
Deal Discovery
Find low-cost options and evaluate value by combining price, policy terms, and location factors.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | String | No | "" | A Kayak car rental results URL. If provided, it is used directly. |
pickupLocation | String | Conditional | "Abu-Dhabi,United-Arab-Emirates" | Pickup location text. Required when startUrl is not provided. |
pickupDate | String | Conditional | "2026-05-16" | Pickup date in YYYY-MM-DD. Required when startUrl is not provided. |
returnDate | String | No | "2026-05-31" | Return date in YYYY-MM-DD. If omitted, the actor uses pickup date + 7 days. |
results_wanted | Integer | No | 20 | Maximum number of records to collect. |
proxyConfiguration | Object | No | { "useApifyProxy": true } | Optional proxy settings for improved reliability. |
Output Data
Each dataset item contains rich offer-level fields.
| Field | Type | Description |
|---|---|---|
source_type | String | Offer source category for the record. |
search_id | String | Search identifier for the collected result set. |
result_id | String | Unique offer/result identifier. |
provider_name | String | Supplier/provider display name. |
provider_code | String | Supplier/provider code. |
car_type | String | Vehicle name and class label. |
car_type_groups | Array | Vehicle category groups (for example SUV, compact). |
day_price | Object | Daily price object with numeric and localized values. |
total_price | Object | Total price object with numeric and localized values. |
price | Object | Primary price object for the offer. |
currency_code | String | Currency used in the offer. |
known_fees | Array | Known fee entries when available. |
payment_type | String | Payment mode information (for example prepay/deposit). |
mileage_policy_type | String | Mileage policy type (limited/unlimited). |
mileage_total_limit | String | Human-readable mileage limit text when available. |
fuel_policy | Object | Fuel policy details for the rental. |
free_cancellation_policy | Object | Cancellation policy details when available. |
pickup_location | String | Requested pickup location. |
pickup_date | String | Requested pickup date. |
return_date | String | Requested return date. |
pickup_location_details | Object | Pickup location context such as airport and distance info. |
booking_url | String | Booking link for the specific offer. |
site_url | String | Supplier website URL when available. |
source_url | String | Original Kayak search URL used for extraction. |
Usage Examples
Basic Location Search
{"pickupLocation": "Abu-Dhabi,United-Arab-Emirates","pickupDate": "2026-05-16","returnDate": "2026-05-31","results_wanted": 20}
Direct URL Collection
{"startUrl": "https://www.kayak.com/cars/Abu-Dhabi,United-Arab-Emirates/2026-05-16/2026-05-31?sort=rank_a","results_wanted": 50}
Fast QA Run
{"pickupLocation": "Abu-Dhabi,United-Arab-Emirates","pickupDate": "2026-05-16","returnDate": "2026-05-31","results_wanted": 20}
Sample Output
{"source_type": "result_provider","search_id": "exampleSearchId","result_id": "573a35fe3f4cea35e98380f42a5a9d32","provider_name": "WiseCars","provider_code": "IWISECARSOPAQUE","car_type": "Jeep Wrangler Unlimited (Open air all terrain)","day_price": {"price": 13,"currency": "USD","localizedPrice": "$13"},"total_price": {"price": 184,"currency": "USD","localizedPrice": "$184"},"currency_code": "USD","payment_type": "PREPAY","mileage_policy_type": "limited","mileage_total_limit": "1,553 total mi included","pickup_location": "Abu-Dhabi,United-Arab-Emirates","pickup_date": "2026-05-16","return_date": "2026-05-31","booking_url": "https://www.kayak.com/book/car?...","source_url": "https://www.kayak.com/cars/Abu-Dhabi,United-Arab-Emirates/2026-05-16/2026-05-31?sort=rank_a"}
Tips for Best Results
Use Clear Location Values
- Use location text exactly as shown on Kayak.
- Prefer city + country formatting for consistency.
Choose Valid Future Dates
- Use realistic future rental dates.
- Keep pickup and return windows practical for your use case.
Start Small, Then Scale
- Begin with
results_wanted: 20for validation. - Increase result size after confirming output quality.
Keep Runs Consistent
- Reuse the same input structure across scheduled runs.
- This helps maintain stable trend comparisons over time.
Proxy Guidance
- If your environment has proxy credentials configured, include
proxyConfiguration. - For local testing without credentials, run small validation batches first.
Integrations
Connect your dataset with:
- Google Sheets — Build live rental price trackers.
- Airtable — Create searchable rental offer databases.
- Slack — Send pricing alerts to teams.
- Webhooks — Push results into internal systems.
- Make — Automate workflows across business apps.
- Zapier — Trigger downstream actions from new runs.
Export Formats
- JSON — Best for automation and engineering workflows.
- CSV — Best for spreadsheet analysis.
- Excel — Best for reporting and business sharing.
- XML — Useful for legacy system integrations.
Frequently Asked Questions
How many records can I collect?
Use results_wanted to control collection size. Increase it based on your analysis needs.
Can I run with only a URL?
Yes. Provide startUrl and the actor will use that search directly.
What if I do not provide returnDate?
The actor uses pickup date + 7 days.
Is this suitable for recurring monitoring?
Yes. It is designed for repeat runs and structured output for trend tracking.
Why are some fields missing in a few records?
Some offers may not expose every detail. Missing fields depend on supplier-provided information.
Can I compare suppliers in one run?
Yes. Output includes supplier identity, pricing, and policy context for comparison.
Is INPUT.json used in production runs?
No. Production runs use values provided in the run input. INPUT.json is for local QA/dev runs.
Support
For issues or feature requests, contact support through the Apify Console.
Resources
Legal Notice
This actor is designed for legitimate data collection purposes. Users are responsible for complying with website terms, local laws, and data-use policies. Use responsibly and apply reasonable rate limits.