I wrote it as a Cloudflare Worker on a 5-minute cron. LUN pages are rendered by Next.js, so the scraper reassembles the React Server Component flight chunks and parses full listing cards — price, rooms, area, floor, address, metro, phones — paging until results run out. Searches live in JSON, with microdistricts and towns resolved to LUN geo ids. Seen ids are stored per search in Workers KV; the first run is a silent baseline. A dependency-free Node script exports the data to JSON and CSV.