Event and venue research
Build a dated event or venue comparison from public listings. Keep ticket
availability, venue visitor information, and private venue-booking availability
separate; an event calendar does not establish that a venue can be hired.
Setup
Set CRAWLORA_API_KEY to your key from crawlora.net.
Run the bundled scripts/crawlora.sh from this skill directory or by absolute
path. It sends x-api-key to https://api.crawlora.net/api/v1; keep the key in
the environment. Read reference/endpoints.md for
event/city/category discovery, event details, and venue lookups.
Resolve, filter, and compare
- Establish destination, date range, interests, party age/access requirements,
and budget. Search
/ticketmaster/search-events (q, zero-based page,
sort=date or relevance) or /ticketweb/search (q, one-based page).
Filter returned dates locally where an endpoint has no date-range parameter.
- For city/category browsing, use
/ticketmaster/discover-cities or
/ticketmaster/discover-categories, then the returned city slug/country or
category_id in their matching event feeds. Discovery destination groupings
can include surrounding municipalities; inspect actual venue locations.
- Retrieve
/ticketmaster/event?id=... or /ticketweb/event?id=... for a
selected event. Read the nested event object, exact status, timing, venue,
age restrictions, and source URL. IDs are provider-specific. Deduplicate
cross-provider events by verified performer, venue, date/time, and event type;
preserve distinct performances, ticket offers, and VIP/parking add-ons.
- Preserve local time and timezone. TicketWeb search times have no UTC offset;
detail can provide an offset and venue zone. Do not append
Z to a local time.
Keep TBD/TBA times unknown and distinguish doors, show start, and on-sale time.
- Resolve venue details and upcoming events with
/ticketmaster/venue,
/ticketmaster/venue-events, or /ticketweb/venue. Artist/team attraction
IDs are not venue IDs. Verify street address and public accessibility/visitor
information; missing capacity or access details are unknown, not negative findings.
- For TicketWeb prices, compare
sections[].prices[].total and currency, keeping
base price, fees, tier restrictions, and sale status. Do not add fees again to
total or compare one provider's base price with another's fee-inclusive total.
Ticketmaster prices, when absent, remain unknown; do not invent a price range.
- Recheck shortlisted events close to delivery when current availability matters.
Preserve canceled/postponed/rescheduled status and collection time. A successful
data response does not reserve seats or lock prices.
scripts/crawlora.sh /ticketweb/search q=comedy page=1
scripts/crawlora.sh /ticketmaster/search-events q=jazz sort=date page=0
Deliverable and bounds
Return a table/calendar with event and provider IDs, canonical links, venue/address,
local start time and zone, status, applicable age/access information, dated ticket
price scope, availability, and fit rationale. Group venue comparisons separately
from individual event offers. Create calendar entries or buy tickets only if asked.
- TicketWeb
has_tickets=false with empty sections is ambiguous: free/RSVP,
sold out, or access-code-gated can share this state. Cross-check explicit search
availability (in_stock, sold_out, unknown) without guessing a cause.
- Ticketmaster event
410 means concluded/permanently removed; 404 means unknown.
TicketWeb invalid IDs can surface as 503; recheck the discovered ID before retrying.
- Ticketmaster event-feed pages are 0–49; TicketWeb search pages are 1–50.
Stop at no progress, source end, or the requested date/sample bound. Back off
on
429, retry transient 5xx once, stop on 401/403, and check application code.
1---2name: event-venue-research3description: Build event shortlists, dated calendars, and venue comparisons through Crawlora's Ticketmaster and TicketWeb endpoints. Use for public event research with verified venue identity, timing, age restrictions, ticket fees, and availability caveats.4---56# Event and venue research78Build a dated event or venue comparison from public listings. Keep ticket9availability, venue visitor information, and private venue-booking availability10separate; an event calendar does not establish that a venue can be hired.1112## Setup1314Set `CRAWLORA_API_KEY` to your key from [crawlora.net](https://crawlora.net).15Run the bundled `scripts/crawlora.sh` from this skill directory or by absolute16path. It sends `x-api-key` to `https://api.crawlora.net/api/v1`; keep the key in17the environment. Read [reference/endpoints.md](reference/endpoints.md) for18event/city/category discovery, event details, and venue lookups.1920## Resolve, filter, and compare21221. Establish destination, date range, interests, party age/access requirements,23 and budget. Search `/ticketmaster/search-events` (`q`, zero-based `page`,24 `sort=date` or `relevance`) or `/ticketweb/search` (`q`, one-based `page`).25 Filter returned dates locally where an endpoint has no date-range parameter.262. For city/category browsing, use `/ticketmaster/discover-cities` or27 `/ticketmaster/discover-categories`, then the returned `city` slug/country or28 `category_id` in their matching event feeds. Discovery destination groupings29 can include surrounding municipalities; inspect actual venue locations.303. Retrieve `/ticketmaster/event?id=...` or `/ticketweb/event?id=...` for a31 selected event. Read the nested event object, exact status, timing, venue,32 age restrictions, and source URL. IDs are provider-specific. Deduplicate33 cross-provider events by verified performer, venue, date/time, and event type;34 preserve distinct performances, ticket offers, and VIP/parking add-ons.354. Preserve local time and timezone. TicketWeb search times have no UTC offset;36 detail can provide an offset and venue zone. Do not append `Z` to a local time.37 Keep TBD/TBA times unknown and distinguish doors, show start, and on-sale time.385. Resolve venue details and upcoming events with `/ticketmaster/venue`,39 `/ticketmaster/venue-events`, or `/ticketweb/venue`. Artist/team attraction40 IDs are not venue IDs. Verify street address and public accessibility/visitor41 information; missing capacity or access details are unknown, not negative findings.426. For TicketWeb prices, compare `sections[].prices[].total` and currency, keeping43 base price, fees, tier restrictions, and sale status. Do not add fees again to44 `total` or compare one provider's base price with another's fee-inclusive total.45 Ticketmaster prices, when absent, remain unknown; do not invent a price range.467. Recheck shortlisted events close to delivery when current availability matters.47 Preserve canceled/postponed/rescheduled status and collection time. A successful48 data response does not reserve seats or lock prices.4950```sh51scripts/crawlora.sh /ticketweb/search q=comedy page=152scripts/crawlora.sh /ticketmaster/search-events q=jazz sort=date page=053```5455## Deliverable and bounds5657Return a table/calendar with event and provider IDs, canonical links, venue/address,58local start time and zone, status, applicable age/access information, dated ticket59price scope, availability, and fit rationale. Group venue comparisons separately60from individual event offers. Create calendar entries or buy tickets only if asked.6162- TicketWeb `has_tickets=false` with empty sections is ambiguous: free/RSVP,63 sold out, or access-code-gated can share this state. Cross-check explicit search64 availability (`in_stock`, `sold_out`, `unknown`) without guessing a cause.65- Ticketmaster event `410` means concluded/permanently removed; `404` means unknown.66 TicketWeb invalid IDs can surface as `503`; recheck the discovered ID before retrying.67- Ticketmaster event-feed pages are 0–49; TicketWeb search pages are 1–50.68 Stop at no progress, source end, or the requested date/sample bound. Back off69 on `429`, retry transient `5xx` once, stop on `401`/`403`, and check application `code`.