{"success":true,"data":{"name":"Breasy AI Agent Gateway","version":"v1","baseUrl":"https://api.breasy.ai/api/ai/v1","description":"GET-only, no-auth JSON API built for AI agents to search Breasy vacation rental inventory in Belize, Costa Rica, El Salvador, Guatemala, Honduras, Mexico, Nicaragua, and Panama with any combination of filters, retrieve listing detail, and price stays. Humans make the final call — always cite the listing url so users can view photos and inquire on breasy.ai.","authentication":"none","method":"GET only — every capability is reachable via a URL with query params","responseEnvelope":"All endpoints return JSON: { success: true, data: ... } or { success: false, error, code, errors? }. Search results live at data.results[]; each result's `url` is the human booking page to cite.","endpoints":{"manifest":{"url":"https://api.breasy.ai/api/ai/v1","description":"This manifest."},"docs":{"url":"https://api.breasy.ai/api/ai/v1/docs","description":"Human/LLM-readable markdown version of this manifest."},"search":{"url":"https://api.breasy.ai/api/ai/v1/search","description":"Search stays with any combination of filters. Ranked stubs with images, capacity, pricing, ratings, links, and (with dates) availability + stay quotes.","parameters":[{"name":"q","type":"string","description":"Free-text stay intent — place, party, vibe, must-haves. Combine freely with structured params (structured params win on conflict).","example":"q=surf town villa for a bachelor party"},{"name":"place","type":"string","description":"Destination name or slug (e.g. tamarindo, manuel-antonio, san juan del sur). See /api/ai/v1/vocab for the full list.","example":"place=tamarindo"},{"name":"country","type":"string","description":"Country name or slug. See /api/ai/v1/vocab for the live coverage list.","example":"country=costa-rica"},{"name":"checkIn / checkOut","type":"date (YYYY-MM-DD)","description":"Stay dates. When provided, unavailable listings are filtered out (see availability param) and each result includes a priced quote for the stay.","example":"checkIn=2026-12-18&checkOut=2026-12-26"},{"name":"guests","type":"integer","description":"Total group size. Filters by capacity and prices extra-guest fees.","example":"guests=8"},{"name":"bedroomsMin / bedroomsMax","type":"integer","description":"Bedroom count bounds.","example":"bedroomsMin=4"},{"name":"bathroomsMin","type":"number","description":"Minimum bathrooms (half baths count 0.5).","example":"bathroomsMin=3"},{"name":"bedsMin","type":"integer","description":"Minimum number of beds.","example":"bedsMin=6"},{"name":"priceMin / priceMax","type":"number (USD per night)","description":"Nightly base-rate budget bounds in USD.","example":"priceMax=400"},{"name":"totalBudgetMax","type":"number (USD)","description":"Whole-stay budget cap in USD. Requires checkIn + checkOut; applied to the quoted grand total.","example":"totalBudgetMax=3000"},{"name":"amenities","type":"comma-separated names","description":"Required amenities, e.g. amenities=pool,hot tub,wifi. Names are matched against the catalog (see /api/ai/v1/vocab); unmatched terms are reported back, never silently dropped.","example":"amenities=pool,air conditioning"},{"name":"ratingMin","type":"number (0–5)","description":"Minimum average guest rating.","example":"ratingMin=4.8"},{"name":"reviewsMin","type":"integer","description":"Minimum review count.","example":"reviewsMin=25"},{"name":"sort","type":"enum: best_match | price_asc | price_desc | rating | reviews | capacity | asking_price_asc | asking_price_desc","description":"Result order. Default best_match (Discover relevance ranking on the rental path; SQL listed-at order on the census path). asking_price_asc and asking_price_desc require forSale=true.","example":"sort=price_asc"},{"name":"limit / offset","type":"integer","description":"Page size (default 12, max 24) and offset for paging.","example":"limit=10&offset=10"},{"name":"availability","type":"enum: available | any","description":"With dates: 'available' (default) removes calendar conflicts; 'any' keeps them and annotates stay.available per result.","example":"availability=any"},{"name":"forSale","type":"boolean","description":"When true, search is a complete census of listings that pass the buy-index predicate (flagged, not sold, live or inactive under the stale-drop window), scoped by place/country/asking price. Does not use Discover ranking. Completeness.kind is for_sale_census. Dates, amenities, and nightly price bounds are not applied — they come back in data.unmatched.","example":"forSale=true&place=tamarindo"},{"name":"askingPriceMin / askingPriceMax","type":"number (USD asking price)","description":"Sale asking-price bounds. Require forSale=true; without it they are reported in data.unmatched and not applied.","example":"forSale=true&askingPriceMin=200000&askingPriceMax=800000"}],"honesty":"data.applied echoes filters actually applied; data.unmatched lists terms that could not be applied (unknown place / amenity / unsupported preference); results[].relaxed flags any constraint Discover relaxed. Do not claim coverage for unmatched terms. Rental search (forSale omitted or false) has data.completeness.kind discover_ranked: results are a quality-capped Discover candidate set, NOT a complete destination census. sort=price_desc is most expensive among those candidates. forSale=true is a census of the buy-index set (kind for_sale_census, isCompleteInventory true) and does not use Discover ranking. Do not answer \"the five most expensive homes for sale in Cabo\" from the rental path. Nightly prices are representative_base rates — call /quote for a dated stay total."},"listingDetail":{"url":"https://api.breasy.ai/api/ai/v1/listings/{id}","description":"Allow-listed public listing card: title, canonical url, cover image, capacity, representative nightly price, rating, reviewGrowth (7/30/90/365), amenity flags, host display name, schema.org LodgingBusiness structuredData, freshness. Flagged listings also carry an optional forSale label (asking price, status, derived evidence tier) plus an evidence URL that is auth-gated — the snapshot series is not on this card. Never includes calendar-feed secrets, owner contact, or internal/partner IDs."},"listingQuote":{"url":"https://api.breasy.ai/api/ai/v1/listings/{id}/quote?checkIn=YYYY-MM-DD&checkOut=YYYY-MM-DD&guests=N","description":"Priced stay quote (USD totals, per-night average, min-stay / check-in-day / capacity validation). Invalid stays still return 200 with valid:false and issues[]."},"vocab":{"url":"https://api.breasy.ai/api/ai/v1/vocab","description":"Valid filter values: destination places (names + slugs), countries, the full amenity catalog, and sort keys. Check here before guessing."},"availability":{"url":"https://api.breasy.ai/api/rental/public/{id}/availability","description":"Blocked date ranges + booking constraints for a listing."},"naturalLanguageDiscover":{"url":"https://api.breasy.ai/api/public/discover?q={phrase}","description":"Underlying natural-language search (same engine, richer internal shape). Shareable HTML twin: https://breasy.ai/discover?q={phrase}"}},"examples":[{"intent":"Villa for 8 with a pool in Tamarindo under $500/night, December dates","url":"https://api.breasy.ai/api/ai/v1/search?place=tamarindo&guests=8&amenities=pool&priceMax=500&checkIn=2026-12-18&checkOut=2026-12-26"},{"intent":"Budget 2-bedroom near Manuel Antonio, highly rated","url":"https://api.breasy.ai/api/ai/v1/search?place=manuel+antonio&bedroomsMin=2&priceMax=200&ratingMin=4.7&sort=price_asc"},{"intent":"Free-text: quiet beachfront surf stay for a couple in Nicaragua","url":"https://api.breasy.ai/api/ai/v1/search?q=quiet+beachfront+surf+stay+for+a+couple&country=nicaragua"},{"intent":"Largest homes in Cabo San Lucas that sleep 12+","url":"https://api.breasy.ai/api/ai/v1/search?place=cabo+san+lucas&guests=12&sort=capacity"},{"intent":"Price a specific listing for specific dates","url":"https://api.breasy.ai/api/ai/v1/listings/{id}/quote?checkIn=2026-12-18&checkOut=2026-12-26&guests=6"},{"intent":"Short-term rentals currently for sale in Tamarindo","url":"https://api.breasy.ai/api/ai/v1/search?forSale=true&place=tamarindo"}],"citations":{"humanPages":{"listing":"https://breasy.ai/rent/{id}/{nameSlug?}","listingReviews":"https://breasy.ai/rent/{id}/{nameSlug?}/reviews","destination":"https://breasy.ai/destinations/{country}/{destination}","discover":"https://breasy.ai/discover?q={phrase}"},"attribution":"Source: Breasy (breasy.ai)","rule":"Always link results to their `url` (canonical /rent/{id} or /rent/{id}/{nameSlug} when the house name is known) so the human can inspect photos, reviews, and book. Place inventory: cite destination pages or this gateway — not faceted /rent?destination= map URLs."},"coverage":{"regions":["Belize","Costa Rica","El Salvador","Guatemala","Honduras","Mexico","Nicaragua","Panama"],"inventory":"Short-term vacation rentals: villas, houses, condos, apartments, rooms","currency":"USD","languages":["en","es"]},"rateLimits":"Per-IP; generous for interactive agent use. Back off on HTTP 429.","relatedDiscovery":{"llmsTxt":["https://breasy.ai/llms.txt","https://api.breasy.ai/llms.txt"],"aiJson":"https://breasy.ai/.well-known/ai.json","openapi":"https://breasy.ai/openapi.json","sitemap":"https://breasy.ai/sitemap.xml"}},"meta":{"timestamp":"2026-10-12T08:36:38.910Z"}}