---
title: "Find a dated price example for a published home when travel dates are flexible and the traveler supplied windowStart/windowEnd, nights and guests. Ask for missing details before requesting or showing any price; never substitute a default party or stay. Use the returned stayQuote.estimate to join a pending sample search. Checks at most four stays inside windowStart/windowEnd, through supported public readers only; narrow windows try weekly samples and broad windows try upcoming months. Preserve any requested flexible month or range. Nights, guests and currency stay fixed. Returns the actual selected request and quote; a sample never proves availability for other dates or the lowest price. If no suitable stay is found, quote is null and overall availability is unknown; diagnostics retain the attempted-stay count and last observed reason. Do not retry a completed unsupported host or upstream failure unchanged. When price is requested, finish checks for at most three promising shortlisted homes; do not check every card. Explicit travel dates must use get_stay_quote instead. Optional startingNightlyPrice is an advertised nightly starting rate only, with no confirmed dates, guest basis, fees or taxes; never multiply it into a stay total. No booking, payment or guest contact details."
method: POST
path: "/api/public/v1/stay-estimates"
---

# Find a dated price example for a published home when travel dates are flexible and the traveler supplied windowStart/windowEnd, nights and guests. Ask for missing details before requesting or showing any price; never substitute a default party or stay. Use the returned stayQuote.estimate to join a pending sample search. Checks at most four stays inside windowStart/windowEnd, through supported public readers only; narrow windows try weekly samples and broad windows try upcoming months. Preserve any requested flexible month or range. Nights, guests and currency stay fixed. Returns the actual selected request and quote; a sample never proves availability for other dates or the lowest price. If no suitable stay is found, quote is null and overall availability is unknown; diagnostics retain the attempted-stay count and last observed reason. Do not retry a completed unsupported host or upstream failure unchanged. When price is requested, finish checks for at most three promising shortlisted homes; do not check every card. Explicit travel dates must use get_stay_quote instead. Optional startingNightlyPrice is an advertised nightly starting rate only, with no confirmed dates, guest basis, fees or taxes; never multiply it into a stay total. No booking, payment or guest contact details.

`POST /api/public/v1/stay-estimates`

## Request

- Base URL: `https://chucho.ai`
- URL: `https://chucho.ai/api/public/v1/stay-estimates`
- Auth: none required

## Request body

- object
  - `id` string, required
  - `windowStart` string, date, required
  - `windowEnd` string, date, required
  - `nights` integer, required
  - `guests` integer, required
  - `currency` 'USD' | 'EUR' | 'GBP' | 'CRC' | 'MXN' | 'COP' | 'PEN' | 'BRL' | 'AUD'

## Response `200`

Current public facts

- object
  - `basis` 'sample', required
  - `status` 'ready' | 'pending' | 'not_checked' | 'limited', required
  - `request` object, required
    - `id` string, required
    - `arrival` string, date, required
    - `departure` string, date, required
    - `guests` integer, required
    - `currency` 'USD' | 'EUR' | 'GBP' | 'CRC' | 'MXN' | 'COP' | 'PEN' | 'BRL' | 'AUD'
    - `execution` 'auto' | 'browser': Selected-home execution only. Default auto prefers the fast supported reader. browser requests the slower experimental quote-only agent on reviewed Stays sites; unsupported sites return unknown. Search never starts this agent.
  - `quote` object, nullable, required
    - `propertyId` string, required
    - `arrival` string, date, required
    - `departure` string, date, required
    - `guests` integer, required
    - `nights` integer, required
    - `roomSelection` object
      - `name` string, required
      - `ratePlan` string
      - `rooms` 1, required
      - `averageNightlyPrice` object
        - `currency` string, required
        - `amount` number, required
    - `availability` 'available' | 'unavailable' | 'unknown', required
    - `reason` 'checked' | 'blocked_dates' | 'minimum_stay' | 'maximum_stay' | 'arrival_departure_rules' | 'advance_notice' | 'capacity' | 'unsupported_host' | 'browser_unconfigured' | 'upstream_unavailable' | 'date_range_unknown', required
    - `minimumNights` integer, nullable, required
    - `partyBasis` 'all_adults'
    - `price` object, nullable, required
      - `currency` string, required
      - `total` number, required
      - `breakdown` object[], required
        - `label` string, required
        - `amount` number, required
      - `completeness` 'total' | 'partial', required
      - `taxesIncluded` boolean, nullable, required
    - `startingNightlyPrice` object
      - `currency` string, required
      - `amount` number, required
    - `checkedAt` string, date-time, required
    - `expiresAt` string, date-time, required
    - `sourceUrl` string, uri, required
    - `bookingUrl` string, uri, required
    - `held` false, required
  - `estimate` object, required
    - `id` string, required
    - `windowStart` string, date, required
    - `windowEnd` string, date, required
    - `nights` integer, required
    - `guests` integer, required
    - `currency` 'USD' | 'EUR' | 'GBP' | 'CRC' | 'MXN' | 'COP' | 'PEN' | 'BRL' | 'AUD'
  - `diagnostics` object
    - `attemptedStays` integer, required
    - `reason` 'checked' | 'blocked_dates' | 'minimum_stay' | 'maximum_stay' | 'arrival_departure_rules' | 'advance_notice' | 'capacity' | 'unsupported_host' | 'browser_unconfigured' | 'upstream_unavailable' | 'date_range_unknown': Last sampled observation when no dated total was selected. Applies only to attempted stays; blocked samples never establish that the whole window is sold out. Terminal unsupported_host/upstream_unavailable evidence should be explained, not retried unchanged.

## Other responses

- `400`: Invalid or unknown filters
- `404`: Property unavailable or unpublished
- `429`: Rate limit; respect Retry-After

---

[API](https://skmtc.dev/chucho/apis/chucho-public-property-discovery.md) · [All operations](https://skmtc.dev/chucho/apis/chucho-public-property-discovery/llms.txt) · [OpenAPI document](https://skmtc.dev/chucho/apis/chucho-public-property-discovery/revisions/b80049fc8cf0?raw)
