Integrate Fever's global event catalog into your applications and AI assistants.
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.
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.
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.
| Parameter | Type | Required | Description |
|---|---|---|---|
city_code | string | null | Required if no coordinates | 3-letter city code (e.g. MAD, NYC). Can be obtained via search_cities. Ignored when latitude/longitude are provided |
latitude | number | null | Required if no city_code | Latitude (-90 to 90). Must be used together with longitude. When provided, city_code is ignored. Example: 40.4168 for Madrid |
longitude | number | null | Required if no city_code | Longitude (-180 to 180). Must be used together with latitude. Example: -3.7038 for Madrid |
radius | integer | null | Optional | Search radius in meters. Only works with coordinates. Example: 5000 for 5 km. Default: no limit |
venue_id | integer | null | Optional | Only 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 |
query | string | Optional | Search term for specific events (default: "" for all). It matches event titles and descriptions, not venue names — to search by venue, use search_venues |
sort_by | enum | Optional | popularity (default), price, rating, closest_session, distance (requires coordinates), random |
locale | string | Optional | Language code affecting content language (e.g. en, es). Default: en |
page | integer | Optional | Page number starting from 0 (default: 0) |
page_size | integer | Optional | Results 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_datetime | string | null | Optional | ISO 8601 datetime (any timezone offset). Only sessions starting at or after this time are returned. Example: 2025-10-17T19:00:00Z |
end_datetime | string | null | Optional | ISO 8601 datetime (any timezone offset). Only sessions starting at or before this time are returned. Example: 2025-10-17T23:59:59Z |
include_description | boolean | Optional | If true, includes keywords and description per event. Useful for discovering event features and typology (default: false) |
id, name — Event identifier and titleurl — Direct link to the event on Fevercover_image_url — Main event imagerating — 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 rangecurrency — ISO 4217 currency code, e.g. EURlocation — 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 appliedsession_start_times — The same sessions as ISO 8601 local datetimes, with no UTC offset. Read them together with timezone, never as UTCtimezone — IANA timezone of the event's city or venue, e.g. Europe/Madridartists, music_genres — Line-up and genres, for events annotated with themkeywords, description — Only included if include_description=truevenue — 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 callcount, next, previous — Pagination infoFields 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.
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.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Required | City name or search term. Use '' for all cities |
locale | string | Required | Language code affecting localization (e.g. en, es) |
city_code | string | null | Optional | 3-letter city code (e.g. MAD, NYC, LON, BCN) |
only_suggested | boolean | Optional | If true, returns only top/popular cities (default: false) |
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 arrayhas_results — Whether those sections hold real matches, as opposed to the static suggestions returned when nothing matchedEach 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 namelocation — Full location string, e.g. "Madrid, Spain"is_top_city — Whether the city is a major market with high inventoryFind 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Optional | Venue name or search term (default: "", which browses all venues) |
locale | string | Optional | Language code affecting content language (e.g. en, es). Default: en |
latitude | number | null | Optional | Latitude (-90 to 90). Must be used together with longitude. Example: 40.4168 for Madrid |
longitude | number | null | Optional | Longitude (-180 to 180). Must be used together with latitude. Example: -3.7038 for Madrid |
radius | integer | null | Optional | Search radius in meters. Requires both coordinates. Example: 5000 for 5 km |
limit | integer | Optional | Maximum venues to return, max 50 (default: 10) |
country_code | string | null | Optional | ISO 3166-1 alpha-2 country filter, two letters (e.g. ES, US) |
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.
venue_id, name — Venue identifier and namelocation — Full location string, e.g. "Madrid, Spain" or "Branson, MO, United States"address — Street addresslatitude, longitude — Coordinates in decimal degrees (WGS84)distance_km — Great-circle distance from the searched point. Only present when searching by coordinatescover_image_url — Venue imagevenue_page_url — Link to the venue's page on Fever. Absent when Fever publishes no page for the venuecountry_code — ISO 3166-1 alpha-2 country codecity_code — 3-letter Fever city code. Pass it as city_code to search_eventsslug — The venue slug on Fever. Optional: absent for venues with no Fever place pagecity_slug — The slug of the venue's city on Fevercount — Number of venues returnedFind 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Optional | Movie title or part of it, typo-tolerant (default: "", which returns the movies with the most showtimes nearby) |
movie_id | integer | null | Optional | Exact Fever movie id from an earlier result. Overrides query |
latitude | number | null | Required if no city_code | Latitude of the search point (-90 to 90). Must be used together with longitude. Example: 40.758 for Times Square |
longitude | number | null | Required if no city_code | Longitude of the search point (-180 to 180). Must be used together with latitude. Example: -73.9855 for Times Square |
radius | integer | Optional | Search radius in meters, 1000 to 80000 (default: 16000, about 10 miles) |
city_code | string | null | Required if no coordinates | 3-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_datetime | string | null | Optional | Earliest showtime start, ISO 8601. Without an offset it is the cinema's local time. Default: now. Example: 2026-12-18T18:00:00 |
end_datetime | string | null | Optional | Latest 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_movies | integer | Optional | Maximum movies to return, 1 to 10 (default: 5) |
max_cinemas_per_movie | integer | Optional | Maximum cinemas per movie, nearest first, 1 to 20 (default: 5) |
max_showtimes_per_cinema | integer | Optional | Maximum showtimes per cinema, earliest first, 1 to 50 (default: 20) |
locale | string | Optional | Language code of titles and links (e.g. en, es). Default: en |
Results nest movie → cinemas → showtimes:
id, title, cover_image_url, runtime_minutes, advisory_rating (e.g. PG-13), genres, release_date — The moviemovie_url — The movie's page on Fevercinemas — Nearest first. Each has the cinema fields below and its showtimeshas_more, has_more_cinemas, has_more_showtimes — More results exist beyond max_movies, max_cinemas_per_movie or max_showtimes_per_cinemasearch — The window and search point actually applieddata_as_of — When the showtime data was last refreshed (UTC)Each cinema includes:
id, name, address, city, latitude, longitude, timezone, google_place_id — The cinemadistance_miles — Distance from the search point, one decimal. Absent when there is no search pointEach showtime includes:
id — Fever showtime idstart_local — Start in the cinema's local time, ISO 8601 with offsetscreen_format — key and label, e.g. IMAX; STANDARD-FORMAT when there is no premium formatattributes — Other features of the screening, such as seating type or subtitlesticket_types — One entry per ticket type (Adult, Child, Senior...), cheapest first: label, price, fee (Fever's booking fee per seat), total, currency, is_sold_outis_sold_out — No ticket type can be boughtbooking_url — Opens this showtime on Fever, ready to choose seatsShare booking_url and movie_url exactly as returned, query parameters included: they carry Fever's attribution.
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.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Optional | Cinema name or chain, e.g. AMC Empire 25 or Regal (default: "", which returns every cinema nearby) |
cinema_id | integer | null | Optional | Exact Fever cinema id from an earlier result. Overrides query, and the location becomes optional |
latitude | number | null | Required if no city_code or cinema_id | Latitude of the search point (-90 to 90). Must be used together with longitude. Example: 40.758 for Times Square |
longitude | number | null | Required if no city_code or cinema_id | Longitude of the search point (-180 to 180). Must be used together with latitude. Example: -73.9855 for Times Square |
radius | integer | Optional | Search radius in meters, 1000 to 80000 (default: 16000, about 10 miles) |
city_code | string | null | Required if no coordinates or cinema_id | 3-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_datetime | string | null | Optional | Earliest showtime start, ISO 8601. Without an offset it is the cinema's local time. Default: now. Example: 2026-12-18T18:00:00 |
end_datetime | string | null | Optional | Latest 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_cinemas | integer | Optional | Maximum cinemas to return, 1 to 20 (default: 5): best name match first, else nearest first |
max_movies_per_cinema | integer | Optional | Maximum movies per cinema, most showtimes first, 1 to 30 (default: 10) |
max_showtimes_per_movie | integer | Optional | Maximum showtimes per movie, earliest first, 1 to 50 (default: 10) |
locale | string | Optional | Language code of titles and links (e.g. en, es). Default: en |
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 cinemadistance_miles — Distance from the search point, one decimal. Absent when there is no search pointmovies — Most showtimes first. Each has the movie fields, including movie_url, and its showtimeshas_more, has_more_movies, has_more_showtimes — More results exist beyond max_cinemas, max_movies_per_cinema or max_showtimes_per_moviesearch — The window and search point actually applieddata_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.
Getting Started
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.
Usage
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.
data_as_of.
Support