Get Event Price or Demand History
get_event_chartReturns one event's price or demand history as a series, with a chart image. Use it when the person asks how an event's prices, listings, interest or sales moved over time. metric price (the default) reads one source at a time, vs resale unless source names another, and never mixes primary and resale. metric demand reads Interest and Sales as whole numbers. For the event's numbers now use get_event_analytics; for one section in finer steps use get_event_sections_live with view series.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"event_id": "<event_id>"
},
"name": "get_event_chart"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| range | No | Lookback window: 3d | 7d | 14d | 28d | 30d | 90d | all. Price: absent or all is every point, on every source. Demand: default 28d, and all is about a year. | |
| market | No | The market `rows` reads; vs is the default. A market the account's plan does not include is refused; markets still gives every market the plan includes. | |
| metric | No | price (default): prices, listings and tickets from one source, one point per date or, at granularity intraday, one per reading; a date with no row has no reading, and vs ends on the latest reading. demand: Interest (the most people viewing in an hour) and Sales (tickets bought, with orders beside them on vs), one row per date or, at granularity intraday, per hour for at most 90 days; markets carries each market's Sales over 24 hours, 7 and 30 days and its Interest side by side, never summed. | |
| render | No | A rendered chart (a PNG image content block) is included ahead of the data by default. Pass render:false for a data-only (smaller) response. | |
| source | No | Comparison source: choose one of the source codes. Every code answers the series envelope ({source, meta:{coverageStart, lastMeasuredAt, granularity, mapped, bases}, series:[{date, floor, median, p25, p75, floorAip, medianAip, p25Aip, p75Aip, listings, tickets}]}); mapped:false means that source does not read the event. Default vs; tm is the primary market, tmr the resale market, and vs, tp, tmr, gt, sg, sh, aq and go are all resale. Never mix a primary and a resale source into one series. Every code but aq and go serves the price (before fees) in floor and the all-in price (with fees) in floorAip; compare like with like. aq (named AQ B2B) is wholesale resale depth: floor (its lowest asking price), median, p25, p75, listings and tickets from confirmed readings; all-in fields are null. go states one price, its lowest all-in price (floorAip), and its tickets on sale; every other field is null, and mapped:false on go means not read. mlb is the club's own primary market for an mlb game, with disclosed face values with their disclosed all-in beside them. sgp is the sg primary market; sg is the sg resale market only. | |
| exclude | No | Comma separated. Listings to leave out of this answer: `zone` (Unassigned seats, the seller holds no specific seats yet; vs only) and `view` (Limited view, the market says the seats see the stage or field only in part; vs, sg, sgp and sh). Absent or empty: every listing counts, and the answer is the one with no exclude. A source that cannot state a kind is not filtered by it; `excluded` names what was left out. A price with nothing left is null, never 0. Set it only when the user asks to leave these listings out; the default answer is the whole market. | |
| section | No | mlb only: one or more sections of this event, comma separated (at most 60), each as get_event_sections_live view now with source mlb keys it (its sectionKey). With one section the series is that section's own statistics. With several, tickets is their sum, floor the lowest floor and median the median of the section medians; p25 and p75 are null, because a quantile does not add. A reading in which no named section was measured has no point. Any other source answers 400 when it is passed. | |
| currency | No | usd or venue. venue answers an event in a Canadian or UK venue with every price in the venue's currency (CAD or GBP) at the event's Bank of Canada rate; one rate converts every market, so the cheapest market and any order stay the same. Omit for USD. A view with no price ignores it. An answer in the venue's currency says currency, venue_currency, fx_rate (USD per one unit of venue_currency) and fx_rate_date; quote the currency with every price and the rate date when it is CAD or GBP. A US event is always USD. mlb_* prices keep mlb_currency. | |
| event_id | Yes | The event to chart. Ticker event id, `ev` plus ten characters, as returned by every tool here. A marketplace event link also resolves, as does a marketplace id with its source prefix (`vs:`, `sh:`, `tm:`, `sg:`, `gt:`, `ax:`, `tp:`) or bare until 2027-09-13. An id two events share is refused with both their ids. | |
| granularity | No | Price: `daily` (default): one point per date, `date` is YYYY-MM-DD. `intraday`: one point per reading, `date` is its time, where the source holds them; `meta.granularity` says which was served. Demand: `daily` (default), one row per date; `intraday`, one row per reading for the window's last 90 dates, one row per date before them. |