# TicketsData

> Real-time ticket listings, prices and fees across major ticket marketplaces.

- name: io.github.ticketsdata/ticketsdata-mcp
- version: 1.1.0
- connection class: R1 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 87/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.ticketsdata%2Fticketsdata-mcp
- tools: https://api.protogrid.dev/v1/servers/io.github.ticketsdata%2Fticketsdata-mcp/tools

**An agent can connect on its own if it already holds `TICKETSDATA_MCP_TOKEN`.** Remote endpoint behind a static API key or header. The registry never sees the value; the agent fills the placeholder.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "ticketsdata-mcp": {
      "type": "http",
      "url": "https://mcp.ticketsdata.com/mcp",
      "headers": {
        "Authorization": "Bearer ${TICKETSDATA_MCP_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${TICKETSDATA_MCP_TOKEN}`.

## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 45
- drivers: +website +reachable +uptime-100% +updated-16d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 87/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 1 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 5 of 5 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 2,242 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 6 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 5, about 2,242 tokens to load them all
- tool set hash: 7fef6340b2cff8ae190e54445cd5cb8f
- tools last changed: 2026-10-10T05:32:22.231Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.ticketsdata/ticketsdata-mcp.svg)](https://protogrid.dev/servers/io.github.ticketsdata/ticketsdata-mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-10 `analyze_listings` added
  - Work on the COMPLETE response of an earlier get_event_listings, compare_marketplaces or find_events call, including items too many to show inline. Pass the file link from that result. Free: spends no credits and makes no new fetch. Works for 15 minutes after the fetch, only for the account that made it. For marketplace listings it uses one standard row per listing with the same field names on every marketplace: section, row, quantity (tickets available), splits (quantities you can buy), price (per ticket before fees), fees, price_total (all-in per ticket), face_value, currency, notes, area, ticket_type, inventory_type, deal_score, delivery, is_parking, listing_id, marketplace. Any other field name is read from the original listing (prefix 'raw.' to force that). compare_marketplaces results merge every marketplace's listings into one list with a marketplace field. Filter with conditions (AND) and tickets, sort, pick fields, get min/median/max of a numeric field, and count or price items per group (per section, per marketplace, per row). Every reply includes an overview of all matches: count, tickets, price range and the cheapest listing.
- 2026-10-10 `compare_marketplaces` changed (description)
  - before: Cross-market report for ONE event. Give any marketplace's event URL: TicketsData finds the same event on the other marketplaces, fetches all of them live, and returns matched URLs, normalized listings per marketplace, per-market price and fee summaries, the cheapest all-in entry point and per-section price spreads between marketplaces. Returns the complete TicketsData API response, unchanged: always as a link to a JSON file, and also inline when it is small enough. EXPENSIVE: costs 1 report plus up to 12 API credits and takes 10 to 30 seconds. Needs a Pro plan or above. Only one can run at a time per account. Use get_event_listings instead when the user asks about a single marketplace.
  - after: Cross-market report for ONE event. Give any marketplace's event URL: TicketsData finds the same event on the other marketplaces, fetches all of them live, and returns matched URLs, normalized listings per marketplace, per-market price and fee summaries, the cheapest all-in entry point and per-section price spreads between marketplaces. Returns the complete TicketsData API response, unchanged: always as a link to a JSON file, and also inline (the report's analytics in full, listings cut to the first part when large). The report also contains each matched marketplace's own full listings response, so there is no need to call get_event_listings for those marketplaces afterwards. EXPENSIVE: costs 1 report plus up to 12 API credits and takes 20 to 60 seconds. Needs a Pro plan or above. Only one can run at a time per account. Use get_event_listings instead when the user asks about a single marketplace.
