Vrbo API endpoint
Returns public calendar dates, nightly display prices when provided, availability, check-in/out validity, and stay constraints.
/vrbo/properties/{property_id}/rate-calendarReturns the public property calendar: the currently available calendar window, each date's displayed nightly price when provided, availability, check-in and check-out validity, and stay-length constraints. The upstream controls the current window.
property_id is the numeric Vrbo listing identifier. Some property URLs add
the suffix ha; that suffix is accepted as part of the identifier.
Example request:
GET /api/v1/vrbo/properties/961219/rate-calendar
Response data includes property_id, the resolved product_id, the source
URL, configuration (current_date, begin_date, end_date,
available_by_default, calendar_template_type, and tnl_fields), and
days. Each day may include a displayed price, an accessibility label, a
theme, availability, check-in/out validity, and stay constraints. Calendar
prices are nightly display prices when present and do not include an inferred
trip total. Some public calendar dates may have no displayed price.
| Field | Filled in, of 747 checked | Values in the sample |
|---|---|---|
| date | 500 | |
| available | 500 | true in 83 of 500 |
| checkin_validity | 500 | true in 75 of 500 |
| checkout_validity | 500 | true in 75 of 500 |
| stay_constraints | 500 | |
| display_price | 58 | “$69” and 18 other values |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| property_id (path) | string | Yes | Vrbo property ID (optionally ending in ha) | 961219 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/vrbo/properties/961219/rate-calendar" \ -H "x-api-key: $CRAWLORA_API_KEY"
Request schema
No body schema
Response schema
#/definitions/vrbo.vrboRateCalendarResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | vrbo.RateCalendar | No | ||||
| data.configuration | vrbo.RateCalendarConfiguration | No | ||||
| data.configuration.available_by_default | boolean | No | ||||
| data.configuration.begin_date | vrbo.CalendarDate | No | ||||
| data.configuration.begin_date.day | integer | No | ||||
| data.configuration.begin_date.month | integer | No | ||||
| data.configuration.begin_date.year | integer | No | ||||
| data.configuration.calendar_template_type | string | No | ||||
| data.configuration.current_date | vrbo.CalendarDate | No | ||||
| data.configuration.current_date.day | integer | No | ||||
| data.configuration.current_date.month | integer | No | ||||
| data.configuration.current_date.year | integer | No | ||||
| data.configuration.end_date | vrbo.CalendarDate | No | ||||
| data.configuration.end_date.day | integer | No | ||||
| data.configuration.end_date.month | integer | No | ||||
| data.configuration.end_date.year | integer | No | ||||
| data.configuration.tnl_fields | array | No | ||||
| data.configuration.tnl_fields[].key | string | No | ||||
| data.configuration.tnl_fields[].value | string | No | ||||
| data.days | array | No | ||||
| data.days[].accessibility_label | string | No | ||||
| data.days[].available | boolean | No | ||||
| data.days[].checkin_validity | boolean | No | ||||
| data.days[].checkout_validity | boolean | No | ||||
| data.days[].date | vrbo.CalendarDate | No | ||||
| data.days[].date.day | integer | No | ||||
| data.days[].date.month | integer | No | ||||
| data.days[].date.year | integer | No | ||||
| data.days[].display_price | string | No | ||||
| data.days[].stay_constraints | vrbo.RateCalendarStayConstraints | No | ||||
| data.days[].stay_constraints.maximum_stay_in_days | integer | No | ||||
| data.days[].stay_constraints.minimum_stay_in_days | integer | No | ||||
| data.days[].stay_constraints.stay_increment_in_days | integer | No | ||||
| data.days[].theme | string | No | ||||
| data.product_id | string | No | ||||
| data.property_id | string | No | ||||
| data.source_url | string | No | ||||
| data.submit_button_label | string | No | ||||
| data.validation_message | string | No |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/vrbo/properties/961219/rate-calendar" \
-H "x-api-key: $CRAWLORA_API_KEY"