VRBO Search Results Scraper
Pricing
from $1.80 / 1,000 results
VRBO Search Results Scraper
Scrape VRBO vacation rentals and Expedia hotels from search results by destination, dates, and guests. Returns property name, price, location, ID, photos, amenities, ratings, and direct booking URL. No browser overhead.
Pricing
from $1.80 / 1,000 results
Rating
0.0
(0)
Developer
Crikit
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
4
Monthly active users
9 days ago
Last modified
Categories
Share
What does this actor do?
The VRBO Search Results Scraper extracts vacation rental and hotel data from VRBO search results pages without manual copy-pasting. Give it a destination, dates, and guest count, and the actor returns structured JSON: property name, price, location, ID, booking URL, photos, amenities, and ratings. It is a fast, headless data scraper for vacation rental analytics, property managers, and travel aggregators that need fresh inventory from vrbo.com via a simple API.
Because VRBO and Expedia share the same backend, this VRBO scraper returns vacation rentals from VRBO plus Expedia-listed hotels for the same destination. Use the propertyType filter to narrow down to vacation rentals only (best for STR comp analysis) or hotels only.
What data does it extract?
The VRBO Search Results Scraper extracts the following fields per property:
id- Unique VRBO/Expedia property IDname- Listing titlelocation- Neighborhood when VRBO shows one (e.g. "Within Downtown Pigeon Forge")url- Direct booking URL on vrbo.compriceFormatted- Current displayed nightly price (e.g. "$138")priceLabel- Total price with date range (e.g. "$551 for 4 nights")feesIncluded- True when VRBO labels the price as "All fees included"propertyType- One of VACATION_RENTAL, HOTEL, or UNKNOWNpropertyTypeLabel- Subtype text (e.g. "Cabin", "House", "Apartment")bedrooms- Bedroom count parsed from the card (0 for studios; null when not shown)bedTypes- Bed configuration text (e.g. "2 Queen Beds"; null when not shown)photos- Property image URLs (up to 6 per record; lazy-loaded images are forced into view before extraction)amenities- Featured amenities when shown on the cardrating- Guest rating on the 10-point scale (when present)reviewCount- Number of reviewssearchedLocation- The original search input that produced this recordactualDestination- The destination string VRBO actually used (helps debug IP-resolution drift)actualRegionId- The VRBO regionId returned on the final search URL
How to use this actor
- Set one or more destinations in
locations(e.g. "Pigeon Forge, Tennessee", "Asheville, North Carolina"). - Set
checkInandcheckOutdates in YYYY-MM-DD format. - Click Start. The actor returns the first N results per location, capped by
maxResults.
The actor automatically calls VRBO's location typeahead to resolve each destination string to the correct VRBO regionId before searching. This pins results to the location you actually meant, regardless of what the proxy IP's geolocation would default to. The resolved regionId is logged and surfaced in every record as actualRegionId.
For pre-known regions, you can skip the typeahead step by passing the VRBO regionIds directly in the regionIds array. A 50-property scrape typically completes in 60 to 120 seconds.
Input parameters
| Field | Type | Default | Description |
|---|---|---|---|
locations | string[] | ["Pigeon Forge, Tennessee"] | Destinations to search. Resolved to a regionId via the VRBO typeahead. |
regionIds | string[] | [] | Optional VRBO regionIds for direct targeting (skips the typeahead step) |
checkIn | string | today + 30 days | YYYY-MM-DD |
checkOut | string | check-in + 5 days | YYYY-MM-DD |
adults | int | 2 | Number of guests, 1 to 16 |
maxResults | int | 50 | Max properties per location, 1 to 500 |
propertyType | string | ALL | ALL, VACATION_RENTAL_ONLY, or HOTEL_ONLY |
currency | string | USD | Display currency |
locale | string | en_US | Response locale |
proxyConfiguration | object | Apify RESIDENTIAL US | Proxy config |
Output format
Each record is a JSON object like:
{"id": "3869104","name": "Designer Retreat Pool + Theater + Hot Tub Near Pigeon Forge","location": "Within Downtown Pigeon Forge","url": "https://www.vrbo.com/3869104?...","priceFormatted": "$1,099","priceLabel": "$4,396 for 4 nights","feesIncluded": true,"propertyType": "VACATION_RENTAL","propertyTypeLabel": "Cabin","bedrooms": 5,"bedTypes": "3 Queen Beds","amenities": [],"photos": ["https://media.vrbo.com/lodging/.../9283a298.jpg","https://media.vrbo.com/lodging/.../44d88df8.jpg"],"rating": 9.4,"reviewCount": 19,"searchedLocation": "Pigeon Forge, Tennessee","actualDestination": "Pigeon Forge, Tennessee, United States of America","actualRegionId": "8264"}
Pricing
This VRBO Search Results Scraper uses pay-per-event pricing:
| Event | Price |
|---|---|
| Per result | $0.0018 |
Apify subscription tiers (Bronze, Silver, Gold) apply standard discounts automatically. A typical search of 50 properties costs approximately $0.09 in dataset charges. Apify residential proxy and compute are billed separately at standard rates.
Frequently asked questions
Does this VRBO scraper return Expedia hotels too?
Yes. VRBO and Expedia share the same backend, so a single search returns both vacation rentals and hotels. Use propertyType to filter to one or the other.
Do I need to log in to VRBO?
No. The actor scrapes public search results only. No VRBO account or credentials are needed.
How fresh is the data?
Real time. Every run hits vrbo.com live and returns current listings, prices, and availability for the requested dates. Repeat runs will reflect new listings and price changes.
Why might my search return a different city than expected?
VRBO uses IP-based geolocation to resolve ambiguous destination strings. This actor calls VRBO's typeahead API to pin the destination to the correct regionId before searching, so this rarely happens in v0.2+. Every record includes actualDestination and actualRegionId fields so you can verify which region VRBO returned.
Can I scrape historical prices?
The VRBO API only returns current availability and prices for the requested dates. To track price history, schedule the actor on a daily or weekly cadence and store snapshots over time.