CIIFragments Studio est agréée CII : récupérez jusqu'à 20 % de vos dépenses en développement logicielEn savoir plus

Intégration API SNCF & transport

Nous développons votre connecteur SNCF

Nous branchons api.sncf.com sur votre outil d'interventions ou de notes de frais : gare la plus proche, prochain train, impact d'une perturbation. Sans renvoyer l'utilisateur vers SNCF Connect, et sans brûler le quota avant midi.

  • Équipe produit senior
  • connecteurs de données publiques en production
  • du cadrage au monitoring
En bref

À quoi sert l'API SNCF et dans quels cas l'intégrer à une application ?

L'API SNCF donne accès en temps réel aux horaires, aux itinéraires et aux prochains départs de trains en France : TGV, TER, Intercités, Transilien et liaisons internationales. On l'intègre dans des applications de mobilité d'entreprise pour afficher les options de trajet en train à une date donnée, dans des outils de gestion des déplacements professionnels pour suggérer les trajets disponibles, ou dans des plateformes logistiques pour planifier les livraisons en tenant compte des horaires ferroviaires. L'accès est gratuit dans les limites du quota journalier.

Cas d'usage

Ce que nos clients construisent sur l'API SNCF

01

Prochain train dans un outil d'interventions

Gare de départ = gare la plus proche du technicien. Le déplacement n'est plus recopié depuis l'app grand public.

02

Autocomplete gare dans un SIRH

Notes de frais, CSE, travel management : une proposition d'aller-retour, plus un horaire périmé dans un tableur.

03

Alerte retard sur un trajet déjà posé

On surveille prudemment les trajets déjà posés au planning. Pas de rafraîchissement agressif qui brûle le quota avant midi.

04

Parcours francilien, bascule PRIM

Dès qu'il y a métro ou RER IDFM, ce n'est plus api.sncf.com. On câble PRIM, pas un Navitia trains étendu au doigt mouillé.

Pour vous

Ce que ça change dans vos déplacements métier

La technique au service d'un résultat mesurable : le train suivant dans l'outil, un quota qui tient jusqu'au soir.

L'API officielle, pas un scrape

Avec un jeton valide, les horaires répondent. On ne reconstruit pas un parcours sur un site grand public.

Le quota tient jusqu'au soir

Un champ gare sans limite brûle le forfait journalier. Cache et appels côté serveur : le service reste dispo.

Transilien n'est pas du temps réel

Afficher un « temps réel » Transilien est un mensonge produit. TGV / TER oui ; Transilien, théorique seulement.

Train seulement, pas tout le MaaS

Pas de métro, pas de bus. Pour la France multimodale, on câble les bonnes sources (données ouvertes, PRIM en Île-de-France).

Méthode

Comment nous livrons votre connecteur SNCF

01

Cadrage

Train only ou multimodal, volume d'autocomplete, Île-de-France ou non. On dimensionne le quota avant d'écrire une ligne.

02

Développement

Jeton en secret serveur, debounce, cache court sur /places, compteur quotidien, distinction théorique / temps réel.

03

Recette

Rejeu sur vos gares réelles, test Transilien vs TGV, test de la coupure à 5 000, test HTTPS (la FAQ mélange encore HTTP).

04

Monitoring

Alerte à 80 % du quota, 401, latence. Vous savez qu'un widget est mort avant que le terrain rappelle.

L'API

Ce que permet l'API SNCF

Autocomplete de gares
Recherche à partir d'une chaîne. C'est l'appel qui brûle le quota si on oublie le debounce. Cache court obligatoire.
Prochains départs et arrivées
Le widget « prochain train » d'un outil d'interventions. Cache de quelques dizaines de secondes, pas un refresh à chaque pixel.
Calcul d'itinéraire train
Gare à gare ou ville à ville, fenêtre J-1 / J / J+23. Correspondances intra-muros Paris : durées approximatives.
Grilles horaires
Horaires théoriques des lignes. Utile à un CSE ; insuffisant pour du temps réel Transilien, qui n'existe pas ici.
Vocabulaire

Le vocabulaire de l'API SNCF

Navitia
Le moteur (Hove / Kisio) derrière api.sncf.com. La doc générique vit sur doc.navitia.io : toutes les URLs d'exemple sont à réécrire vers api.sncf.com, sinon l'auth casse.
Token développeur
Inscription sur numerique.sncf.com. HTTP Basic, username = jeton, mot de passe vide, ou jeton dans l'URL. Sans lui, 401 no token.
5 000 / jour
Quota gratuit par réutilisateur. Exemple officiel : 5 000 requêtes en 12 h, bloqué 12 h. Un autocomplete sans debounce est un suicide de quota.
Transilien théorique
TGV, Intercités, TER, Lyria, Eurostar : théorique + temps réel. Transilien : théorique seulement. Afficher « temps réel » sur du Transilien est faux.
PRIM
Île-de-France Mobilités, prim.iledefrance-mobilites.fr. Second Navitia, licence Mobilité, quota propre. Un itinéraire Paris porte-à-porte n'est pas un appel SNCF.
J-1 / J / J+23
Fenêtre temporelle documentée. On ne construit pas un historique à six mois sur cette API. Pour l'offre théorique nationale, les GTFS de transport.data.gouv.fr tiennent mieux le volume.
À savoir

