Fever Developer Portal — Tools and APIs for Live Entertainment
Fever Developer Portal
Fever Developer Portal

Integrate Fever's global event catalog into your applications and AI assistants.

Fever event discovery MCP Server

Connect Claude, Cursor, or any MCP-compatible client directly to Fever's event catalog. Search cities, venues, events and US movie showtimes, no extra setup required.

Get started in minutes

Two ways to connect — OAuth 2.0 sign-in for individuals, or machine-to-machine credentials for companies.

There are two ways to connect, and which one you need depends on who is calling. Pick yours and follow its steps.

Individuals — sign in from your MCP client

A person using Claude, ChatGPT, Cursor or any other MCP client authenticates through the OAuth 2.0 sign-in we already have. It is self-service: there is no form to fill in and nothing to request from us.

1. Configure your MCP client

Add the Fever MCP server to your client configuration. For Claude Desktop, add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "fever": {
      "url": "https://data-search.apigw.feverup.com/mcp/"
    }
  }
}

2. Sign in with OAuth 2.0

On first use, your MCP client opens a browser window to log in. After that everything is handled automatically: the session renews itself, so there is no daily sign-in to repeat. Sessions do have a 30-day ceiling — imposed by the MCP framework, not by the identity provider — after which you sign in once more.

3. Start using it

Ask your AI assistant to search for cities, venues, events or movie showtimes on Fever and it will use the MCP tools automatically.

Companies — machine-to-machine

A company whose integration runs unattended, with no person at a browser to sign in, uses the OAuth 2.0 client_credentials grant instead.

1. Get your credentials

Credentials are issued per integration and are not self-service: Dynamic Client Registration is not supported on this path. Write to data-ai@feverup.com telling us what you are building, and we will send you a client_id and client_secret.

2. Get an access token

Exchange those credentials at our token endpoint. The body is form-encoded, and the audience and the mcp:service scope are added for you:

curl --request POST \
  --url https://data-search.apigw.feverup.com/token \
  --data grant_type=client_credentials \
  --data client_id=YOUR_CLIENT_ID \
  --data client_secret=YOUR_CLIENT_SECRET

3. Call the MCP server

Call https://data-search.apigw.feverup.com/mcp/ with the token in an Authorization: Bearer <access_token> header. No refresh token is involved on this path: cache the token and request a new one when it expires, using the expires_in value from the response to know when. A token lasts about a day, and each client gets at most two new tokens per UTC day; asking again while yours is still valid returns the same token.

Distribution and affiliate partnerships

You can use the MCP server to bring Fever experiences into your own platform. The commercial side, how you are paid for the bookings you generate, is agreed separately with Fever's partner teams, so contact them directly.

To become a distribution partner and sell Fever experiences on your platform, reach the distribution team through the Experience Distribution Platform page. To earn commission on the customers you send to Fever, apply to the Fever Affiliate Program; once you are in, tell us at data-ai@feverup.com and the booking links the MCP returns to you will credit your affiliate account.

Available Tools

search_events

Description

Search for events, activities, and experiences available in a specific city through Fever. Filter by date range or venue, sort by popularity or price, and paginate through results.

Ideal for building event discovery features, recommendation engines, or letting AI assistants help users find things to do.

Parameters

ParameterTypeRequiredDescription
city_codestring | nullRequired if no coordinates3-letter city code (e.g. MAD, NYC). Can be obtained via search_cities. Ignored when latitude/longitude are provided
latitudenumber | nullRequired if no city_codeLatitude (-90 to 90). Must be used together with longitude. When provided, city_code is ignored. Example: 40.4168 for Madrid
longitudenumber | nullRequired if no city_codeLongitude (-180 to 180). Must be used together with latitude. Example: -3.7038 for Madrid
radiusinteger | nullOptionalSearch radius in meters. Only works with coordinates. Example: 5000 for 5 km. Default: no limit
venue_idinteger | nullOptionalOnly return events held at this venue. Use search_venues to turn a venue name into a venue_id, and pass that venue's city_code alongside it
querystringOptionalSearch term for specific events (default: "" for all). It matches event titles and descriptions, not venue names — to search by venue, use search_venues
sort_byenumOptionalpopularity (default), price, rating, closest_session, distance (requires coordinates), random
localestringOptionalLanguage code affecting content language (e.g. en, es). Default: en
pageintegerOptionalPage number starting from 0 (default: 0)
page_sizeintegerOptionalResults per page, max 100 (default: 12). Values that are not a multiple of 3 are rounded up, so the card grid never ends in an orphan row
start_datetimestring | nullOptionalISO 8601 datetime (any timezone offset). Only sessions starting at or after this time are returned. Example: 2025-10-17T19:00:00Z
end_datetimestring | nullOptionalISO 8601 datetime (any timezone offset). Only sessions starting at or before this time are returned. Example: 2025-10-17T23:59:59Z
include_descriptionbooleanOptionalIf true, includes keywords and description per event. Useful for discovering event features and typology (default: false)