- 2026-10-10 `get_event_listings` changed (description)
  - before: Fetch live ticket listings for ONE event on ONE marketplace: section, row, quantity, price and fees. Real time, not cached. Costs 1 API credit per call. Returns the complete TicketsData API response, unchanged: always as a link to a JSON file, and also inline (whole when small, otherwise the first part of the listings in the API's order). The body structure differs per marketplace. Primary platforms (ticketmaster, dice, eventbrite, axs) return face-value offers and ticket tiers rather than resale listings. axs needs a Pro plan or above.
  - after: Fetch live ticket listings for ONE event on ONE marketplace: section, row, quantity, price and fees. Real time, not cached. Costs 1 API credit per call. Returns the complete TicketsData API response, unchanged: always as a link to a JSON file, and also inline (whole when small, otherwise the first part of the listings in the API's order). The body structure differs per marketplace. Primary platforms (ticketmaster, dice, eventbrite, axs) return face-value offers and ticket tiers rather than resale listings. axs needs a Pro plan or above. The result also says where the listings sit and what the price fields mean for that marketplace.
- 2026-10-05 `compare_marketplaces` changed (description)
  - before: Cross-market report for ONE event. Give any marketplace's event URL: TicketsData finds the same event on the other marketplaces, fetches all of them live, and returns matched URLs, normalized listings per marketplace, per-market price and fee summaries, the cheapest all-in entry point and per-section price spreads between marketplaces. Returns the complete TicketsData API response as JSON, unchanged. EXPENSIVE: costs 1 report plus up to 12 API credits and takes 10 to 30 seconds. Needs a Pro plan or above. Only one can run at a time per account. Use get_event_listings instead when the user asks about a single marketplace.
  - after: Cross-market report for ONE event. Give any marketplace's event URL: TicketsData finds the same event on the other marketplaces, fetches all of them live, and returns matched URLs, normalized listings per marketplace, per-market price and fee summaries, the cheapest all-in entry point and per-section price spreads between marketplaces. Returns the complete TicketsData API response, unchanged: always as a link to a JSON file, and also inline when it is small enough. EXPENSIVE: costs 1 report plus up to 12 API credits and takes 10 to 30 seconds. Needs a Pro plan or above. Only one can run at a time per account. Use get_event_listings instead when the user asks about a single marketplace.
- 2026-10-05 `find_events` changed (description)
  - before: List upcoming events for a performer, artist, team, organizer or venue page on one marketplace. Use it to discover event URLs, then pass one to get_event_listings or compare_marketplaces. Real time, costs 1 API credit. Returns the complete TicketsData API response as JSON, unchanged. Pass performer_url for most platforms. venue_url is for dice only (dice.fm/venue/... and dice.fm/promoters/... pages). For eventbrite pass the organizer page URL as performer_url. viagogo and axs are not supported here.
  - after: List upcoming events for a performer, artist, team, organizer or venue page on one marketplace. Use it to discover event URLs, then pass one to get_event_listings or compare_marketplaces. Real time, costs 1 API credit. Returns the complete TicketsData API response, unchanged: always as a link to a JSON file, and also inline when it is small enough. Pass performer_url for most platforms. venue_url is for dice only (dice.fm/venue/... and dice.fm/promoters/... pages). For eventbrite pass the organizer page URL as performer_url. viagogo and axs are not supported here.
- 2026-10-05 `get_event_listings` changed (description)
  - before: Fetch live ticket listings for ONE event on ONE marketplace: section, row, quantity, price and fees. Real time, not cached. Costs 1 API credit per call. Returns the complete TicketsData API response as JSON, unchanged. The body structure differs per marketplace. Primary platforms (ticketmaster, dice, eventbrite, axs) return face-value offers and ticket tiers rather than resale listings. axs needs a Pro plan or above.
  - after: Fetch live ticket listings for ONE event on ONE marketplace: section, row, quantity, price and fees. Real time, not cached. Costs 1 API credit per call. Returns the complete TicketsData API response, unchanged: always as a link to a JSON file, and also inline (whole when small, otherwise the first part of the listings in the API's order). The body structure differs per marketplace. Primary platforms (ticketmaster, dice, eventbrite, axs) return face-value offers and ticket tiers rather than resale listings. axs needs a Pro plan or above.

Full history: https://api.protogrid.dev/v1/servers/io.github.ticketsdata%2Fticketsdata-mcp/changes

## Remotes

- https://mcp.ticketsdata.com/mcp (streamable-http, auth api_key ${TICKETSDATA_MCP_TOKEN}, reachable true, uptime30d 1)

## Packages

_none_

## Tools (5)

- `analyze_listings`: Work on the COMPLETE response of an earlier get_event_listings, compare_marketplaces or find_events call, including items too many to show inline. Pass the file link from that result. Free: spends no credits and makes no new fetch. Works for 15 minutes after the fetch, only for the account that made it. For marketplace listings it uses one standard row per listing with the same field names on every marketplace: section, row, quantity (tickets available), splits (quantities you can buy), price (per ticket before fees), fees, price_total (all-in per ticket), face_value, currency, notes, area, ticket_type, inventory_type, deal_score, delivery, is_parking, listing_id, marketplace. Any other field name is read from the original listing (prefix 'raw.' to force that). compare_marketplaces results merge every marketplace's listings into one list with a marketplace field. Filter with conditions (AND) and tickets, sort, pick fields, get min/median/max of a numeric field, and count or price items per group (per section, per marketplace, per row). Every reply includes an overview of all matches: count, tickets, price range and the cheapest listing.
- `compare_marketplaces`: Cross-market report for ONE event. Give any marketplace's event URL: TicketsData finds the same event on the other marketplaces, fetches all of them live, and returns matched URLs, normalized listings per marketplace, per-market price and fee summaries, the cheapest all-in entry point and per-section price spreads between marketplaces. Returns the complete TicketsData API response, unchanged: always as a link to a JSON file, and also inline (the report's analytics in full, listings cut to the first part when large). The report also contains each matched marketplace's own full listings response, so there is no need to call get_event_listings for those marketplaces afterwards. EXPENSIVE: costs 1 report plus up to 12 API credits and takes 20 to 60 seconds. Needs a Pro plan or above. Only one can run at a time per account. Use get_event_listings instead when the user asks about a single marketplace.
- `find_events`: List upcoming events for a performer, artist, team, organizer or venue page on one marketplace. Use it to discover event URLs, then pass one to get_event_listings or compare_marketplaces. Real time, costs 1 API credit. Returns the complete TicketsData API response, unchanged: always as a link to a JSON file, and also inline when it is small enough. Pass performer_url for most platforms. venue_url is for dice only (dice.fm/venue/... and dice.fm/promoters/... pages). For eventbrite pass the organizer page URL as performer_url. viagogo and axs are not supported here.
- `get_event_listings`: Fetch live ticket listings for ONE event on ONE marketplace: section, row, quantity, price and fees. Real time, not cached. Costs 1 API credit per call. Returns the complete TicketsData API response, unchanged: always as a link to a JSON file, and also inline (whole when small, otherwise the first part of the listings in the API's order). The body structure differs per marketplace. Primary platforms (ticketmaster, dice, eventbrite, axs) return face-value offers and ticket tiers rather than resale listings. axs needs a Pro plan or above. The result also says where the listings sit and what the price fields mean for that marketplace.
- `list_marketplaces`: List the marketplaces TicketsData supports, the URL or ID format each one expects, which ones support event discovery and cross-market comparison, and valid mode values. Free: uses no credits. Call this first when unsure how to format an input.
