Cinema showtimes API for France

Get the showtimes of about 2,000 French cinemas as JSON, from Pathé and UGC multiplexes to art-house screens: by city, around a point, by film. Examples with curl and JavaScript.

4 min read

On this page
  1. What the API covers in France
  2. 1.Get an API key
  3. 2.Showtimes in a city
  4. 3.Around a location
  5. 4.Every showtime of a film
  6. 5.One cinema's programme
  7. 6.Large volumes
  8. Frequently asked questions

French cinemas publish their programmes in many different ways: chain ticketing sites, booking widgets, plain web pages, sometimes a PDF printed every fortnight. API Cinéma reads them all and returns one JSON format, the same for a 20-screen multiplex and a village hall.

This guide shows how to get showtimes for France: by city, around a location, by film and by cinema.

What the API covers in France

  • About 2,000 cinemas: the Pathé, UGC, CGR, Kinepolis and Mégarama multiplexes, and independent and art et essai (art-house) screens across mainland France.
  • Every showtime with its local start time, its version (VF dubbed in French, VO original version, VOST original with French subtitles), its format, the room when the cinema publishes it, and the booking link.
  • Every film with a clean title, its original title, running time, synopsis, genres and poster, matched to TMDB (tmdbId) so the same film is recognised from one cinema to the next.
  • Every cinema with its address, coordinates, time zone, number of screens and seats, and its CNC id (the French national cinema registry).

Each cinema is read again every one to three days, and all of them every Wednesday, when new films come out.

Get an API key

Create a free account, confirm your e-mail address, then 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 a week.

Every request carries the key in the Authorization header:

Terminal
curl "https://api.api-cinema.com/v1/cinemas?city=Lyon" -H "Authorization: Bearer ac_live_…"

Keep the key on your server: never ship it in a mobile app or in front-end JavaScript.

Showtimes in a city

GET /v1/showtimes searches every showtime. Without a date, it starts from now, in each cinema's local time:

Terminal
curl "https://api.api-cinema.com/v1/showtimes?country=FR&city=Lyon&limit=100" -H "Authorization: Bearer ac_live_…"

Each item embeds the film and the cinema:

JSON
{
  "id": "st_c9a6a699c415834b464de9ee",
  "startsAt": "2026-10-22T13:15:00",
  "version": "VF",
  "format": "2D",
  "room": "Salle 35",
  "bookingUrl": "https://www.ugc.fr/reservationSeances.html?id=330750313940",
  "movie": { "title": "Resident Evil", "durationMin": 94, "tmdbId": 1423191, "posterUrl": "…" },
  "cinema": { "name": "Ugc Cine Cite Part-Dieu", "city": "Lyon", "lat": 45.761001, "lng": 4.854442 }
}

startsAt is a wall-clock time in the cinema's time zone, with no offset: show it as it is.

Useful filters:

Parameter Example Effect
date 2026-10-24 one whole day
from / to 2026-10-24T18:00 a time window
version VOST only original-version screenings with subtitles
include movie embed only the film (lighter answers)

city is an exact match on the town name: city=Paris covers every arrondissement (each one also works alone, as city=Paris 5e Arrondissement), but no town includes its suburbs, so Paris leaves out Boulogne-Billancourt or Montreuil. For a whole area, search around a point.

Around a location

near takes a latitude and a longitude, radius_km a radius (10 km by default). Every cinema within 3 km of Châtelet in Paris:

Terminal
curl "https://api.api-cinema.com/v1/cinemas?country=FR&near=48.8584,2.3470&radius_km=3" -H "Authorization: Bearer ac_live_…"

The cinemas come nearest first, each with its distanceKm. The same parameters work on /v1/showtimes, for "what's on near me tonight":

JavaScript
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({
    near: { lat: 48.8584, lng: 2.3470, radiusKm: 2 },
    version: 'VOST',
    limit: 50,
  }),
})
const { data } = await res.json()
for (const s of data)
  console.log(s.startsAt.slice(11, 16), s.movie.title, '—', s.cinema.name)

Every showtime of a film

Pass the film's TMDB id, or its Allociné id: the number in the film page URL on allocine.fr. You do not need to know our own movie ids, and you get the film in every cinema whatever title each one publishes:

Terminal
curl "https://api.api-cinema.com/v1/showtimes?country=FR&tmdb_id=1368337&limit=100" -H "Authorization: Bearer ac_live_…"
curl "https://api.api-cinema.com/v1/showtimes?country=FR&allocine_id=1000013045&limit=100" -H "Authorization: Bearer ac_live_…"

To list the films showing in France, use GET /v1/movies?country=FR&playing=true.

One cinema's programme

Find the cinema by name, then read its showtimes. The path accepts the cinema's id or its slug:

Terminal
curl "https://api.api-cinema.com/v1/cinemas?q=champo" -H "Authorization: Bearer ac_live_…"
curl "https://api.api-cinema.com/v1/cinemas/le-champo-paris-5e-arrondissement/showtimes" -H "Authorization: Bearer ac_live_…"

Without dates this returns today's programme; add from and to for the week.

Large volumes

  • Lists are paginated: limit (up to 1,000 for showtimes) and offset, or cursor to walk a whole result set in a stable order.
  • To keep a local copy up to date, call /v1/showtimes?updated_since=… with the time of your previous sync: you only get what was added, changed or removed.
  • Read the X-RateLimit-Remaining header and wait for Retry-After when you get a 429.

The documentation details each of these, with every parameter and field.

Frequently asked questions

Is there an official Allociné API? Allociné no longer offers a public API. API Cinéma is independent: it reads the cinemas' own sources, and accepts Allociné film ids as a filter so that existing data can be matched: see moving from the Allociné API.

Which cinemas are included? Almost every cinema in France that publishes its programme online, chains and independents alike (the Pathé and UGC guide covers the two big chains). Search them with GET /v1/cinemas?country=FR&q=<name>.

Can I show the data in my app or website? Yes, that is what it is for. The terms of use ask for one account per client, the key kept server-side, and no resale of the raw data.