Expedia Car Rental Scraper avatar

Expedia Car Rental Scraper

Pricing

Pay per usage

Go to Apify Store
Expedia Car Rental Scraper

Expedia Car Rental Scraper

Scrape car rental data from Expedia including prices, vehicle types, and booking details. Perfect for price comparison, market analysis, and rental rate monitoring. Extract real-time availability data.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

a day ago

Last modified

Share

Collect Expedia car rental offers from search results and turn them into structured datasets for pricing analysis, market tracking, and travel intelligence workflows.


Features

  • Car offer extraction - Capture Expedia car listings with offer tokens, vehicle info, and reserve metadata.
  • Pricing visibility - Collect lead/total pricing text and accessibility pricing notes.
  • Vehicle detail coverage - Save category, description, attributes, and image links.
  • Offer continuation data - Store continuation context and selection metadata for downstream processing.
  • Clean output - Empty or null values are removed automatically from each record.

Use Cases

Rental Price Monitoring

Track daily or weekly pricing movement for key destinations and pickup windows.

Fleet and Vendor Comparison

Compare vehicle categories and offer structure across suppliers and routes.

Travel Product Research

Build structured car-rental datasets for internal analytics and product planning.

Offer Token Pipelines

Use saved offer tokens and continuation context IDs for follow-up enrichment flows.


Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringNoLas Vegas Expedia carsearch URLFull Expedia car rental search URL. The actor reads location, region, dates, and times from this URL and always prioritizes it.
results_wantedIntegerNo20Maximum number of offers to save.
max_pagesIntegerNo8Maximum API pages to request.
proxyConfigurationObjectNoApify residential proxyProxy settings for reliable extraction.

Built-in behavior: The actor now always auto-heals messy Expedia URLs and always uses resilient request recovery internally, so those switches are no longer exposed as inputs.


Output Data

Each dataset item can contain:

FieldTypeDescription
car_offer_tokenStringExpedia offer token for continuation.
offer_headingStringMain listing title.
reserve_button_textStringReserve CTA text.
accessibility_stringStringAccessibility summary text for listing card.
infosite_urlStringExpedia details URL for the offer.
vehicle_categoryStringVehicle category label.
vehicle_descriptionStringVehicle description text.
vehicle_image_urlStringVehicle image URL.
vendor_image_urlStringVendor image URL.
vehicle_attributesArrayVehicle attributes from listing card.
review_ratingNumberNumeric rating value.
review_labelStringReview superlative text.
review_countIntegerNumber of reviews.
price_leadStringLead price text.
price_totalStringTotal price text.
price_accessibilityStringAccessibility pricing text.
strike_through_firstBooleanWhether strike-through appears first.
multi_item_price_tokenStringMulti-item pricing token.
fare_comparison_enabledBooleanFare comparison flag.
price_summary_textStringPrice summary text field.
selected_accessoriesArraySelected accessory values.
reward_points_selectionStringRewards selection value.
continuation_contextual_idStringContext ID for continuation.
search_idStringSearch identifier from result context.
pick_up_locationStringPickup location used for request.
drop_off_locationStringDrop-off location used for request.
pick_up_regionStringPickup region ID used.
drop_off_regionStringDrop-off region ID used.
pick_up_dateStringPickup date in YYYY-MM-DD.
drop_off_dateStringDrop-off date in YYYY-MM-DD.
pick_up_timeStringPickup time used.
drop_off_timeStringDrop-off time used.
page_indexIntegerZero-based page index.
operation_nameStringOperation name used for extraction.
scraped_atStringISO capture timestamp.

Usage Examples

Start URL Run

{
"startUrl": "https://www.expedia.com/carsearch?paandi=true&fdrp=1&styp=2&dagv=1&subm=1&locn=Las%20Vegas,%20Nevada,%20United%20States%20of%20America&dpln=178276&date1=4/22/2026&date2=4/24/2026&crfrr=defaultFlex&SearchType=Place",
"results_wanted": 20,
"max_pages": 8
}

Messy Wrapped URL Run

{
"startUrl": " https%3A%2F%2Fwww.expedia.com%2Fcarsearch%3Flocn%3DMiami%252C%2520Florida%252C%2520United%2520States%2520of%2520America%26dpln%3D178286%26date1%3D5%2F10%2F2026%26date2%3D5%2F12%2F2026%26time1%3D0900AM%26time2%3D0800PM%26SearchType%3DPlace%26subm%3D1%26fdrp%3D1 ",
"results_wanted": 40,
"max_pages": 10
}

