Availability and pricing API
Find public properties and request a date-specific rental estimate.
This public, read-only JSON API does not require an API key. It does not make reservations or accept personal or payment information. Use a property page to review details and complete a booking.
Prices and availability can change. The total is an estimate for the specified selections; optional selections and refundable security deposits may be separate. Confirm the final price and terms at checkout.
1. Find a property
Request the property catalog:
GET https://www.ohiopylevacationrentals.com/wp-json/ovr/v1/properties?page=1&per_page=25
The response contains properties, each with unit_id, name, and url, plus page, per_page, and next_page. Use each returned next_page as the next page value until it is null. Pages start at 1 and are limited to 1,000; per_page is 1–50 and defaults to 25. A page may contain fewer items than requested while a next page still exists.
The catalog lists eligible published properties. It does not indicate whether they are available for a particular stay.
2. Request a live estimate
GET https://www.ohiopylevacationrentals.com/wp-json/ovr/v1/pricing?unit_id={unit_id}&check_in={YYYY-MM-DD}&check_out={YYYY-MM-DD}&occupants={guests}&occupants_small=0&pets={0_or_1}
Replace the values in braces. All six parameters are required; do not include extra parameters.
| Parameter | Value |
|---|---|
unit_id | Positive property ID from the catalog. |
check_in | Valid date in YYYY-MM-DD format, today or later in the site's time zone. |
check_out | Valid YYYY-MM-DD date after check-in, no more than 366 nights later and no more than three years from today. |
occupants | Total number of guests, from 1 to 100. The property's maximum occupancy also applies. |
occupants_small | Must be 0, matching current checkout handling. Include all guests in occupants. |
pets | 0 for no pets or 1 for the site's pet selection. |
Promotion codes and optional add-on selection are not supported. Pet pricing, where applicable, follows the site's checkout quote process.
Understanding the response
available: truemeans a quote was returned for the requested property, dates, and selections.price.totalandprice.currencycontain the provider's quoted total and currency.checked_atis the UTC time of the check.price.breakdownappears only when the provider's lodging, fees, and itemized taxes reconcile to the total. It is a breakdown of the total, not an extra amount to add. When currency is absent, the site uses its checkout fallback of USD.available: falsemeans the requested stay or guest count was not available. No price is returned.- The returned
property_urllinks to the property's public page for further details and booking.
Errors and responsible use
| HTTP status | Meaning |
|---|---|
| 200 | The request succeeded; read available to determine the result. |
| 400 | Invalid request or property cannot be publicly identified. Check the parameters and catalog. |
| 429 | Request or concurrency limit reached. Back off; honor Retry-After when provided, otherwise wait at least 60 seconds. |
| 503 | The service or its provider is temporarily unavailable. Do not treat this as an unavailable property or a price. |
Make pricing requests one at a time and allow at least 15 seconds between requests. Limits are shared across visitors: up to two pricing requests in flight globally, up to ten admissions per minute globally, and up to five per minute per client address. Additional web-server limits can return 429 sooner. Avoid bulk polling and fetch fresh quotes only when needed.
These routes return Cache-Control: no-store. Treat checked_at as the time of the estimate; do not represent it as a guaranteed or bookable rate.