# Per-date availability and stay rules for one rental: `POST /v1/ota/vrbo/calendar`

Cost: 3 credits (3 (failed requests are free)). Docs: https://scrapercompany.com/docs/reference/vrbo-calendar

Vrbo's own calendar for one listing: 12 months by default (up to 24).

Each date says whether it is `available`, whether a stay may start
(`checkin_allowed`) or end (`checkout_allowed`) on it with Vrbo's reason
when not (`checkin_rule`: `not_available`, `min_prior_notification`,
`changeover_exclusion`, ...), and the minimum and maximum stay starting
that day. An unavailable date is only that: Vrbo does not say whether a
guest booked it or the owner blocked it.

One request. `include_prices=true` uses the date
picker's data instead and adds its nightly figure per date, labelled
`indicative`: those prices are not quotes and do not match
`POST /v1/ota/vrbo` for the same stay.

Answers are cached for 3 hours (`meta.cached`). 3 credits (5 with
`include_prices` or more than 12 months); a `listing_id` or `url` adds 24
the first time it is resolved. Failures are free.

Request body (JSON):

- `property_id` (string | null; optional; pattern ^\d+$): Numeric id returned by `POST /v1/ota/vrbo/search` (`property_id` on each listing). Not the id in the Vrbo URL.
- `listing_id` (string | null; optional; pattern ^\d+(?:ha)?$): The listing id in a Vrbo URL, e.g. `20218736ha` for `vrbo.com/20218736ha`. Resolved to `property_id` with one page load.
- `url` (string | null; optional; max length 2000): A Vrbo listing URL, e.g. `https://www.vrbo.com/20218736ha`. Its listing id is resolved like `listing_id`.
- `start_date` (string (date) | null; optional): First date of the calendar (default today). Not in the past.
- `months` (integer; optional; default 12; min 1, max 24): Months of dates from `start_date` (default 12, at most 24: Vrbo's calendar reaches about 730 days ahead). More than 12 months costs more credits.
- `include_prices` (boolean; optional; default false): Add Vrbo's date-picker nightly price to each date. These are indicative, not quotes: they do not match the stay price `POST /v1/ota/vrbo` returns. Costs more credits.
- `market` (string; optional; default US; one of US): Vrbo point-of-sale. Only `US` (www.vrbo.com, USD) is verified.

Base URL: `https://api.scrapercompany.com`. Auth: send your key in the `x-api-key` header. A failed request (4xx or 5xx) or an empty result costs 0 credits.

- [Full API reference as one Markdown file](https://scrapercompany.com/llms-full.txt)
- [OpenAPI spec](https://scrapercompany.com/openapi.json)
