ClawEvents 🎉
Multi-city event discovery — Tel Aviv, Barcelona, New York.
Triggers
- "What's on in Tel Aviv this weekend?"
- "Find jazz concerts in Barcelona next week"
- "Cinema in Tel Aviv tonight"
- "Free family events in NYC this Saturday"
- "Events in Tel Aviv and Barcelona for the group trip"
- "Lev Cinema schedule this week"
- "Live music in New York, adults only, evening"
CLI Usage
# Basic search
python3 -m clawevents search --city tel-aviv --days 7
# Jazz in Tel Aviv this week
python3 -m clawevents search --city tel-aviv --type jazz --days 7
# Cinema tonight (Lev + others)
python3 -m clawevents search --city tel-aviv --type cinema --days 1
# Multi-city: what's on in Barcelona and NYC this weekend
python3 -m clawevents search --city barcelona new-york --days 3
# Family events, free, afternoon
python3 -m clawevents search --city tel-aviv --type family --age family --time afternoon --free
# Concert, adults, evening, specific dates
python3 -m clawevents search --city tel-aviv barcelona --type concert --age adults --time evening --from 2026-06-21 --to 2026-06-27
# JSON output (for programmatic use)
python3 -m clawevents search --city new-york --type jazz --format json --limit 10
Supported Cities
| City |
Alias |
Sources |
| Tel Aviv |
tel-aviv, tlv |
TLV Municipality API, Eventbrite, Lev Cinema |
| Barcelona |
barcelona, bcn |
Ticketmaster, Eventbrite |
| New York |
new-york, nyc |
Ticketmaster, Eventbrite, NYC Open Data |
Event Types
jazz · concert / music · cinema / movie · theatre · nightlife · family / kids · comedy · art · sport · festival · community
Filters
| Flag |
Values |
Default |
--type |
jazz, concert, cinema, theatre, ... |
all |
--age |
kids, family, adults |
all |
--time |
morning, afternoon, evening, late-night |
all |
--from / --to |
YYYY-MM-DD |
today / +7d |
--days |
integer |
7 |
--free |
flag |
false |
--limit |
integer |
20 |
--format |
text, json |
text |
Setup
Install dependencies
cd skills/clawevents
pip3 install -r requirements.txt
API Keys (optional but recommended)
Without API keys: Tel Aviv scrapes TLV website; Barcelona/NYC use Eventbrite free tier only + NYC Open Data.
Add to ~/.zshrc or ~/.bashrc:
export TICKETMASTER_API_KEY="your_key"
export EVENTBRITE_TOKEN="your_token"
export TLV_API_KEY="your_key" # optional
Data Sources
Tel Aviv
- TLV Municipality API — Official city events (DigiTel source). Free with API key.
- Eventbrite — Tech, community, cultural events
- Lev Cinema — Boutique cinema (Dizengoff). Web scrape.
- (planned) Time Out Israel scraper — jazz, clubs, theatre picks
Barcelona
- Ticketmaster Discovery API — Concerts, theatre, sports, 230K+ events
- Eventbrite — Community + cultural events
- (planned) Fever/Xceed scraper — nightlife, club events, immersive experiences
New York
- Ticketmaster Discovery API — Concerts, Broadway, sports
- Eventbrite — Community events
- NYC Open Data — Free parks events, city programmes
Architecture
ClawEventsEngine
├── Fetchers (parallel, per-city)
│ ├── TLVMunicipalityFetcher → Tel Aviv
│ ├── TicketmasterFetcher → Barcelona, NYC
│ ├── EventbriteFetcher → All cities
│ ├── LevCinemaFetcher → Tel Aviv (cinema)
│ └── NYCOpenDataFetcher → NYC (free events)
├── Filter layer (types, age, time-of-day, date, free)
├── Dedup layer (same title + time across sources)
└── Rank layer (chronological, no-time events last)
Extending
To add a new city or source:
- Create
clawevents/fetchers/your_source.py implementing BaseFetcher
- Register in
_FETCHER_REGISTRY and _CITY_FETCHERS in engine.py
- Add city alias in
cli.py
1---2name: clawevents3description: Multi-city event discovery for Tel Aviv, Barcelona, and New York. Searches concerts, jazz, cinema, theatre, nightlife, family events, comedy, art, and festivals. Supports filtering by age group (kids/family/adults), time of day (morning/afternoon/evening/late-night), date range, and free-only. Returns ranked, deduplicated results from multiple sources per city.4---56# ClawEvents 🎉78Multi-city event discovery — Tel Aviv, Barcelona, New York.910## Triggers1112- "What's on in Tel Aviv this weekend?"13- "Find jazz concerts in Barcelona next week"14- "Cinema in Tel Aviv tonight"15- "Free family events in NYC this Saturday"16- "Events in Tel Aviv and Barcelona for the group trip"17- "Lev Cinema schedule this week"18- "Live music in New York, adults only, evening"1920## CLI Usage2122```bash23# Basic search24python3 -m clawevents search --city tel-aviv --days 72526# Jazz in Tel Aviv this week27python3 -m clawevents search --city tel-aviv --type jazz --days 72829# Cinema tonight (Lev + others)30python3 -m clawevents search --city tel-aviv --type cinema --days 13132# Multi-city: what's on in Barcelona and NYC this weekend33python3 -m clawevents search --city barcelona new-york --days 33435# Family events, free, afternoon36python3 -m clawevents search --city tel-aviv --type family --age family --time afternoon --free3738# Concert, adults, evening, specific dates39python3 -m clawevents search --city tel-aviv barcelona --type concert --age adults --time evening --from 2026-06-21 --to 2026-06-274041# JSON output (for programmatic use)42python3 -m clawevents search --city new-york --type jazz --format json --limit 1043```4445## Supported Cities4647| City | Alias | Sources |48|------|-------|---------|49| Tel Aviv | `tel-aviv`, `tlv` | TLV Municipality API, Eventbrite, Lev Cinema |50| Barcelona | `barcelona`, `bcn` | Ticketmaster, Eventbrite |51| New York | `new-york`, `nyc` | Ticketmaster, Eventbrite, NYC Open Data |5253## Event Types5455`jazz` · `concert` / `music` · `cinema` / `movie` · `theatre` · `nightlife` · `family` / `kids` · `comedy` · `art` · `sport` · `festival` · `community`5657## Filters5859| Flag | Values | Default |60|------|--------|---------|61| `--type` | jazz, concert, cinema, theatre, ... | all |62| `--age` | kids, family, adults | all |63| `--time` | morning, afternoon, evening, late-night | all |64| `--from` / `--to` | YYYY-MM-DD | today / +7d |65| `--days` | integer | 7 |66| `--free` | flag | false |67| `--limit` | integer | 20 |68| `--format` | text, json | text |6970## Setup7172### Install dependencies73```bash74cd skills/clawevents75pip3 install -r requirements.txt76```7778### API Keys (optional but recommended)7980| Key | Source | Cities unlocked |81|-----|--------|-----------------|82| `TICKETMASTER_API_KEY` | [developer.ticketmaster.com](https://developer.ticketmaster.com) — free | Barcelona, NYC |83| `EVENTBRITE_TOKEN` | [eventbrite.com/platform/api](https://www.eventbrite.com/platform/api) — free | All 3 |84| `TLV_API_KEY` | [apiportal.tel-aviv.gov.il](https://apiportal.tel-aviv.gov.il) — free | Tel Aviv (official events) |8586Without API keys: Tel Aviv scrapes TLV website; Barcelona/NYC use Eventbrite free tier only + NYC Open Data.8788Add to `~/.zshrc` or `~/.bashrc`:89```bash90export TICKETMASTER_API_KEY="your_key"91export EVENTBRITE_TOKEN="your_token"92export TLV_API_KEY="your_key" # optional93```9495## Data Sources9697### Tel Aviv98- **TLV Municipality API** — Official city events (DigiTel source). Free with API key.99- **Eventbrite** — Tech, community, cultural events100- **Lev Cinema** — Boutique cinema (Dizengoff). Web scrape.101- *(planned)* Time Out Israel scraper — jazz, clubs, theatre picks102103### Barcelona104- **Ticketmaster Discovery API** — Concerts, theatre, sports, 230K+ events105- **Eventbrite** — Community + cultural events106- *(planned)* Fever/Xceed scraper — nightlife, club events, immersive experiences107108### New York109- **Ticketmaster Discovery API** — Concerts, Broadway, sports110- **Eventbrite** — Community events111- **NYC Open Data** — Free parks events, city programmes112113## Architecture114115```116ClawEventsEngine117├── Fetchers (parallel, per-city)118│ ├── TLVMunicipalityFetcher → Tel Aviv119│ ├── TicketmasterFetcher → Barcelona, NYC120│ ├── EventbriteFetcher → All cities121│ ├── LevCinemaFetcher → Tel Aviv (cinema)122│ └── NYCOpenDataFetcher → NYC (free events)123├── Filter layer (types, age, time-of-day, date, free)124├── Dedup layer (same title + time across sources)125└── Rank layer (chronological, no-time events last)126```127128## Extending129130To add a new city or source:1311. Create `clawevents/fetchers/your_source.py` implementing `BaseFetcher`1322. Register in `_FETCHER_REGISTRY` and `_CITY_FETCHERS` in `engine.py`1333. Add city alias in `cli.py`