Example Response Fields

  • id, name — Event identifier and title
  • url — Direct link to the event on Fever
  • cover_image_url — Main event image
  • rating — Formatted string, e.g. "4.8/5 (1250 reviews)"
  • price — Formatted string, e.g. "From 25.00 EUR" or "Free"
  • min_price, max_price — The same prices as numbers, in currency. max_price is only present when the event has a real price range
  • currency — ISO 4217 currency code, e.g. EUR
  • location — Venue and city, e.g. "Teatro Real, Madrid"
  • availability — Up to three upcoming sessions as a human-readable string, then "and N more sessions". Restricted to the requested interval when a date filter is applied
  • session_start_times — The same sessions as ISO 8601 local datetimes, with no UTC offset. Read them together with timezone, never as UTC
  • timezone — IANA timezone of the event's city or venue, e.g. Europe/Madrid
  • artists, music_genres — Line-up and genres, for events annotated with them
  • keywords, description — Only included if include_description=true
  • venue — The venue the search was scoped to. Returned only when venue_id was passed, with the same shape as a search_venues result, so a venue-to-events pivot needs no second call
  • count, next, previous — Pagination info

Fields with no value are left out of the response rather than returned as null: an event whose price is hidden carries no min_price, and one with no annotated line-up carries no artists.

search_cities

Description

Find cities where Fever operates and offers events/activities. Useful for discovering available markets, looking up city codes for use with search_events, or browsing Fever's global presence.

Parameters

ParameterTypeRequiredDescription
querystringRequiredCity name or search term. Use '' for all cities
localestringRequiredLanguage code affecting localization (e.g. en, es)
city_codestring | nullOptional3-letter city code (e.g. MAD, NYC, LON, BCN)
only_suggestedbooleanOptionalIf true, returns only top/popular cities (default: false)

Example Response Fields

Cities come back grouped into sections rather than as one flat list:

  • fields — The sections. Each carries a type, name, uses_location, count and its own results array
  • has_results — Whether those sections hold real matches, as opposed to the static suggestions returned when nothing matched

Each city inside a section's results includes:

  • city_id, city_code — Unique ID and 3-letter code (e.g. MAD, NYC)
  • city_name — Localized city name
  • location — Full location string, e.g. "Madrid, Spain"
  • is_top_city — Whether the city is a major market with high inventory
search_venues

Description

Find venues where Fever runs events — theatres, museums, concert halls, landmarks. Use it for venue-first discovery such as "what is on at the WiZink Center" or "venues near me", and for questions about a venue itself: its street address, its coordinates, or whether Fever publishes a page for it.

Do not pass a venue name as query to search_events for this — that searches event titles and descriptions, not venues, and returns unrelated events in the same area. To list what is on at a venue, take its venue_id and city_code from here and pass both to search_events.

Parameters

ParameterTypeRequiredDescription
querystringOptionalVenue name or search term (default: "", which browses all venues)
localestringOptionalLanguage code affecting content language (e.g. en, es). Default: en
latitudenumber | nullOptionalLatitude (-90 to 90). Must be used together with longitude. Example: 40.4168 for Madrid
longitudenumber | nullOptionalLongitude (-180 to 180). Must be used together with latitude. Example: -3.7038 for Madrid
radiusinteger | nullOptionalSearch radius in meters. Requires both coordinates. Example: 5000 for 5 km
limitintegerOptionalMaximum venues to return, max 50 (default: 10)
country_codestring | nullOptionalISO 3166-1 alpha-2 country filter, two letters (e.g. ES, US)

How results are ranked

A geo search returns the most relevant venues within the radius and then re-orders that set by distance. It is not the N nearest venues.

Within a single city the geographic decay is flat up to 50 km, so popularity — not proximity — decides which venues make the set; distance only decides the order they come back in. Reading distance_km ascending as "nearest first" is therefore wrong: a closer but less popular venue can be absent from a set that includes a farther, more popular one. Narrow the radius when you need strict proximity.

Example Response Fields

  • venue_id, name — Venue identifier and name
  • location — Full location string, e.g. "Madrid, Spain" or "Branson, MO, United States"
  • address — Street address
  • latitude, longitude — Coordinates in decimal degrees (WGS84)
  • distance_km — Great-circle distance from the searched point. Only present when searching by coordinates
  • cover_image_url — Venue image
  • venue_page_url — Link to the venue's page on Fever. Absent when Fever publishes no page for the venue
  • country_code — ISO 3166-1 alpha-2 country code
  • city_code — 3-letter Fever city code. Pass it as city_code to search_events
  • slug — The venue slug on Fever. Optional: absent for venues with no Fever place page
  • city_slug — The slug of the venue's city on Fever
  • count — Number of venues returned
