Kayak Car Rental Scraper avatar

Kayak Car Rental Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Kayak Car Rental Scraper

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

Shahid Irfan

Maintained by Community

Actor stats

3

Bookmarked

91

Total users

15

Monthly active users

8.1 hours

Issues response

14 days ago

Last modified

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?

FieldDescription
provider_nameCar rental supplier display name
provider_codeSupplier identifier code
agency_codeRental brand or agency code (Avis, Budget, Hertz, etc.)
agency_nameAgency display name resolved from Kayak data
car_typeVehicle name and class label (e.g. Jeep Wrangler Unlimited - Open air all terrain)
car_type_groupsVehicle category groups (SUV, compact, luxury, etc.)
day_priceDaily price with numeric and localized values
total_priceTotal rental price with numeric and localized values
currency_codeCurrency used in the offer
payment_typePayment mode information (prepay or deposit)
mileage_policy_typeMileage policy type (limited or unlimited)
mileage_total_limitMileage limit text when available
fuel_policyFuel policy details for the rental
free_cancellation_policyCancellation policy details when available
pickup_locationPickup location name
pickup_datePickup date
return_dateReturn date
pickup_location_detailsPickup location context including airport and distance info
booking_urlDirect booking link for the offer
known_feesKnown fee entries when available

How to use Kayak Car Rental Scraper

  1. Open the actor on Apify Store.
  2. Enter a Kayak car rental search URL.
  3. Set the maximum number of results and optional proxy settings.
  4. Run the actor.
  5. Download the dataset or connect it to your workflow.

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringYes"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_wantedIntegerNo20Maximum number of car rental offers to save.
proxyConfigurationObjectNo{ "useApifyProxy": false }Optional proxy settings for improved reliability.

Output Data

FieldTypeDescription
source_typeStringOffer source category (result_provider or carousel_ad)
search_idStringSearch identifier for the collected result set
result_idStringUnique offer or result identifier
provider_nameStringSupplier or provider display name
provider_codeStringSupplier or provider code
agency_codeStringRental brand or agency code from Kayak data
agency_nameStringAgency display name resolved from Kayak agency map
car_typeStringVehicle name and class label
car_type_groupsArrayVehicle category groups such as SUV or compact
day_priceObjectDaily price with numeric and localized values
total_priceObjectTotal price with numeric and localized values
priceObjectPrimary price object for the offer
currency_codeStringCurrency used in the offer
known_feesArrayKnown fee entries when available
payment_typeStringPayment mode (prepay or deposit)
mileage_policy_typeStringMileage policy type (limited or unlimited)
mileage_total_limitStringHuman-readable mileage limit text
fuel_policyObjectFuel policy details for the rental
free_cancellation_policyObjectCancellation policy details when available
pickup_locationStringRequested pickup location
pickup_dateStringRequested pickup date
return_dateStringRequested return date
pickup_location_detailsObjectPickup location context such as airport and distance info
booking_urlStringBooking link for the specific offer
site_urlStringSupplier website URL when available
source_urlStringOriginal 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 ucs and ;map fragments 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: 20 for 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.

Support

For issues or feature requests, use the Issues tab on the actor page or contact the developer through Apify Console.

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.