The Vrbo API: how access works, and what you can build today
Vrbo has an API, and you almost certainly cannot get a key for it by filling in a form. This page is the straight version: how Expedia Group actually grants connectivity, what an approved partner gets, and exactly what Repull does for Vrbo today — including working next to the PMS a host already uses, without replacing it.
Written against the live Repull OpenAPI spec — every endpoint named below is one you can call today. Sibling guides: Airbnb API · Booking.com API.
The short answer
Is there a Vrbo API?
Yes. Vrbo is part of Expedia Group, and its integration surface is published through Vrbo Integration Central, which covers four areas: listings (details, rental rates, lodging configurations and availability), online booking (quotes, availability checks, creating reservations and updating reservation records), reviews, and inquiries. What does not exist is a self-serve developer portal: there is no page where you sign up, add a card and receive a Vrbo API key the way you would with a PMS. Access is granted to approved partners, not to whoever registers first.
The confusion is worth naming, because it is where most of the bad information comes from. Vrbo sits inside Expedia Group, and Expedia Group runs several developer surfaces that are not the same thing. The one that matters if you manage or build software for vacation rentals is Vrbo's own connectivity — the integration a property manager's software uses to keep rates, availability and bookings in step with Vrbo. A page that tells you to go and get a Vrbo API key in ten minutes is describing something else.
- Listings — listing details, rental rates, lodging configurations and availability.
- Online booking — generate quotes, check availability, book reservations, update reservation records.
- Reviews — share property reviews for display on Vrbo.
- Inquiries — retrieve rental inquiries submitted through Vrbo.
Access
How do you get Vrbo API access?
Through Expedia Group, by being approved rather than by registering. Vrbo Integration Central names two doors: a property-management software company building an integration for its customers contacts vrboconnectivity@expediagroup.com, and a property manager that wants to connect its own internal system to its own inventory contacts pmsalesinquiry@expediagroup.com. Integration Central states it is not intended for Vrbo Platform Property Managers or Integrated Property Managers who already manage their bookings through software. Approved software appears in the Vrbo Connectivity Partner Program with Preferred or Elite designations, and each host then designates that software from their own Vrbo Partner Central account. Plan for a commercial conversation and a certification pass, not an afternoon.
| If you are… | The path | What to expect |
|---|---|---|
| A software company (PMS, channel manager, vertical SaaS) | Apply through Vrbo Integration Central — vrboconnectivity@expediagroup.com | Partner review, certification, then a listing in the Connectivity Partner Program (Preferred / Elite). |
| A property manager connecting your own internal system | Expedia Group property-manager sales — pmsalesinquiry@expediagroup.com | Scoped to your own inventory. Integration Central says it is not for managers already running integrated software. |
| Software that needs a host’s Vrbo bookings, messages and reviews | The host signs in with their own Vrbo account through Repull — see the Vrbo docs | No application, no certification, and the host keeps the PMS or channel manager they already use. |
The part people underestimate
Capabilities
What does approved Vrbo connectivity actually let you do?
The published integration areas are listings, online booking, reviews and inquiries: rates, availability and property configuration flow from your software to Vrbo, bookings and reservation updates flow back, reviews can be shared to Vrbo, and inquiries submitted on Vrbo can be retrieved. The exact scope any one partner gets depends on the agreement and the designation, which is why the useful first question for Expedia Group is not "is there an endpoint for X" but "what does my agreement cover".
Expedia Group describes the outcome plainly: with API connectivity, rates, availability and bookings update dynamically from your software to Vrbo, and pricing, calendars and cancellation policies are controlled from your software rather than from the Vrbo extranet. The direction of travel matters — Vrbo connectivity is built around your system being the source of truth and pushing, which is a different mental model from Airbnb's request-and-consent OAuth.
Repull today
What does Repull support for Vrbo today?
Reservations, inquiries, guest messages and reviews — and answering guests and inquiries. The host signs in with their own Vrbo account on Repull’s hosted Connect page (in beta). Vrbo records then arrive in the same cross-channel reads as Airbnb and Booking.com — GET /v1/reservations, GET /v1/conversations and GET /v1/reviews with platform=vrbo — plus GET /v1/channels/vrbo/listings and GET /v1/channels/vrbo/reservations. Your app replies to guests with POST /v1/conversations/{id}/messages, answers inquiries with a pre-approval or an edited quote (POST /v1/conversations/{id}/pre-approval and /special-offers). Replying to Vrbo reviews through POST /v1/reviews/{id}/reply is in testing. With full access, calendar writes on linked listings — availability, prices and minimum stay — are pushed to Vrbo too. Listing content stays on Vrbo, and Vrbo bookings are managed on Vrbo.
| Capability | Status | How |
|---|---|---|
| Connect (host signs in with their Vrbo account) | Beta | POST /v1/connect with vrbo-login; status at GET /v1/connect/vrbo-login |
| Reservations, conversations, reviews (read) | Available | /v1/reservations, /v1/conversations, /v1/reviews, /v1/channels/vrbo/reservations |
| Listings (read) | Available | GET /v1/channels/vrbo/listings |
| Guest messages (send, text) | Available | POST /v1/conversations/{id}/messages |
| Inquiries: pre-approve, edit the quote | Available | POST /v1/conversations/{id}/pre-approval, POST /v1/conversations/{id}/special-offers |
| Review replies | In testing | POST /v1/reviews/{id}/reply |
| Calendar: availability, prices, minimum stay | With full access | PUT /v1/availability/{propertyId}, PATCH /v1/availability/batch |
| Listing content | Not available | Content stays on Vrbo. |
| Create, accept or cancel bookings | Not available | Vrbo bookings are managed on Vrbo. |
Next to the host's PMS, or instead of it
accessType: "messaging" Repull never writes the Vrbo calendar, prices or content, so the connection runs alongside whatever PMS or channel manager the host already uses. With full_access Repull keeps the calendar in step as well. How it works on every channel.Worked example
How do you read Vrbo listings and reservations through Repull?
With the same calls you use for every other channel. GET /v1/reservations?platform=vrbo returns the full normalised reservation — guest, price breakdown, cancellation policy — and GET /v1/conversations?platform=vrbo and GET /v1/reviews?platform=vrbo return the threads and reviews. The channel endpoints GET /v1/channels/vrbo/listings and GET /v1/channels/vrbo/reservations are thin, cursor-paginated views of the units linked to your listings and their bookings. After the host signs in and maps their units, upcoming bookings and the last 30 days of messages are imported first, then the rest of the account history in the background; GET /v1/connect/vrbo-login reports where that import stands.
Connect a host
curl -X POST https://api.repull.dev/v1/connect \
-H 'Authorization: Bearer sk_live_...' \
-H 'Content-Type: application/json' \
-d '{
"redirectUrl": "https://yourapp.com/connected",
"allowedProviders": ["vrbo-login"],
"accessType": "messaging"
}'
# Send the host to the returned url. They sign in with their Vrbo
# account and map their units; the import starts when they confirm.Page Vrbo reservations
curl 'https://api.repull.dev/v1/channels/vrbo/reservations?limit=50' \ -H 'Authorization: Bearer sk_live_...' # Page with the cursor from pagination.nextCursor. # ?offset= is accepted as a first-class alias for shallow paging.
The channel endpoints answer “what does Vrbo have”. For anything you would put in front of a human — the guest, the payout, the policy the stay was booked under — read the cross-channel surface instead, where a Vrbo booking arrives in the same shape as an Airbnb one.
The same data, normalised across channels
# The same reservation, with everything on it, from the # cross-channel read — guest, price breakdown, policy code. curl 'https://api.repull.dev/v1/reservations?platform=vrbo&limit=50' \ -H 'Authorization: Bearer sk_live_...' # Conversations and reviews take the same filter: # /v1/conversations?platform=vrbo # /v1/reviews?platform=vrbo # Properties filters on the channel it is published to: # /v1/properties?channel=vrbo
- Import. Nothing is imported until the host maps their units. Then upcoming bookings and the last 30 days of messages come first, and the rest of the history follows in the background.
- Paging. Both endpoints are cursor-paginated;
?offset=is accepted for shallow paging and is mutually exclusive withcursor. - Inactive listings. A deactivated listing keeps syncing but drops out of these reads, counts and cursors included. Find them with
GET /v1/listings?status=inactive. - Creating bookings.
POST /v1/reservationsis restricted todirect,websiteandowner. A Vrbo stay is owned by the channel and arrives through sync; minting one locally would only fight the next sync.
Channel differences
How is Vrbo different from Airbnb and Booking.com for a developer?
Three differences matter. First, how the host connects: Airbnb uses OAuth, where the host consents on an Airbnb screen; Booking.com uses a claim, where the host designates the connectivity provider in their Extranet, or the Extranet login, where they invite a user; Vrbo is a sign-in with the host’s own Vrbo account, with a verification code when Vrbo asks for one. Second, how much surface there is: Airbnb is the deepest channel on Repull, with listing content, photos, alterations and transactions; Booking.com adds property and room-level setup; Vrbo covers bookings, inquiries, messages, reviews and — with full access — the calendar, but not listing content. Third, the details bite differently — Vrbo bookings carry named cancellation policy codes like Airbnb’s (flexible, moderate, firm_14), while Booking.com carries a numeric policy id as a string, so never normalise those codes across channels.
| Airbnb | Booking.com | Vrbo | |
|---|---|---|---|
| How the host connects | OAuth — consent on an Airbnb screen | Claim — designate the provider in the Extranet, submit a hotel id | Sign-in with the host’s own Vrbo account (beta) |
| Surface on Repull | Listings, pricing, availability, photos, messaging, reviews, alterations, transactions | Properties, rooms, rates, content, messaging, reviews, charges | Reservations, inquiries and quotes, messaging, reviews; calendar with full access |
| Mapping unit | Listing | Property → room | Listing |
| Cancellation policy encoding | Named codes | Numeric policy id, as a string | Named codes, like Airbnb |
| Alongside an existing PMS | Yes — messaging access | Yes — Extranet login | Yes — messaging access |
Do not normalise cancellation policies across channels
flexible or firm_14, while Booking.com carries its numeric policy id as a string. Map them per channel or you will confidently tell a guest the wrong refund rule.Full depth on the other two: the Airbnb API guide and the Booking.com API guide.
Alongside a PMS
Can your app work with Vrbo without replacing the host’s PMS?
Yes — that is what the messaging access is for. An inbox, an AI guest assistant, a review tool or an upsell app needs the host’s Vrbo bookings, inquiries, messages and reviews, not their listings. Connecting through Repull with accessType set to messaging leaves the host’s PMS or channel manager exactly as it is — it keeps the Vrbo calendar, prices and content, and Repull never writes them. Your app gets the bookings, inquiries, messages and reviews, and answers guests and inquiries. When a host is ready for Repull to run the calendar too, they reconnect with full access.
Answer Vrbo guests and inquiries
# Reply to a Vrbo guest — same call as every other channel
curl -X POST https://api.repull.dev/v1/conversations/{id}/messages \
-H 'Authorization: Bearer sk_live_...' \
-H 'Content-Type: application/json' \
-d '{ "message": "Hi Anna — early check-in is fine." }'
# Answer an inquiry with an edited quote
curl -X POST https://api.repull.dev/v1/conversations/{id}/special-offers \
-H 'Authorization: Bearer sk_live_...' \
-H 'Content-Type: application/json' \
-d '{ "checkIn": "2026-11-06", "checkOut": "2026-11-09", "guests": 4,
"rentalAmount": 780, "fees": [{ "type": "CLEANING", "value": 120 }] }'Need a Vrbo capability that is not here yet?
Send the specific operation, the volume behind it, and your timeline. You will get a straight answer about where it sits rather than a roadmap page.
Email hello@repull.devThe no-partnership option
Can you just use the Vrbo iCal feed instead?
For availability alone, yes — every Vrbo listing can export a calendar feed, and that is the one path open to you with no partner relationship at all. It also tells you almost nothing: blocked and free dates, no guest, no money, no messages, no content, and it is a poll rather than a push, so it is minutes-to-hours stale by design. It is a reasonable double-booking guard and a poor operational integration. If a calendar feed is all you need, you do not need an API at all; if you need the booking, you need connectivity.
It is worth being concrete about the gap, because “we'll just use iCal” is a decision teams regret two months in. A calendar feed gives you a date range and a label. It does not tell you who booked, what they paid, what they asked in the message thread, which policy applies if they cancel, or whether the price on the listing is still the price you meant to charge. Every one of those lives behind connectivity.
Build it now
What can you build with Vrbo data today?
Anything that starts from the booking or the guest. A unified inbox or AI assistant that answers Vrbo guests next to Airbnb and Booking.com ones; inquiry handling that pre-approves or quotes from your own pricing; review management across every channel; a single reservation feed with occupancy, ADR and revenue reporting that is not missing a channel; a guest CRM that recognises a returning guest whichever channel they came through; and owner statements that reconcile. None of it requires the host to change PMS.
- A unified guest inbox or AI assistant that answers Vrbo guests and inquiries next to Airbnb and Booking.com — without the host changing PMS.
- A single reservation feed that is not missing a channel — Vrbo bookings land in the same normalised shape as Airbnb and Booking.com ones.
- Occupancy, ADR and revenue reporting where the Vrbo share is actually counted rather than estimated.
- A guest CRM that recognises the same guest across channels instead of creating a third profile.
- Review management across Vrbo, Airbnb and Booking.com from one place.
- Owner statements that reconcile, because the Vrbo stays are in the same ledger as everything else.
Start with the docs, or read how the same reasoning applies to the other two big channels in the Airbnb and Booking.com guides. If you are a SaaS platform planning to put this in front of your own customers, the commercial shape is covered in Repull for platforms, with the deeper technical version in the SaaS platform Q&A.
Building on Vrbo data?
Tell us what you are building and which channels it has to cover. We will tell you what works today, what does not, and what it would take — no form, no demo gate.
Email hello@repull.dev