Expedia Car Rentals Scraper
Pricing
from $0.80 / 1,000 results
Expedia Car Rentals Scraper
Scrape rental car offers from Expedia by location and dates. Returns vehicle class, model, vendor, per-day and total price, pickup location, ratings and a booking deeplink for every offer. Search by Expedia URL, region ID, or free-text place name.
Pricing
from $0.80 / 1,000 results
Rating
0.0
(0)
Developer
Farhan Febrian Nauval
Maintained by CommunityActor stats
0
Bookmarked
7
Total users
4
Monthly active users
11 hours ago
Last modified
Categories
Share
Scrape rental-car offers from Expedia by location and dates. One result = one rental-car offer.
Why use this actor
- No account, no login, and no API key required
- Search by place name (e.g. "Los Angeles Airport"), by Expedia region ID, or by pasting a full Expedia car-search link
- Every offer: vehicle class & model, rental company, per-day and total price, pickup location, rating, badges, and a direct booking link
- Set your own currency and language
- Stable JSON output suitable for pipelines, price tracking, or travel analytics
How it works
- Tell the actor where and when: one or more pickup locations plus the pickup and drop-off dates and times (or just paste Expedia car-search links).
- The actor looks up each location and collects the available rental-car offers for those dates.
- Results stream into your dataset, ready to download as JSON, CSV, or Excel.
You don't manage scrapers, browsers, or retries — the actor handles all of that.
Input
{"locations": ["Los Angeles Airport", "4933443"],"pickUpDate": "2026-06-25","dropOffDate": "2026-06-26","pickUpTime": "1030AM","dropOffTime": "1030AM","currency": "USD","locale": "en_US","maxResultsPerSearch": 0,"concurrency": 3,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
| Field | Type | Description |
|---|---|---|
locations | array | Pickup locations — place names ("Paris, France") or numeric Expedia region IDs. Combined with the dates/times below. |
pickUpDate / dropOffDate | string | Dates in YYYY-MM-DD form, applied to all locations. |
pickUpTime / dropOffTime | string | Times like 1030AM or 0230PM. Default 1030AM. |
startUrls | array | Alternative to locations: full Expedia /carsearch links (the actor reads the location and dates from each link). |
currency | string | Price currency (e.g. USD, EUR, GBP). Default USD. |
locale | string | Language/region (e.g. en_US, de_DE). Default en_US. |
maxResultsPerSearch | integer | Cap offers per search. 0 = no cap (all offers at the location). |
pageCount | integer | How many offers to request per search. Default 100 (captures essentially all — car inventory per location is small). |
concurrency | integer | How many searches to run in parallel. Default 3. |
proxyConfiguration | object | Proxy settings. A residential pool is recommended for reliable results. |
Output
{"_input": "Jakarta, Indonesia","_source": "S1-graphql","_scrapedAt": "2026-06-11T15:33:29Z","recordType": "CAR_OFFER","searchRegionId": "4933443","searchPickUpDate": "6/25/2026","searchDropOffDate": "6/26/2026","vehicle": {"category": "Economy","description": "Kia Rio Hatchback or similar","image": { "url": "https://mediaim.expedia.com/cars/2/f5297e42-....jpg", "description": "Economy" },"attributes": [{ "text": "5" }, { "text": "5 Doors" }, { "text": "Air Conditioning" },{ "text": "Unlimited mileage" }, { "text": "Automatic" }]},"vendor": { "image": { "description": "ACE Rent A Car", "url": "https://mediaim.expedia.com/cars/logos/AC.png" } },"priceSummary": {"lead": { "price": { "amount": 48.84, "formatted": "$49", "currencyInfo": { "code": "USD" } }, "accessibility": "$49 per day" },"total": { "price": { "amount": 54.21, "formatted": "$54", "currencyInfo": { "code": "USD" } }, "qualifier": "total" }},"tripLocations": { "pickUpLocation": { "text": "Counter and car in terminal", "locationId": "CGK-T-2-002" }, "dropOffLocation": null },"review": { "rating": "0%", "totalCount": null },"offerBadges": [ { "text": "Great Deal", "theme": "DEAL_GENERIC" } ],"infositeURL": { "relativePath": "/carsearch/details?date1=6%2F25%2F2026&....&dpln=4933443" }}
| Field | Type | Description |
|---|---|---|
recordType | string | Always CAR_OFFER. |
vehicle | object | Category, model description, image, and attributes (seats, doors, transmission, mileage, A/C). |
vendor | object | Rental company name and logo. |
priceSummary | object | lead = per-day price, total = full rental price, with currency. |
tripLocations | object | Pickup (and drop-off) counter/location details. |
review | object | Rating and review count for the offer, when available. |
offerBadges | array | Deal badges shown on the offer (e.g. "Great Deal"). |
infositeURL | object | Direct booking link path on Expedia for this offer. |
Fields are passed through exactly as Expedia provides them, so new fields flow through without changes. An offer/search that can't be read returns an _error record instead of being dropped.
Notes and limits
- Expedia heavily throttles automated car-search requests. Expedia strictly limits how often car availability can be requested from outside a normal browser, so live offers are not guaranteed on every run. When a request is throttled, the actor does not fail silently — it emits a clearly marked status record for that search so you always know what happened, instead of returning an empty dataset.
- To improve your chances of live results, use a residential proxy and let the actor apply its automatic retries. Running fewer locations at a time (low concurrency) also helps.
- Every run always produces at least one record: either car offers or a status record explaining why a search returned none — so an empty output never goes unexplained.
- Car inventory per location is small (typically 10–50 offers); one search captures essentially all of them, so there are no extra pages to walk.
- Prices, badges and availability are point-in-time and change frequently.
Related actors
Part of an Expedia suite — one actor per travel type: Cars, Stays, Flights, Packages, Cruises.
