Vrbo rental details and availability
One Vrbo vacation rental: name, city, region, country, position, guest rating and review count, sleeps, bedrooms, beds and bathrooms, description, popular amenities and every amenity by category, rooms and beds, spaces, house rules and policies, important information, host, neighborhood with nearby places, and the availability calendar for the coming year (each day: available, average nightly price, check-in and check-out allowed, minimum and maximum stay). With check_in and check_out: whether the stay is available, the nightly price, the total with its components (base rate, taxes, fees) and check-in and check-out times.
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
idrequired | string | A Vrbo listing number (as in vrbo.com/136165), a property id from a search answer, or a vrbo.com link. Example: 136165 |
check_in | string | Check-in date (YYYY-MM-DD) for the stay price. |
check_out | string | Check-out date (YYYY-MM-DD). |
adults | integer | Adults (default 2). |
children | string | Children's ages, comma-separated. |
calendar | boolean | Include the availability calendar (default true). |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/vrbo/v1/property?id=136165" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/vrbo/v1/property",
params={"id": "136165"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/vrbo/v1/property");
url.searchParams.set("id", "136165");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).