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 URL
  • listings[].nightly, total — Vrbo’s nightly figure and stay total for the searched dates, in Vrbo’s recommended order
  • summary.matched_properties — how many rentals Vrbo matched for the destination
  • property.available, availability — whether the stay can be booked, and Vrbo’s reason when it cannot
  • fees_included — repeats Vrbo’s “All fees included” label on the total
  • payment_model — pay now, pay later, or pay later with a deposit
  • offers[] — 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
  }'
Response (trimmed)
{
  "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.

EndpointWhat it returnsCreditsStarter · Growth · Scale
Rental search
POST /v1/ota/vrbo/search
Vrbo’s recommended listings for a destination and stay, up to 50 per call, with prices2 credits$0.0020 · $0.0012 · $0.0008
Stay quote
POST /v1/ota/vrbo
Nightly price, total, payment model and availability for one rental and stay8 credits$0.0078 · $0.0048 · $0.0032

FAQ

Frequently asked questions

Read next

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.

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.

Sign-up is invite-only during the beta. Privacy

Or read the quickstart →