Research public, read-only secondary-market listings from StubHub and SeatGeek. Treat every price and availability result as a timestamped snapshot, not an offer, reservation, or guaranteed inventory.
Discover and resolve events
- Start with SeatGeek
/seatgeek/search?q=...&limit=1..50for a named event, performer, or venue. Use returned provider IDs only with the matching SeatGeek endpoints:/seatgeek/event?id=...,/seatgeek/performer-events, or/seatgeek/venue-events./seatgeek/categoriessupplies taxonomy IDs for/seatgeek/events-by-category;/seatgeek/citiessupplies curated coordinates for/seatgeek/events-near. These page indexes are one-based andper_pageis 1–50. - For StubHub geographic discovery, pass valid
latandlonto/stubhub/explore, optionally withfrom,to, price bounds, or category filters. Dates accept RFC3339 or a bareYYYY-MM-DD; the default window is now through 14 days later./stubhub/categoriesrequires the same location and is the discovery source forcategory_idin/stubhub/category-events. - Use
/stubhub/trendingand/stubhub/trending-eventsonly as currently featured discovery feeds. For a performer or venue schedule, carry both the real slug and numeric ID from a returned canonical URL into/stubhub/performer-eventsor/stubhub/venue-events; do not construct or mix identifiers. StubHub feed pages are one-based.include_parking_passescan add parking-only entries, so label them separately from admission.
Compare responsibly
- Verify matches using performer/event name, venue address or city, local date, and start time. Preserve each provider's event ID and canonical URL. Normalize a local date/time only when its timezone or offset is supplied; keep TBA/TBD or date-only timing unknown rather than assuming UTC.
- SeatGeek
/seatgeek/eventprovides a secondary-market aggregate snapshot (listing/ticket counts and low/average/median/high prices), not individual seat listings. StubHub discovery/schedule results provide starting-price signals, not a complete inventory view. Do not infer a section, row, exact seat, quantity, accessibility feature, transfer method, or ticket guarantee when it is absent. - These sources are resale marketplaces. Distinguish their listed or aggregate secondary prices from primary-market face value and official availability; neither establishes what an official seller has in stock. Use a separately scoped primary-ticket source when that comparison is needed, and keep source, market type, and collection time visible.
- Retain the currency returned by the source. A starting/aggregate price may exclude fees, taxes, delivery, or other checkout charges; never call it an all-in total or combine it with a fee-inclusive price from another source.
Report
Return a dated snapshot table with provider, resale status, event/provider ID,
canonical URL, normalized-but-source-faithful venue and local time, price field
meaning, currency, availability/listing signal, and an observed_at timestamp
with timezone. Report empty feeds as no results for that query/window, not
proof that the event is sold out or unavailable. This skill performs no
authentication, ticket purchase, bid, hold, checkout, account action, or
availability guarantee.