Daily aggregator
Every field we actually have.
Fantastic.jobs names every ATS, every job field, the hourly SLA, and the enrichment. This is that desk for nights: named calendars, a versioned JSON contract, fill rates, conflicts when sources disagree. Scrapers stay in patvanh/Yoocal. 2026 consumes published JSON.
3,760
Upcoming listings
36
Source names in the live JSON
37
Named origin scrapers
3:37 AM America/Denver
Cron 37 9 * * * UTC · JSON v2
Live desks
- Park City, UT2,017
- Heber Valley, UT641
- Jackson Hole, WY977
- Elkhart Lake, WI91
- Green Lake, WI34
- Midway, UT0
Pipeline
Mine
Named calendars, sitemaps, iCal, tribe-events, schema.org, Firecrawl+Claude on JS walls.
Scrub
Private/junk dropped. Dates standardized. Title+date / fuzzy / link merge. Aggregator dupes suppressed.
Enhance
Geo-tag, filter_categories, images when sourced, LLM resolve on ambiguous fields.
Review
Quality audit C1–C8, overrides JSON, human inbox for user submits.
Publish
version:2 JSON on yoocal.com. 2026 reads it hourly, caches 15 minutes.
Field schema
Contract: docs/data-contract.md. Zod in src/lib/schema.ts.
Listing
idStable hash from build_master_and_views.pytitleAs publisheddateYYYY-MM-DD America/Denverstart_time / end_timeFrom source. timeUncertain if sources disagreedescriptionOrganizer / source copylinkOrganizer URL. Never a Yoocal checkoutimage_urlOnly if the source had onerecurrence / series_end / end_dateOne card, many dates
Place
venue_nameRoom the source namedaddress / locationStreet when the source had itlat / lngGeo-tag. Dump coords exist — we pin by name when they liedistance_miMiles from the city pincity / citySlugStamped by 2026, not the raw JSON city
Money
is_freeTrue only if the source said freeprice / price_rangeString from the source. Never invented
Provenance
sourceWinning attribution after mergesources (_all_sources)Every calendar that saw this nightsource_linksURL per contributing sourceconflictsField + value + source when they disagreescraped_atWhen that row was last fetchedrepaired_fromAuto-repair trail
Fill rates (live JSON)
start_time94%end_time86%venue_name94%address92%lat100%description95%image_url81%price0%is_free17%sources37%conflicts9%scraped_at27%source_links1%
Named sources
Like listing Greenhouse and Workday. Green Lake generic extract uses the hostname until we give it a proper name.
Visit Park City
cvb · park-city · Simpleview calendar + sitemap
Visit Park City (sitemap)
cvb · park-city · visitparkcity.com sitemap.xml
The Park Record
newspaper · park-city, heber · CitySpark-powered calendar (Playwright)
KPCW Community Calendar
radio · park-city · kpcw.org community calendar
Egyptian Theatre
venue · park-city · egyptian_scraper.py
Park City Film
venue · park-city · Primary source beats aggregators on time
Mountain Town Music
venue · park-city · mountain_town_music_scraper.py
Deer Valley Resort
venue · park-city · deer_valley_scraper.py
Park City Institute
venue · park-city · park_city_institute_scraper.py
Park City Farmers Market
venue · park-city · Primary URL parkcityfarmersmarket.com
Park City Annual Events
cvb · park-city · Hardcoded annual recurrings
Park City Gallery Association
venue · park-city · Gallery nights
Park Silly Sunday Market
venue · park-city · park_silly_scraper.py
RunSignup
race · park-city, heber · RunSignup zip radius
Running in the USA
Live source counts
- Visit Park City (sitemap)1096
- Heber Valley Life674
- The Park Record573
- Visit Park City485
- Jackson Hole Chamber of Commerce419
- Jackson Hole Mountain Resort385
- Mountain Town Music292
- Heber Valley Tourism166
- Egyptian Theatre72
- The Osthoff Resort63
- KPCW Community Calendar61
- Million Dollar Cowboy Bar59
- Elkhart Lake Tourism50
- Center for the Arts Jackson Hole46
- National Museum of Wildlife Art41
- Snow King Mountain24
- The Cloudveil21
- TownLift15
- thrasheroperahouse.com13
- iceboat.org13
- Park City Film
Sync
- JSON ·
/api/eventsand/api/aggregator - RSS / ICS / CSV / XML / print · /feeds
- Origin · https://www.yoocal.com · cache 15m · revalidate 60m
We never invent a ticket price. Empty money fields stay empty. Listings feed.