Skip to content

Vinny Scraper

Vinny is a Vegas nightlife event scraper targeting LIV Las Vegas, LIV Beach, XS Nightclub, Encore Beach Club, and TAO Group venues (Omnia, Hakkasan, Marquee, Jewel, and more).

Built with Crawlee + Pydantic + FastAPI + Cyclopts.

Supported Venues

Venue Group Type Venue Tag
LIV Nightclub Fontainebleau Night liv
LIV Beach Fontainebleau Day livb
XS Nightclub Wynn Night xs
Encore Beach Club Wynn Day ebc
EBC at Night Wynn Night ebcn
Omnia Nightclub TAO Group Night omn
Hakkasan Nightclub TAO Group Night hak
Marquee Nightclub TAO Group Night marq
Jewel Nightclub TAO Group Night jwl
Marquee Dayclub TAO Group Day marqd
Tao Beach Dayclub TAO Group Day taob
Palm Tree Beach Club TAO Group Day palm
Liquid Pool Lounge TAO Group Day liq
Tao Nightclub TAO Group Night tao

Quick Start

# Install dependencies
uv pip install -e ".[dev]"

# Full pipeline: scrape + images + R2 upload + D1 export
vinny sync

# Scrape a single venue
vinny scrape xs

# Browse table pricing
vinny tables --days 7 --ppg-max 300

# Top deals
vinny deals --top 5

Architecture

  • Extractors (src/extractors/) — venue-specific HTML/JSON-LD parsers
  • Pricing (src/pricing.py) — urvenue API integration for VIP table pricing
  • Images (src/plugins/images/) — VEA CDN download + Cloudflare R2 upload
  • Enrichment (src/plugins/enrichment/) — Spotify, Resident Advisor, 1001tracklists
  • Export (src/cli_export.py) — CSV, Markdown, D1 SQL, SQLite
  • API (src/app.py) — FastAPI REST endpoints