On this page
Fandango sells tickets for most US movie theaters, and developers often look for a Fandango API to get showtimes. There is no open, self-serve one: access to Fandango's data is reserved for its business partners.
API Cinéma is an independent alternative, not affiliated with Fandango: the showtimes of about 3,000 US theaters as JSON, with a key you create yourself. This guide covers the common needs: theaters near a location, a theater's schedule, every showtime of a film.
What you get
- About 3,000 US theaters in every state: AMC, Regal, Cinemark, Marcus, Harkins, Alamo Drafthouse, Landmark and many independents.
- Every showtime with its local start time, its format (
2D,3D,IMAX,4DX,DOLBY), and a booking link. - Every film with title, running time, synopsis, genres and poster, matched to TMDB (
tmdbId). - Every theater with its address, state, ZIP code, coordinates and time zone.
Get a key
Create a free account and create a key from the dashboard. The free plan gives 150 requests a week for trials and non-commercial projects; paid plans start at €12 a month for 10,000 requests a week.
curl "https://api.api-cinema.com/v1/cinemas?country=US&city=Chicago" -H "Authorization: Bearer ac_live_…"Send the key in the Authorization header, from your server only.
Theaters near a ZIP code or a location
Most apps start from the user's position. Pass a latitude and longitude to near, and a radius in kilometers to radius_km (10 by default; 16 km is about 10 miles):
curl "https://api.api-cinema.com/v1/cinemas?country=US&near=41.8781,-87.6298&radius_km=16" -H "Authorization: Bearer ac_live_…"{
"data": [
{ "slug": "amc-river-east-21-chicago-il", "name": "AMC River East 21", "city": "Chicago", "region": "IL", "postalCode": "60611", "timezone": "America/Chicago", "distanceKm": 1.65 }
],
"meta": { "limit": 50, "offset": 0, "total": 22 }
}To start from a ZIP code, geocode it first (any geocoding service will do), then search around that point.
A theater's schedule
curl "https://api.api-cinema.com/v1/cinemas/amc-empire-25-new-york-ny/showtimes?include=movie" -H "Authorization: Bearer ac_live_…"Without dates you get today; add from and to for the next days. startsAt is the theater's local time: 19:30 in Chicago means 7:30 pm in Chicago, whatever the time zone of your server.
Every showtime of a film
Filter by TMDB id to get one film in every theater, whatever title each one publishes:
curl "https://api.api-cinema.com/v1/showtimes?country=US&tmdb_id=1368337&near=34.0522,-118.2437&radius_km=25" -H "Authorization: Bearer ac_live_…"The films showing in the US: GET /v1/movies?country=US&playing=true.
IMAX and premium formats
The format is in every showtime. Tonight's IMAX and Dolby screenings within 10 km of downtown Los Angeles:
const res = await fetch('https://api.api-cinema.com/v1/showtimes/search', {
method: 'POST',
headers: { 'Authorization': `Bearer ${process.env.API_CINEMA_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify({
country: 'US',
near: { lat: 34.0522, lng: -118.2437, radiusKm: 10 },
from: '2026-10-28T17:00',
to: '2026-10-28T23:59',
limit: 1000,
}),
})
const { data } = await res.json()
for (const s of data.filter(s => s.format === 'IMAX' || s.format === 'DOLBY'))
console.log(s.startsAt.slice(11, 16), s.format, s.movie.title, '—', s.cinema.name)Sync into your own database
Pass the time of your previous sync to updated_since and you only get the showtimes added, changed or removed since then. The US guide and the documentation cover pagination and rate limits.
Frequently asked questions
Is API Cinéma linked to Fandango? No. API Cinéma is an independent service, with no affiliation with Fandango or the theater chains.
Can I sell tickets through the API? No: the API gives showtimes and a booking link per showtime. Ticketing stays on the theater's or the ticketing site's page.
Are ticket prices, reserved seating or ratings included? No: theaters, films and showtimes only.
What about Canada? Not yet: the United States and France are covered today.