Les contraintes réelles de l'API SNCF

01

5 000 appels, puis coupure jusqu'à minuit

Ce n'est pas un 429 poli : l'accès est bloqué le temps restant. Architecture : cache, proxy, un jeton applicatif, compteur, coupe-circuit avant le blocage SNCF.

02

Pas de métro, pas de bus

Trains SNCF seulement. Le mot-clé api ratp pointe vers PRIM ou transport.data.gouv.fr, pas vers api.sncf.com. Un MaaS France n'est pas un connecteur SNCF.

03

Deux Navitia en Île-de-France

api.sncf.com (trains) et PRIM (réseau IDFM). Les correspondances intra-muros SNCF sont des durées approximatives. On ne vend pas un porte-à-porte Paris sur l'API SNCF.

04

Le jeton n'a rien à faire dans le navigateur

Quota par réutilisateur, fuite garantie, explosion de volume. Appels serveur, HTTPS (la FAQ mélange encore HTTP), CGU acceptées.

SNCF ou PRIM

API SNCF ou PRIM Île-de-France Mobilités ?

Deux Navitia, deux licences, deux quotas. Le bon choix dépend du réseau, pas du logo train.

CritèreAPI SNCFTrains SNCFPRIM IDFMÎle-de-France
Hôteapi.sncf.com/v1prim.iledefrance-mobilites.fr
RéseauTGV, TER, Intercités, Lyria, EurostarRéseau IDFM, dont métro / RER
Transilien / RATPTransilien théorique, pas de métroCouverture voyageur francilienne
Quota gratuit5 000 / jour, puis coupureCompte PRIM, quota propre
LicenceCGU SNCFLicence Mobilité
FenêtreJ-1 / J / J+23Selon l'offre PRIM
Le bon casDéplacement train FrancePorte-à-porte francilien

Pour l'offre théorique nationale, on ingère aussi les GTFS de transport.data.gouv.fr et on réserve Navitia SNCF au temps réel train. C'est un arbitrage de cadrage.

Notre expertise

Ce que nous mesurons sur une intégration SNCF

15 j
premier widget prochain train en production
5 000
plafond quotidien que notre compteur respecte
80 %
seuil d'alerte avant la coupure SNCF
4
développeurs seniors sur le projet

On combine SNCF avec

La stack qui entoure les horaires train sur nos projets.

  • Node.js
  • Redis
  • PostgreSQL
  • n8n
  • TypeScript
FAQ

Intégration SNCF : vos questions

Demander un token développeur sur numerique.sncf.com, l'appeler en HTTP Basic (username = jeton, mot de passe vide) sur https://api.sncf.com/v1, jamais depuis le navigateur. Debounce et cache court sur /places, cache de quelques dizaines de secondes sur les départs, compteur quotidien vers 5 000 avec alerte à 80 % et coupe-circuit applicatif. Distinguer théorique et temps réel, marquer Transilien comme théorique. Si le besoin est multimodal France, ingérer les GTFS de transport.data.gouv.fr ; si c'est de l'Île-de-France porte-à-porte, basculer sur PRIM.

Oui, dans la limite de 5 000 requêtes par jour et par réutilisateur. Au-delà, l'accès est coupé pour le reste de la journée (exemple officiel : 5 000 en 12 h, bloqué 12 h). Un plan premium existe sur devis. 99,8 % des réponses sont annoncées sous 3 secondes. Gratuit n'est pas illimité : un widget sur une home à fort trafic n'est pas un cas 5 000/j. Nous dimensionnons le quota au cadrage : nombre d'utilisateurs, debounce, cache, et le cas échéant un plan premium.

Non. Trains SNCF seulement. Pas de métro RATP, pas de bus, pas de cars. En Île-de-France, le calculateur voyageur officiel est PRIM Île-de-France Mobilités. Les données d'offre (GTFS, NeTEx) et beaucoup d'API temps réel locales passent par transport.data.gouv.fr. Un produit « tous transports France » n'est pas un connecteur api.sncf.com. Un produit « tous transports France » combine GTFS, PRIM et SNCF ; ce n'est pas un seul client Navitia.

L'accès est bloqué jusqu'à la fin de la journée, pas simplement ralenti. D'où un compteur applicatif, une alerte à 80 %, un coupe-circuit avant le blocage SNCF, et une UX de repli (dernier horaire en cache, message « horaires non rafraîchis »). Sans cela, le service disparaît à 14 h un mardi de pointe, et personne ne comprend pourquoi. Le repli UX (dernier horaire en cache, message honnête) se spécifie au cadrage, pas le jour où le quota saute.

L'accès gratuit suffit à un autocomplete interne bien cadré. Le coût est le connecteur : secret, cache, compteur, drapeau théorique, éventuellement PRIM ou GTFS en plus. Un widget prochain train sur un outil d'interventions est un chantier court. Un calculateur CSE à fort trafic, ou un MaaS France, est un autre projet, avec un plan premium ou d'autres sources. Nous cadrons le volume et donnons une estimation ferme avant de commencer.

Un projet d'intégration SNCF ?

Parlons-en. 30 minutes pour cadrer votre besoin, vérifier si c'est SNCF, PRIM ou du GTFS, et vous dire franchement ce qui est faisable.

Parler de mon projet SNCF & transport
Parler de mon projet SNCF & transport