VRBO Vacation Rental Scraper avatar

VRBO Vacation Rental Scraper

Pricing

Pay per event

Go to Apify Store
VRBO Vacation Rental Scraper

VRBO Vacation Rental Scraper

Scrape VRBO vacation rental listings. Extract prices, ratings, amenities, photos, and geo-coordinates for any destination and date range. Pay per result.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

6 minutes ago

Last modified

Share

Extract vacation rental listings from VRBO — the world's largest vacation rental marketplace owned by Expedia Group. Scrape property names, prices, ratings, amenities, photos, coordinates, and host information for any destination and date range. No API key needed. Export to JSON, CSV, or Excel. Pay per result.

What does VRBO Scraper do?

VRBO Scraper lets you collect vacation rental data from vrbo.com without needing an API key or developer access. Simply provide a destination and date range, and the scraper will:

  • Search for available vacation rentals matching your criteria
  • Extract pricing, ratings, and availability information
  • Collect amenities, photos, and property details
  • Return geo-coordinates, city, and state information
  • Handle pagination automatically to retrieve large result sets

Perfect for travel tech companies, real estate analysts, pricing researchers, property managers benchmarking their listings, and anyone needing VRBO rental data at scale.

Who is it for

Property managers and Airbnb/VRBO hosts use this to benchmark their listings against local competition — compare prices, occupancy patterns, and amenity offerings to stay competitive without manual research.

Short-term rental investors use it to evaluate markets before purchasing. Pull rental prices for 2-3 bedroom properties in target neighborhoods, calculate potential revenue, and compare dozens of markets in hours instead of weeks.

Travel tech developers integrate VRBO data into apps — price comparison tools, availability aggregators, or destination guides. The structured JSON output drops directly into your database or data pipeline.

Real estate analysts and researchers use this to study vacation rental market dynamics, pricing trends, seasonal patterns, and geographic distribution of inventory. Academic and commercial researchers get structured, timestamped data ready for analysis.

Property management companies use bulk scraping to monitor competitor listings across multiple markets and automatically update their pricing strategy.

Why use it

  • No VRBO API needed — no registration, no rate limits, no developer approval required
  • Date-aware pricing — prices reflect your actual check-in/check-out dates, not generic estimates
  • Pay only for results — PPE pricing means you never pay for failed runs or bot blocks
  • GPS coordinates included — every listing includes latitude/longitude for mapping and geo-analysis
  • Multiple destinations in one run — search 10 cities simultaneously, results combined automatically
  • Full amenities list — captures the complete amenities from each property detail page

Data you can extract

FieldDescription
idVRBO property ID
nameProperty listing title
urlFull VRBO URL for the property
propertyTypeProperty type (Cabin, Condo, House, etc.)
descriptionFull property description
ratingGuest rating score (0–10 scale)
reviewCountTotal number of guest reviews
latitude / longitudeGPS coordinates
city / state / countryLocation details
pricePerNightNightly price for requested dates (USD)
totalPriceTotal price for requested stay (when available)
bedrooms / bathroomsRoom counts
maxOccupancyMaximum guest capacity
amenitiesList of property amenities
photosPhoto URLs
hostNameHost/owner name
instantBookWhether instant booking is available
minNightStayMinimum night stay requirement

How much does it cost to scrape VRBO vacation rentals?

This actor uses Pay Per Event (PPE) pricing — you only pay for the listings you actually receive:

  • Actor start: $0.00009 (one-time per run, covers startup costs)
  • Per listing: $0.20 per vacation rental listing extracted (tiered discounts for higher-volume subscribers)

Cost examples

Use caseListingsEstimated cost
Quick market check10 listings~$2.00
Neighborhood analysis50 listings~$10.00
Full market research200 listings~$40.00
Bulk data collection1,000 listings~$200.00

Free plan: Apify's free tier includes $5 of monthly usage — enough for ~25 VRBO listings at no cost.

Note: VRBO uses Akamai bot protection requiring residential proxy, which accounts for the higher per-listing price compared to simple scrapers. Runs against destinations with high proxy resistance may occasionally produce fewer results — re-running typically resolves this.