search_movie_showtimes

Description

Find where and when a movie is showing in cinemas near a location. Use it for "where can I watch this movie tonight" or "which movies are playing near me". Returns movies, each with the nearest cinemas showing it and their earliest showtimes in the requested window: screen format (IMAX, Dolby Cinema, 3D...), ticket prices with Fever's booking fee, a sold-out flag, and a link to choose seats and buy on Fever.

Covers US cinemas only. Showtimes are refreshed hourly, so a screening that sold out within the last hour can still show seats; data_as_of says when the data was last refreshed.

Parameters

ParameterTypeRequiredDescription
querystringOptionalMovie title or part of it, typo-tolerant (default: "", which returns the movies with the most showtimes nearby)
movie_idinteger | nullOptionalExact Fever movie id from an earlier result. Overrides query
latitudenumber | nullRequired if no city_codeLatitude of the search point (-90 to 90). Must be used together with longitude. Example: 40.758 for Times Square
longitudenumber | nullRequired if no city_codeLongitude of the search point (-180 to 180). Must be used together with latitude. Example: -73.9855 for Times Square
radiusintegerOptionalSearch radius in meters, 1000 to 80000 (default: 16000, about 10 miles)
city_codestring | nullRequired if no coordinates3-letter Fever city code (e.g. NYC, LAX, ORD for Chicago). The search point becomes the city centre. Can be obtained via search_cities
start_datetimestring | nullOptionalEarliest showtime start, ISO 8601. Without an offset it is the cinema's local time. Default: now. Example: 2026-12-18T18:00:00
end_datetimestring | nullOptionalLatest showtime start, ISO 8601, at most 7 days after start_datetime. Without an offset it is the cinema's local time. Default: the end of start_datetime's local day
max_moviesintegerOptionalMaximum movies to return, 1 to 10 (default: 5)
max_cinemas_per_movieintegerOptionalMaximum cinemas per movie, nearest first, 1 to 20 (default: 5)
max_showtimes_per_cinemaintegerOptionalMaximum showtimes per cinema, earliest first, 1 to 50 (default: 20)
localestringOptionalLanguage code of titles and links (e.g. en, es). Default: en

Example Response Fields

Results nest movie → cinemas → showtimes:

  • id, title, cover_image_url, runtime_minutes, advisory_rating (e.g. PG-13), genres, release_date — The movie
  • movie_url — The movie's page on Fever
  • cinemas — Nearest first. Each has the cinema fields below and its showtimes
  • has_more, has_more_cinemas, has_more_showtimes — More results exist beyond max_movies, max_cinemas_per_movie or max_showtimes_per_cinema
  • search — The window and search point actually applied
  • data_as_of — When the showtime data was last refreshed (UTC)

Each cinema includes:

  • id, name, address, city, latitude, longitude, timezone, google_place_id — The cinema
  • distance_miles — Distance from the search point, one decimal. Absent when there is no search point

