Vrbo API
- Data from Vrbo
Vrbo API for vacation-rental search and stay quotes
Search Vrbo for a destination and stay, then quote any rental for exact dates: Vrbo’s nightly figure, its fee-inclusive total, the payment model and whether the dates can be booked. Structured JSON, priced per call.
1,000 free credits a month · Failed requests are free · Free during the beta
Endpoints and prices checked against the API on
Vrbo is Expedia Group’s vacation-rental site, and rental managers who price whole homes, cabins and condos against their local market track it alongside Airbnb. Vrbo’s connectivity APIs carry a host’s own rates and calendar from property-management software to Vrbo; they do not show what other rentals charge. This API reads what vrbo.com shows a guest: up to 50 listings for a search with their prices, and a quote for any one rental and stay.
Each rental has two IDs. The listing id in the URL, such as 20218736ha, is not the numeric property_id Vrbo prices with; search returns both, and a quote accepts either. Vrbo shows a nightly figure and a stay total labelled “All fees included” without itemising cleaning fees, service fees or taxes, so the API returns that total and the label rather than a breakdown it would have to guess. Prices come from the US site in US dollars.
What you get
listings[].property_id, listing_id— the numeric id quotes use, and the id in the Vrbo URLlistings[].nightly, total— Vrbo’s nightly figure and stay total for the searched dates, in Vrbo’s recommended ordersummary.matched_properties— how many rentals Vrbo matched for the destinationproperty.available, availability— whether the stay can be booked, and Vrbo’s reason when it cannotfees_included— repeats Vrbo’s “All fees included” label on the totalpayment_model— pay now, pay later, or pay later with a depositoffers[]— each rate plan with its total, nightly price and Vrbo’s messages, such as “Reserve now, pay deposit”provenance— when the price was observed, for which market and in which currency
One call, structured JSON
POST /v1/ota/vrbo — 8 credits per successful call.
curl -X POST "https://api.scrapercompany.com/v1/ota/vrbo" \
-H "x-api-key: $SCRAPERCOMPANY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"property_id": "122942416",
"check_in": "2026-12-10",
"nights": 3,
"adults": 2
}'{
"search_parameters": {
"engine": "vrbo_property",
"property_id": "122942416",
"check_in_date": "2029-04-23",
"check_out_date": "2029-04-26",
"adults": 2,
"market": "US",
"currency": "USD"
},
"property": {
"property_id": "122942416",
"total": 1386,
"price_per_night": 462,
"basis": "cheapest_offer",
"total_text": "$1,386 for 3 nights",
"nightly_text": "$462",
"fees_included": true,
"currency": "USD",
"currency_verified": true,
"available": true,
"availability": "available",
"is_soldout": false,
"payment_model": "PAY_LATER_WITH_DEPOSIT",
"provenance": {
"schema_version": 1,
"observation_id": "rateobs_0123456789abcdef0123456789abcdef",
"collection_id": "ratecol_0123456789abcdef0123456789abcdef",
"observed_at": "2026-08-07T01:23:45.678Z",
"source": "vrbo",
"source_kind": "ota_offer",
"collector": "scrapingme.ota.vrbo",
"source_property_id": "122942416",
"requested_market": "US",
"requested_currency": "USD",
"returned_currency": "USD",
"egress_mode": "direct",
"price_basis": "stay_headline",
"derivation": "upstream"
}
},
"offers": [
{
"plan_id": "0000f7528ddb0787463c9be9506a3b5eceb0",
"room_type_id": "122942416",
"total": 1386,
"nightly": 462,
"currency": "USD",
"total_text": "$1,386 for 3 nights",
"nightly_text": "$462",
"fees_included": true,
"payment_model": "PAY_LATER_WITH_DEPOSIT",
"hotel_collect": true,
"member_only": false,
"inventory_type": "VRBO",
"business_model": "HOTEL_COLLECT",
"messages": [
"Reserve now, pay deposit",
"Your dates are available"
],
"provenance": {
"schema_version": 1,
"observation_id": "rateobs_0123456789abcdef0123456789abcdef",
"collection_id": "ratecol_0123456789abcdef0123456789abcdef",
"observed_at": "2026-08-07T01:23:45.678Z",
"source": "vrbo",
"source_kind": "ota_rate_plan",
"collector": "scrapingme.ota.vrbo",
"source_property_id": "122942416",
"requested_market": "US",
"requested_currency": "USD",
"returned_currency": "USD",
"egress_mode": "direct",
"price_basis": "stay_total_fees_included",
"derivation": "upstream",
"upstream_rate_id": "0000f7528ddb0787463c9be9506a3b5eceb0"
}
}
],
"meta": {
"source": "vrbo",
"nights": 3,
"wire_bytes": 8065,
"listing_resolved": false,
"elapsed_s": 0.44,
"egress_mode": "direct",
"collection_id": "ratecol_0123456789abcdef0123456789abcdef",
"observed_at": "2026-08-07T01:23:45.678Z"
}
}Endpoints and price per call
Credits per successful call, and what one call costs on the Starter, Growth, Scale plans. Failed requests cost nothing. See all plans.
| Endpoint | What it returns | Credits | Starter · Growth · Scale |
|---|---|---|---|
| Rental search POST /v1/ota/vrbo/search | Vrbo’s recommended listings for a destination and stay, up to 50 per call, with prices | 2 credits | $0.0020 · $0.0012 · $0.0008 |
| Stay quote POST /v1/ota/vrbo | Nightly price, total, payment model and availability for one rental and stay | 8 credits | $0.0078 · $0.0048 · $0.0032 |
Does Vrbo have a public API?
Not for reading prices across rentals. Vrbo’s connectivity APIs are for property-management software that sends a host’s rates and availability to Vrbo, and Expedia Group offers Vrbo inventory through its Rapid API only to a limited number of travel partners. This API is independent of Vrbo and Expedia Group and reads what vrbo.com shows a guest.
Which Vrbo ID do I need?
Quotes use the numeric property_id that search returns, which is not the id in the Vrbo URL. If you only have the URL id, such as 20218736ha from vrbo.com/20218736ha, send it as listing_id and the API resolves it with one extra page load.
Does the price include cleaning fees and taxes?
Vrbo labels its stay total “All fees included”, and the API repeats that label as fees_included. Vrbo does not itemise cleaning fees, service fees or taxes for this request, so the response has the total and the nightly figure, not a fee breakdown.
What happens when the dates are not available?
The quote returns available: false with Vrbo’s reason, such as a minimum stay or dates already taken, and it is billed like any other answer. Set retry_min_stay and the API also prices the minimum stay once and returns it as property.min_stay_quote, without replacing the stay you asked for.
Which Vrbo markets are supported?
The US site, www.vrbo.com, priced in US dollars. It is the only Vrbo point of sale that has been verified, so market accepts US only.
Do failed requests cost credits?
No. A failed or blocked call (any 4xx or 5xx response) costs 0 credits, and so does a search page that comes back empty. You pay only for successful results.
How do I get an API key?
Create an account on the sign-up page. Public sign-up is invite-only during the beta, so join the waitlist there and we will email you when your account is ready. The Free plan includes 1,000 credits a month, and the API is free while it is in beta. You create and rotate keys yourself in the dashboard.
More APIs on the same key
All APIsBooking.com API
Look a hotel up by name, then read what Booking.com shows a guest: a nightly price calendar, each room type with its rate plans, and the reviews with the property’s replies. Structured JSON, priced per call.
Expedia API
Look a hotel up by name, then read what Expedia shows a guest for one stay: every room type and rate plan with its total, nightly price and cancellation terms, and the guest reviews with the property’s replies.
Hotels.com API
Find a hotel’s Hotels.com id by name, then read what a guest on the Hotels.com site for their country sees: the headline price for a stay, every room type and rate plan, and the guest reviews.
Agoda API
Look a hotel up by name, then read every room type and rate plan Agoda shows a guest for one stay, with the stay total, discounts, meal plan and cancellation terms, in any of 23 currencies.
Tripadvisor API
Send a hotel’s Tripadvisor id and a stay, and get the offers Tripadvisor lists from Booking.com, Expedia, Hotels.com and other sites, each with what its price means. Read the hotel’s guest reviews and management replies from the same id.
Airbnb API
Search Airbnb by destination or map area and get each listing with its trip price and breakdown. Then read a listing’s calendar: availability, stay rules and the price Airbnb itself quotes for the nights you choose. Structured JSON, priced per call.
Start with 1,000 free credits a month
Join the waitlist and we will email you when your account is ready: your own API keys, 1,000 free credits a month, and the API is free during the beta.