Fandango API: Get movie showtimes
Finds a movie's showtimes at nearby US theaters on Fandango, with formats, local times and ticket links.
Unofficial. Not affiliated with or endorsed by Fandango.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Date optional
date Showtime date, such as 2026-09-29. Defaults to today.
2026-09-29
- Movie, required
movie Movie title, such as Resident Evil.
Resident Evil
- Location, required
location US ZIP code or city and state, such as 90210 or Austin, TX.
Austin, TX
- Max Theaters optional
max_theaters Maximum nearby theaters to return.
3
Whole number from 1 to 30. Default
10.
Input as JSON
{ "date": "2026-09-29", "movie": "Resident Evil", "location": "Austin, TX", "max_theaters": 3}Output
{ "runtime": "1 hr 34 min", "theaters": [], "age_rating": "R", "movie_link": "https://www.fandango.com/resident-evil-2026-245893/movie-overview" , "movie_title": "Resident Evil (2026)"}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"fandango.com/get_movie_showtimes","input":{"date":"2026-09-29","movie":"Resident Evil","location":"Austin, TX","max_theaters":3}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "fandango.com/get_movie_showtimes" , "input": { "date": "2026-09-29", "movie": "Resident Evil", "location": "Austin, TX", "max_theaters": 3 }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "fandango.com/get_movie_showtimes" , "input": { "date": "2026-09-29", "movie": "Resident Evil", "location": "Austin, TX", "max_theaters": 3 } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run fandango.com/get_movie_showtimes# with {"date":"2026-09-29","movie":"Resident Evil","location":"Austin, TX","max_theaters":3}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "movie", "location" ], "properties": { "date": { "type": "string", "description": "Showtime date, such as 2026-09-29. Defaults to today." }, "movie": { "type": "string", "description": "Movie title, such as Resident Evil." }, "location": { "type": "string", "description": "US ZIP code or city and state, such as 90210 or Austin, TX." }, "max_theaters": { "type": "integer", "default": 10, "maximum": 30, "minimum": 1, "description": "Maximum nearby theaters to return." } }}Output schema
{ "type": "object", "required": [ "movie_title", "movie_link", "theaters" ], "properties": { "runtime": { "type": [ "string", "null" ] }, "theaters": { "type": "array", "items": { "type": "object", "properties": { "address": { "type": "string" }, "theater_link": { "type": "string" }, "theater_name": { "type": "string" }, "distance_miles": { "type": [ "number", "null" ] }, "showtime_groups": { "type": "array", "items": { "type": "object", "properties": { "format": { "type": "string" }, "showtimes": { "type": "array", "items": { "type": "object", "properties": { "date_time": { "type": "string" }, "local_time": { "type": "string" }, "ticket_link": { "type": "string" } } } } } } } } } }, "age_rating": { "type": [ "string", "null" ] }, "movie_link": { "type": "string" }, "movie_title": { "type": "string" } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
fandango.com/get_movie_showtimes- Returns
- movie title, age rating, runtime, theaters with showtimes and ticket links
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method fandango.com/get_movie_showtimes with the inputs above.
Ask your agent
- What times is Dune Part Three playing near 94103 on 2026-10-02?
- Show me showtimes for Oppenheimer at theaters in Denver, CO tonight
- Find me Wicked: For Good screenings within 8 theaters of 30301 this Friday
- Any IMAX showings of Gladiator II in Chicago, IL on 2026-09-29?
- Which nearby cinemas near Tampa, FL have Inside Out 2 showtimes tomorrow, and can I get ticket links?
See more
All Fandango methodsGets a movie theater's films and showtimes on Fandango for a date, from the theater's name and its city or ZIP code. Each film lists its rating, runtime and showtimes grouped by format with ticket links; a date without listed showtimes returns no films.
fandango.com/get_theater_showtimesLists Fandango movies now playing or coming soon in U.S. theaters, in Fandango's order, with release dates, age ratings, runtimes and Rotten Tomatoes scores when shown.
fandango.com/list_now_playingFinds a movie on TMDB by exact title (optionally its release year) or by TMDB movie link, and returns its details, cast, crew, trailers, and the release date, age rating and streaming services for a chosen country.
themoviedb.org/get_movieFinds upcoming Ticketmaster-listed concerts, sports, theater and other events by keyword, optionally by city, country, category and date range, with dates, venues, prices when shown and links. Partner-only listings without a Ticketmaster link are excluded; very large searches cover only the first 800 listings.
ticketmaster.com/search_eventsFinds a movie on Box Office Mojo by title, with an optional year, and returns its box office totals, release details, theater counts and markets.
boxofficemojo.com/get_movie_box_officeLists movies scheduled for theatrical release in a country over the coming three weeks, soonest first, from TMDB's country-specific release calendar, with genres, overview and user score.
themoviedb.org/list_upcoming_moviesGets a movie or TV show's IMDb details from its name, IMDb title link or title ID; a year picks between titles with the same name. Unavailable details are null.
imdb.com/get_movie_or_showGets Rotten Tomatoes critic and audience scores and title details for a movie or TV show, optionally for one TV season. Audience rating counts may be unavailable for series.
rottentomatoes.com/get_scores