Knowing how your property is positioned on price and availability against direct competitors on Booking, for specific dates. Checking 8 hotels × N dates by hand is tedious and error-prone. This agent scans them in parallel, filters by capacity, and tells you exactly where you stand — with ranking and positioning.
4 simultaneous browsers (configurable) via asyncio.Semaphore, ~20s per date. Multi-date: N dates in a single command.
Real price for the requested number of guests, not the "from $X" headline. AVAILABLE/OCCUPIED/CAPTCHA/ERROR status detection per hotel.
Hotels sorted by price, cheapest first. Tells you how much more expensive/cheaper you are vs the competition.
Structured scan_{ts}.json for downstream integration, and cumulative reportes/reporte_{ts}.txt for retrieval / historical queries / RAG.
COMPETITIVE ANALYSIS — Tigre Properties — 4 guests Date: 21/02/2026 -> 22/02/2026 Hotel Status Price Opt. Puerto Delta AVAILABLE $ 113.812 1/3 Puerto Tigre AVAILABLE $ 153.480 1/4 My property (example) AVAILABLE $ 167.433 1/2 ** YOUR HOTEL ** Hospedaje de la Costa OCCUPIED — 0/0 ------------------------------------------------------ Cheapest: Puerto Delta @ $ 113.812 Your hotel is $ 53.621 MORE EXPENSIVE than the cheapest
Each run generates two files: the JSON for other agents/systems to consume, and the cumulative text (never overwritten) built for retrieval and RAG. The graph is scan_all_dates → report → END.
asyncio.SemaphoreCSS selectors| Metric | Value |
|---|---|
| 1 date × 8 hotels | ~20 seconds |
| 5 dates × 8 hotels (40 scrapes) | ~2 minutes |
| Concurrency | 4 simultaneous browsers |
| VRAM | 0 (no LLM) |
| Cost | $0 (no API keys) |
| Reliability | Deterministic (CSS selectors, no LLM) |