Each showtime includes:

  • id — Fever showtime id
  • start_local — Start in the cinema's local time, ISO 8601 with offset
  • screen_format — key and label, e.g. IMAX; STANDARD-FORMAT when there is no premium format
  • attributes — Other features of the screening, such as seating type or subtitles
  • ticket_types — One entry per ticket type (Adult, Child, Senior...), cheapest first: label, price, fee (Fever's booking fee per seat), total, currency, is_sold_out
  • is_sold_out — No ticket type can be bought
  • booking_url — Opens this showtime on Fever, ready to choose seats

Share booking_url and movie_url exactly as returned, query parameters included: they carry Fever's attribution.

search_cinema_showtimes

Description

Find what is showing at cinemas, by cinema name or chain or by proximity. Use it for "what's on at AMC Empire 25 tonight" or "cinemas near me". Returns cinemas, each with the movies it shows (most showtimes first) and their earliest showtimes in the requested window, with the same screen format, prices, sold-out flag and booking link as search_movie_showtimes.

Covers US cinemas only. Showtimes are refreshed hourly, so a screening that sold out within the last hour can still show seats; data_as_of says when the data was last refreshed.

A cinema matched by name or id is returned whenever it has showtimes in the next 14 days, with an empty movie list if none fall in the requested window. No result means no showtimes in the next 14 days.

Parameters

ParameterTypeRequiredDescription
querystringOptionalCinema name or chain, e.g. AMC Empire 25 or Regal (default: "", which returns every cinema nearby)
cinema_idinteger | nullOptionalExact Fever cinema id from an earlier result. Overrides query, and the location becomes optional
latitudenumber | nullRequired if no city_code or cinema_idLatitude of the search point (-90 to 90). Must be used together with longitude. Example: 40.758 for Times Square
longitudenumber | nullRequired if no city_code or cinema_idLongitude of the search point (-180 to 180). Must be used together with latitude. Example: -73.9855 for Times Square
radiusintegerOptionalSearch radius in meters, 1000 to 80000 (default: 16000, about 10 miles)
city_codestring | nullRequired if no coordinates or cinema_id3-letter Fever city code (e.g. NYC, LAX, ORD for Chicago). The search point becomes the city centre. Can be obtained via search_cities
start_datetimestring | nullOptionalEarliest showtime start, ISO 8601. Without an offset it is the cinema's local time. Default: now. Example: 2026-12-18T18:00:00
end_datetimestring | nullOptionalLatest showtime start, ISO 8601, at most 7 days after start_datetime. Without an offset it is the cinema's local time. Default: the end of start_datetime's local day
max_cinemasintegerOptionalMaximum cinemas to return, 1 to 20 (default: 5): best name match first, else nearest first
max_movies_per_cinemaintegerOptionalMaximum movies per cinema, most showtimes first, 1 to 30 (default: 10)
max_showtimes_per_movieintegerOptionalMaximum showtimes per movie, earliest first, 1 to 50 (default: 10)
localestringOptionalLanguage code of titles and links (e.g. en, es). Default: en

Example Response Fields

Results nest cinema → movies → showtimes, with the same fields as search_movie_showtimes in the other order:

  • id, name, address, city, latitude, longitude, timezone, google_place_id — The cinema
  • distance_miles — Distance from the search point, one decimal. Absent when there is no search point
  • movies — Most showtimes first. Each has the movie fields, including movie_url, and its showtimes
  • has_more, has_more_movies, has_more_showtimes — More results exist beyond max_cinemas, max_movies_per_cinema or max_showtimes_per_movie
  • search — The window and search point actually applied
  • data_as_of — When the showtime data was last refreshed (UTC)

Share booking_url and movie_url exactly as returned, query parameters included: they carry Fever's attribution.

Frequently Asked Questions

Find answers to common questions about the Fever event discovery MCP Server.

Getting Started

What is the Model Context Protocol (MCP)? MCP (Model Context Protocol) is an open standard that lets AI assistants connect to external tools and data sources. The Fever event discovery MCP Server gives compatible AI clients direct access to Fever's event discovery platform.
What AI clients are supported? The Fever event discovery MCP Server works with any MCP-compatible client, including Claude Desktop, Cursor, Windsurf, Claude Code, and other tools that support the MCP standard.
How do I get access? There are two paths. As an individual using a client such as Claude Desktop or Cursor, simply add the Fever MCP server URL as a connector and complete the OAuth 2.0 authentication flow — it is self-service and no registration form is needed. As a company running an unattended server-side integration, you need machine-to-machine credentials, which we issue on request — see the next question. Either way, the Getting Started section above has step-by-step instructions.
I am a company. How do I get machine-to-machine access? Machine-to-machine access uses the OAuth 2.0 client_credentials grant, for integrations that run unattended with no person at a browser to sign in. Dynamic Client Registration is not supported on that path, so credentials are not self-service — we issue a client_id and client_secret per integration. Get in touch at data-ai@feverup.com, tell us what you are building, and we will send you the pair. You exchange it for a token at https://data-search.apigw.feverup.com/token; the Getting Started section above has the request.
Is it free? The Fever event discovery MCP Server is currently available at no cost. Just add the server URL to your MCP client and authenticate to get started.

Usage

What data can I access? The server exposes five tools — search_cities to find cities where Fever operates, search_venues to find the venues Fever runs events at, search_events to discover events, activities, and experiences, and search_movie_showtimes and search_cinema_showtimes to find movie showtimes, ticket prices and booking links at US cinemas. You can search by keyword, location, coordinates, venue, date range, and more.
Are there rate limits? Yes, rate limits apply to ensure fair usage across all users. If you need higher limits for a specific use case, reach out to us at data-ai@feverup.com.
How fresh is the data? The data served through the MCP Server is real-time. It is updated at the same rate as the Fever platform itself, so you always get the latest events, sessions, and availability. Movie showtimes are the exception. They are refreshed hourly, and every showtime response says when in data_as_of.

Support

How can I get in touch? For any extra needs, questions, or feedback about the Fever event discovery MCP Server, you can reach us at data-ai@feverup.com.
I want to sell Fever experiences on my platform or earn commission. Who do I contact? The MCP server can power that integration, but how you are paid for the bookings you generate is agreed with Fever's partner teams. To become a distribution partner, reach the distribution team through the Experience Distribution Platform page. To earn commission on the customers you send to Fever, apply to the Fever Affiliate Program, then tell us at data-ai@feverup.com so the booking links the MCP returns to you credit your affiliate account.