Kayak Car Rental Scraper
Pricing
from $1.00 / 1,000 results
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
from $1.00 / 1,000 results
Rating
5.0
(5)
Developer
Shahid Irfan
Maintained by CommunityActor stats
3
Bookmarked
91
Total users
15
Monthly active users
8.1 hours
Issues response
14 days ago
Last modified
Categories
Share
What does Kayak Car Rental Scraper do?
Extract car rental prices, vehicle details, and supplier offers from Kayak in a structured dataset. Provide a Kayak car rental search URL and the actor collects comparable offers across dates and locations. The output includes supplier names, daily and total prices, vehicle type, mileage and fuel policies, cancellation terms, and booking links. Suitable for travel businesses, price monitoring, market analysis, and deal discovery.
Why use Kayak Car Rental Scraper?
- Structured dataset creation - Collect Kayak rental offers without manual copy-paste or browser sessions.
- Comparison-ready output - Every record includes supplier identity, pricing, vehicle category, policies, and booking URLs so you can compare offers side by side.
- Automation-friendly - Run on demand or schedule recurring runs. Output lands in a dataset ready for export, API access, or integration.
- URL-first input - One Kayak URL is all you need. Expired dates are auto-healed and noisy query parameters are stripped.
- Agency brand resolution - Offers include agency brand names (Avis, Hertz, Budget, Sixt, Enterprise, and others) resolved from Kayak data.
What data can you extract from Kayak?
| Field | Description |
|---|---|
provider_name | Car rental supplier display name |
provider_code | Supplier identifier code |
agency_code | Rental brand or agency code (Avis, Budget, Hertz, etc.) |
agency_name | Agency display name resolved from Kayak data |
car_type | Vehicle name and class label (e.g. Jeep Wrangler Unlimited - Open air all terrain) |
car_type_groups | Vehicle category groups (SUV, compact, luxury, etc.) |
day_price | Daily price with numeric and localized values |
total_price | Total rental price with numeric and localized values |
currency_code | Currency used in the offer |
payment_type | Payment mode information (prepay or deposit) |
mileage_policy_type | Mileage policy type (limited or unlimited) |
mileage_total_limit | Mileage limit text when available |
fuel_policy | Fuel policy details for the rental |
free_cancellation_policy | Cancellation policy details when available |
pickup_location | Pickup location name |
pickup_date | Pickup date |
return_date | Return date |
pickup_location_details | Pickup location context including airport and distance info |
booking_url | Direct booking link for the offer |
known_fees | Known fee entries when available |
How to use Kayak Car Rental Scraper
- Open the actor on Apify Store.
- Enter a Kayak car rental search URL.
- Set the maximum number of results and optional proxy settings.
- Run the actor.
- Download the dataset or connect it to your workflow.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | String | Yes | "https://www.kayak.com/cars/Los-Angeles,CA/2026-07-15/2026-07-22?sort=rank_a" | Full Kayak car rental results URL. Expired dates and noisy query params are auto-healed. |
results_wanted | Integer | No | 20 | Maximum number of car rental offers to save. |
proxyConfiguration | Object | No | { "useApifyProxy": false } | Optional proxy settings for improved reliability. |
Output Data
| Field | Type | Description |
|---|---|---|
source_type | String | Offer source category (result_provider or carousel_ad) |
search_id | String | Search identifier for the collected result set |
result_id | String | Unique offer or result identifier |
provider_name | String | Supplier or provider display name |
provider_code | String | Supplier or provider code |
agency_code | String | Rental brand or agency code from Kayak data |
agency_name | String | Agency display name resolved from Kayak agency map |
car_type | String | Vehicle name and class label |
car_type_groups | Array | Vehicle category groups such as SUV or compact |
day_price | Object | Daily price with numeric and localized values |
total_price | Object | Total price 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 (prepay or deposit) |
mileage_policy_type | String | Mileage policy type (limited or unlimited) |
mileage_total_limit | String | Human-readable mileage limit text |
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 URL Run
Start with a single Kayak search URL and collect the first set of results:
{"startUrl": "https://www.kayak.com/cars/Los-Angeles,CA/2026-07-15/2026-07-22?sort=rank_a","results_wanted": 20}
URL With Extra Parameters
Kayak URLs sometimes contain stale tokens or map fragments. The actor cleans those automatically:
{"startUrl": "https://www.kayak.com/cars/Los-Angeles,CA/2026-07-15/2026-07-22?sort=rank_a&ucs=stale-token;map","results_wanted": 50}
Larger Collection Run
Increase the result limit to gather more offers for broader analysis:
{"startUrl": "https://www.kayak.com/cars/Los-Angeles,CA/2026-07-15/2026-07-22?sort=rank_a","results_wanted": 100}
Sample Output
{"source_type": "result_provider","search_id": "exampleSearchId","result_id": "573a35fe3f4cea35e98380f42a5a9d32","provider_name": "WiseCars","provider_code": "IWISECARSOPAQUE","agency_code": "IHERTZPV","agency_name": "Hertz","car_type": "Jeep Wrangler Unlimited (Open air all terrain)","car_type_groups": ["SUV"],"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": "Los Angeles CA","pickup_date": "2026-07-15","return_date": "2026-07-22","booking_url": "https://www.kayak.com/book/car/example","source_url": "https://www.kayak.com/cars/Los-Angeles,CA/2026-07-15/2026-07-22?sort=rank_a"}
Tips for Best Results
- Use the full Kayak URL from your browser location bar. The actor strips noisy params such as
ucsand;mapfragments automatically. - If URL dates are in the past, the actor shifts them forward while preserving trip duration. This keeps scheduled runs alive without manual edits.
- Start with
results_wanted: 20for validation, then increase after confirming output quality. - Reuse the same input structure across scheduled runs to maintain stable trend comparisons.
- Enable proxy configuration if you run into request limits. For testing, start without proxy.
Integrations
- 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?
You can collect as many as you need. Set the results_wanted parameter to control the total number of car rental offers saved in each run.
Can I run with only a URL?
Yes. Provide a startUrl and the actor will use that search directly. Location and dates are parsed from the URL.
Does output include rental agency brands such as Avis, Budget, or Hertz?
Yes. Every offer includes agency_code and agency_name resolved from Kayak data. This lets you group and filter by brand regardless of the underlying provider.
Is this suitable for recurring monitoring?
Yes. The actor is designed for repeat runs. Stale dates are auto-healed and structured output makes trend tracking straightforward.
Why are some fields missing in a few records?
Some offers do not expose every detail. Missing fields depend on what the supplier provides in the Kayak results.
Can I compare suppliers in one run?
Yes. Output includes supplier identity, pricing, vehicle type, and policy context for side-by-side comparison.
Is INPUT.json used in production runs?
No. Production runs use values provided in the run input. INPUT.json is for local testing only.
Related Actors
- CarRentals.com Scraper - Extract car rental pricing and vehicle details from CarRentals.com
- Expedia Car Rental Scraper - Collect car rental offers from Expedia for price comparison and market analysis
Support
For issues or feature requests, use the Issues tab on the actor page or contact the developer through Apify Console.
Legal Notice
This actor is designed for legitimate data collection from publicly available sources. Users are responsible for complying with applicable laws, website terms, and data-use policies. Use responsibly and apply reasonable rate limits.