How to scrape VRBO listings (step by step)

  1. Go to the VRBO Scraper page on Apify Store
  2. Click Try for free
  3. In the Destinations field, enter one or more destination names (e.g., "Smoky Mountains, TN")
  4. Optionally set Check-in Date and Check-out Date for date-aware pricing
  5. Set Max Listings to control how many results to fetch (default: 10 for the first run)
  6. Click Start and wait for the scraper to finish (typically 1–3 minutes for 10 listings)
  7. Download your results as JSON, CSV, or Excel from the Dataset tab

Input parameters

FieldTypeRequiredDescription
locationQueriesstring[]Yes*Destinations to search (e.g., "Smoky Mountains, TN", "Maui, HI")
startUrlsstring[]NoDirect VRBO URLs to scrape (search pages or property pages)
checkInstringNoCheck-in date (YYYY-MM-DD format). Defaults to tomorrow.
checkOutstringNoCheck-out date (YYYY-MM-DD format). Defaults to 5 days after check-in.
adultsnumberNoNumber of adults (default: 2)
childrennumberNoNumber of children (default: 0)
maxListingsnumberNoMaximum listings to scrape (default: 50, 0 = unlimited)
minBedroomsnumberNoFilter by minimum bedroom count
maxPricenumberNoMaximum nightly price filter (USD)
sortBystringNoSort order: RELEVANCE, PRICE_LOW_TO_HIGH, PRICE_HIGH_TO_LOW, REVIEWS (default: RELEVANCE)
scrapeDetailsbooleanNoVisit individual property pages for full amenities (default: true)

*Either locationQueries or startUrls is required.

Example input

{
"locationQueries": ["Smoky Mountains, TN", "Gatlinburg, TN"],
"checkIn": "2025-09-01",
"checkOut": "2025-09-07",
"adults": 4,
"children": 0,
"maxListings": 50,
"minBedrooms": 2,
"sortBy": "RELEVANCE",
"scrapeDetails": true
}

Output

Each listing is saved as a structured JSON object in the dataset. Download as JSON, CSV, or Excel from the Apify Console.

Example output

{
"id": "95071426",
"name": "Secluded Mountain Getaway - Spring Sale",
"url": "https://www.vrbo.com/95071426",
"propertyType": null,
"description": null,
"rating": 9.2,
"reviewCount": 67,
"latitude": 35.804789,
"longitude": -83.640079,
"city": "Sevierville",
"state": "TN",
"country": "USA",
"address": null,
"pricePerNight": 172,
"currency": "USD",
"totalPrice": null,
"bedrooms": 1,
"bathrooms": 1,
"maxOccupancy": 4,
"amenities": ["Hot tub", "Kitchen", "Free WiFi", "Air conditioning", "Outdoor Space", "Parking available"],
"photos": ["https://media.vrbo.com/lodging/96000000/95080000/95071500/95071426/eaf1de1b.jpg"],
"hostName": null,
"instantBook": false,
"minNightStay": null,
"checkin": "2025-09-01",
"checkout": "2025-09-07",
"scrapedAt": "2026-04-03T05:00:00.000Z"
}

Tips for better results

  • Set dates for accurate pricing — VRBO prices are date-dependent. Always set checkIn/checkOut to get real nightly rates.
  • Use sortBy: PRICE_LOW_TO_HIGH when building affordability datasets to get the most relevant listings first.
  • Batch large requests — for 500+ listings, split across multiple destination queries to improve reliability.
  • Filter with minBedrooms — property managers usually only want 2+ bedroom properties; filtering reduces cost and scraping time.
  • Use startUrls to scrape a pre-filtered VRBO search URL (e.g., a search with specific amenity filters applied in the browser).

Integrations

  • Google Sheets — Use the Apify Google Sheets integration to stream VRBO listings directly into a spreadsheet for live price monitoring dashboards.
  • Make / Zapier — Trigger the scraper on a schedule and push new listings to your CRM, Slack channel, or property management system automatically.
  • Airtable — Build a vacation rental market analysis database by loading VRBO data into Airtable with automated field mapping.
  • Webhooks — Configure a webhook to notify your application when the scraper completes and new listings are available.
  • Python / Pandas — Download the JSON dataset and analyze pricing distributions, seasonal trends, or geographic clusters with a few lines of Python.

