API des séances Google : les horaires de cinéma en JSON

Google affiche les séances dans ses résultats mais n’a pas d’API pour les récupérer. Comment obtenir les mêmes données, cinémas, films et horaires, en JSON pour la France et les États-Unis.

3 min de lecture

Sur cette page
  1. Ce que vous obtenez
  2. 1.Obtenir une clé
  3. 2.Les films à l’affiche autour d’un point
  4. 3.Regrouper par film, comme Google
  5. 4.Les cinémas près de moi
  6. 5.Un film, tous les cinémas
  7. Heures et fuseaux
  8. Questions fréquentes

Tapez « cinéma près de moi » sur Google et vous obtenez un joli bloc de films, de salles et d’horaires. Naturellement, les développeurs cherchent l’API derrière. Il n’y en a pas : Google ne publie pas ses séances sous forme d’API, et extraire ses pages de résultats est contraire à ses conditions, casse à chaque changement de mise en page et se fait bloquer rapidement.

API Cinéma donne le même type de données, cinémas, films et horaires, sous forme d’une API JSON documentée pour la France et les États-Unis. Ce guide montre comment reconstruire le bloc « séances près de moi » avec.

Ce que vous obtenez

  • Plus de 5 000 cinémas : environ 2 000 en France et environ 3 000 aux États-Unis (AMC, Regal, Cinemark, Alamo Drafthouse et indépendants).
  • Chaque séance avec son heure locale, son format (2D, 3D, IMAX, 4DX, DOLBY), sa version (VF, VO, VOST) et un lien de réservation.
  • Chaque film avec titre, durée, synopsis, genres et affiche, rapproché de TMDB.
  • Chaque cinéma avec son adresse, ses coordonnées et son fuseau horaire.

Obtenir une clé

Créez un compte gratuit et créez une clé depuis le tableau de bord. L’offre gratuite donne 150 requêtes par semaine pour les tests et les projets non commerciaux ; les offres payantes commencent à 12 € par mois.

Les films à l’affiche autour d’un point

Le bloc de Google part de la position de l’utilisateur. Faites de même avec near (latitude, longitude) et radius_km :

Terminal
curl "https://api.api-cinema.com/v1/showtimes?near=48.8584,2.3470&radius_km=5&limit=500" -H "Authorization: Bearer ac_live_…"

Sans date, la recherche part de maintenant dans le fuseau de chaque cinéma. Chaque séance embarque son film et son cinéma :

JSON
{
  "startsAt": "2026-10-28T20:15:00",
  "format": "DOLBY",
  "version": "VOST",
  "bookingUrl": "https://…",
  "movie": { "title": "L'Odyssée", "durationMin": 172, "tmdbId": 1368337, "posterUrl": "…" },
  "cinema": { "name": "Pathe Beaugrenelle", "city": "Paris 15e Arrondissement", "distanceKm": 4.83 }
}

Regrouper par film, comme Google

Google affiche une carte par film avec ses cinémas et ses horaires. Regroupez les séances par tmdbId :

JavaScript
const res = await fetch('https://api.api-cinema.com/v1/showtimes?near=48.8584,2.3470&radius_km=5&limit=500', {
  headers: { Authorization: `Bearer ${process.env.API_CINEMA_KEY}` },
})
const { data } = await res.json()

const films = new Map()
for (const s of data) {
  const key = s.movie.tmdbId ?? s.movie.id
  if (!films.has(key))
    films.set(key, { movie: s.movie, cinemas: new Map() })
  const cinemas = films.get(key).cinemas
  if (!cinemas.has(s.cinema.name))
    cinemas.set(s.cinema.name, [])
  cinemas.get(s.cinema.name).push(`${s.startsAt.slice(11, 16)} ${s.version}`)
}

for (const { movie, cinemas } of films.values()) {
  console.log(movie.title)
  for (const [name, times] of cinemas)
    console.log(`  ${name} : ${times.join(', ')}`)
}

Regroupez par tmdbId plutôt que par titre : deux cinémas peuvent publier le même film sous des titres un peu différents, l’identifiant TMDB reste le même.

Les cinémas près de moi

Pour l’onglet « Cinémas », listez les salles elles-mêmes, de la plus proche à la plus lointaine, chacune avec sa distanceKm :

Terminal
curl "https://api.api-cinema.com/v1/cinemas?near=45.764,4.8357&radius_km=5" -H "Authorization: Bearer ac_live_…"

Puis le programme du jour d’un cinéma avec GET /v1/cinemas/{id ou slug}/showtimes.

Un film, tous les cinémas

Pour une page de film (« Où passe L’Odyssée ? »), filtrez par identifiant TMDB :

Terminal
curl "https://api.api-cinema.com/v1/showtimes?tmdb_id=1368337&near=43.2965,5.3698&radius_km=15" -H "Authorization: Bearer ac_live_…"

Heures et fuseaux

startsAt est l’heure locale du cinéma, sans décalage : affichez-la telle quelle. Le timezone du cinéma est là si vous devez la comparer à l’horloge de l’utilisateur, surtout aux États-Unis où plusieurs fuseaux coexistent.

Le guide France et le guide États-Unis vont plus loin, et la documentation détaille chaque paramètre.

Questions fréquentes

Existe-t-il une API officielle des séances Google ? Non. Google affiche les séances dans ses résultats mais ne propose aucune API pour les interroger.

API Cinéma est-elle liée à Google ? Non, c’est un service indépendant, avec ses propres données et ses propres conditions.

Quels pays sont couverts ? La France et les États-Unis. Passez country=FR ou country=US pour restreindre une recherche ; sans, une recherche autour d’un point couvre les deux.

Les prix des places sont-ils inclus ? Non : chaque séance a un lien de réservation où le prix est affiché.