Proxy-Optimized Run

{
"startUrl": "https://www.expedia.com/carsearch?paandi=true&fdrp=1&styp=2&dagv=1&subm=1&locn=Las%20Vegas,%20Nevada,%20United%20States%20of%20America&dpln=178276&date1=4/22/2026&date2=4/24/2026&crfrr=defaultFlex&SearchType=Place",
"results_wanted": 30,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Sample Output

{
"car_offer_token": "4f278f4a-31db-4fbe-9a8f-6fc0a0f33f98",
"offer_heading": "Midsize SUV",
"reserve_button_text": "Reserve",
"accessibility_string": "Midsize SUV from a major supplier in Las Vegas",
"infosite_url": "https://www.expedia.com/carsearch/details?offerToken=...",
"vehicle_category": "Midsize SUV",
"vehicle_description": "Toyota RAV4 or similar",
"vehicle_image_url": "https://images.trvl-media.com/cars/example-vehicle.png",
"vendor_image_url": "https://images.trvl-media.com/cars/vendor-logo.png",
"vehicle_attributes": ["5 seats", "Automatic", "Air conditioning"],
"review_rating": 8.7,
"review_label": "Very Good",
"review_count": 1240,
"price_lead": "$46/day",
"price_total": "$184 total",
"price_accessibility": "Total includes taxes and fees",
"multi_item_price_token": "a0f9e58f-cb9c-4578-a4e3-241a5fdf9c62",
"search_id": "8f58f2b5-3099-42f8-92ca-4b1ed7b5fd92",
"pick_up_location": "Las Vegas, Nevada, United States of America",
"drop_off_location": "Las Vegas, Nevada, United States of America",
"pick_up_region": "178276",
"drop_off_region": "178276",
"pick_up_date": "2026-04-22",
"drop_off_date": "2026-04-24",
"pick_up_time": "1030AM",
"drop_off_time": "1030AM",
"page_index": 0,
"operation_name": "CarSearchLite",
"scraped_at": "2026-04-15T09:10:11.402Z"
}

Tips For Best Results

Use Residential Proxies

  • Car rental pages can apply strong rate controls.
  • Residential routing improves consistency and lowers block risk.

Built-In Recovery

  • The actor automatically heals encoded, alias-style, redirect-wrapped, and partially incomplete Expedia URLs.
  • It also retries failed pages internally and pushes each successful page to the dataset immediately.

Keep Date Inputs Valid

  • Use future pickup/drop-off dates inside the Expedia URL.
  • Keep pickup earlier than drop-off.

Use Full Search URLs

  • Prefer Expedia URLs that already include pickup, drop-off, region, and date parameters.
  • The actor can heal wrapped or encoded links, but it still needs a real car search URL.

Start Small Then Scale

  • Start with results_wanted: 20.
  • Increase page depth only after validating output quality.

Expect Field Variance

  • Offer cards are not always uniform.
  • Records include only non-empty values.

Integrations

  • Google Sheets - Track daily pricing snapshots.
  • Airtable - Build searchable rental offer databases.
  • Looker Studio - Visualize price and category trends.
  • Webhooks - Trigger downstream automation.

Export Formats

  • JSON - Best for API and analytics pipelines.
  • CSV - Best for spreadsheet workflows.
  • Excel - Best for operational reporting.
  • XML - Best for legacy integrations.

Frequently Asked Questions

Why do some records have fewer fields?

Expedia cards vary by supplier and route. Empty fields are removed from output automatically.

Can I run one-way searches?

Yes. Provide dropLoc and optionally dropRegion when pickup and drop-off differ.

Without stable proxy routing, high-volume runs may return rate-limit responses.

Why did older versions stop near 29 results?

Expedia pagination expects an item offset, not sequential page numbers. This actor now advances by full page offsets so larger result targets continue past the first 20 offers correctly.

Can I collect more than 20 offers?

Yes. Increase results_wanted, max_pages, and page_size based on your use case.


Support

Use Apify Console support channels for bug reports and feature requests.

Resources


This actor is intended for legitimate data workflows. You are responsible for complying with website terms, applicable laws, and responsible data usage practices.