Use with the Apify API

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('automation-lab/vrbo-scraper').call({
locationQueries: ['Smoky Mountains, TN'],
checkIn: '2025-09-01',
checkOut: '2025-09-07',
adults: 2,
maxListings: 50,
scrapeDetails: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_API_TOKEN')
run = client.actor('automation-lab/vrbo-scraper').call(run_input={
'locationQueries': ['Smoky Mountains, TN'],
'checkIn': '2025-09-01',
'checkOut': '2025-09-07',
'adults': 2,
'maxListings': 50,
'scrapeDetails': True,
})
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item)

cURL

curl -X POST "https://api.apify.com/v2/acts/automation-lab~vrbo-scraper/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"locationQueries": ["Smoky Mountains, TN"],
"checkIn": "2025-09-01",
"checkOut": "2025-09-07",
"adults": 2,
"maxListings": 50,
"scrapeDetails": true
}'

Use with AI (MCP / Claude)

VRBO Scraper is available as an MCP (Model Context Protocol) tool — use it directly from Claude Desktop, Cursor, VS Code, or any MCP-compatible AI environment.

Claude Code (terminal)

$claude mcp add --transport http vrbo-scraper https://mcp.apify.com?tools=automation-lab/vrbo-scraper

Claude Desktop / Cursor / VS Code

Add this to your MCP config file (claude_desktop_config.json or .cursor/mcp.json):

{
"mcpServers": {
"vrbo-scraper": {
"type": "http",
"url": "https://mcp.apify.com?tools=automation-lab/vrbo-scraper",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}

Example prompts

  • "Scrape the top 50 vacation rentals in Gatlinburg, TN for Labor Day weekend (Sep 1–7) with at least 2 bedrooms and show me the price distribution."
  • "Get all VRBO listings in Miami Beach under $300/night for 2 adults and export to CSV."
  • "Find vacation rentals in Maui available next month, sorted by price, and compare prices per bedroom."

VRBO-specific notes

Why Playwright?

VRBO loads search results and property data via client-side JavaScript (React + Apollo GraphQL). Pure HTTP requests return incomplete or empty pages. Playwright renders the full page including JavaScript to capture all property data.

Listing types

VRBO has two types of listings:

  • Standard vacation rentals (/NNNN URLs) — individual properties with bedroom/bath/occupancy details
  • Hotel-style multi-unit properties (/pdp/lo/NNNN URLs) — resort-style accommodations without per-unit bedroom counts

Both types are scraped, but hotel-style listings may have null for bedroom/bathroom counts.

Search results

VRBO's search results are date-aware — prices shown on search pages reflect the actual nightly rate for your requested dates. The scraper captures this pricing from search result cards.

Amenity data

The scraper captures the Popular Amenities section (typically 4–8 amenities) that VRBO highlights for each property. Full amenity lists are available when the property's Apollo state loads after page hydration.

Frequently asked questions

Q: Does this require a VRBO account? A: No. The scraper accesses publicly available listing data without authentication.

Q: How many listings can I scrape in one run? A: Set maxListings to your desired count. For large datasets (500+), we recommend batching by destination or date range to improve reliability.

Q: Can I scrape a specific property URL? A: Yes! Use startUrls with any VRBO property URL (e.g., https://www.vrbo.com/741398).

Q: Why are some listings missing bedrooms or price data? A: Hotel-style multi-unit properties don't have per-unit bedroom counts. Prices require date parameters — the scraper uses dateless detail page URLs to get full amenity data from VRBO's SSR cache, so prices come from the search card view.

Q: What destinations does this support? A: Any destination you can search on vrbo.com — cities, regions, landmarks, addresses.

Q: I got 0 results — what happened? A: VRBO's Akamai bot protection occasionally blocks requests. The scraper uses residential proxies and session rotation to minimize this, but some runs may return fewer results than expected. Try re-running with the same input — bot challenges are intermittent.

Q: Is this compliant with VRBO's terms of service? A: This scraper accesses only publicly available data. Always review VRBO's terms of service and consult legal counsel before using scraped data commercially.

  • Airbnb Scraper — Scrape Airbnb listings with pricing, reviews, host info, and availability calendar
  • Booking.com Scraper — Extract hotel and vacation rental listings from Booking.com
  • Tripadvisor Scraper — Collect hotel, restaurant, and attraction data from TripAdvisor

This actor scrapes publicly available data from VRBO's website. Users are solely responsible for ensuring their use of this data complies with VRBO's Terms of Service, applicable laws (including GDPR, CCPA), and any other relevant regulations. The actor author provides no warranty for the accuracy or completeness of scraped data.

Support

If you encounter issues or have questions, please open an issue or contact us through the Apify console.