Aller au contenu

API d’Allez viens

Les sorties, les lieux et les organisateurs du coin, en lecture, pour vos sites et vos applis. Notre site et nos applis passent par la même API que vous.

Démarrer

  1. Demandez une clé, gratuite, avec le nom de votre site ou de votre appli : demander une clé
  2. Envoyez-la à chaque appel dans l’en-tête X-Api-Key.
  3. Toutes les adresses partent de https://qzsnetpxwwexwteblhyt.supabase.co/functions/v1/api.

Essayer

Un appel fait depuis cette page avec notre clé : la réponse telle que l’API la donne.

Adresse

Limites et règles

Conditions d’utilisation

Référence

GET /v1/events/{slug}

Fiche d’un événement ou d’un lieu à visiter

Tout ce que montre la fiche : séances à venir, lieux avec la précision de leur adresse et le point d’arrivée, grille tarifaire et prix total pour le groupe demandé, organisateur, série. Un doublon fusionné répond 301 vers la fiche restante ; une fiche retirée ou supprimée répond 410.

  • slug *
    Type
    string
  • adults
    Type
    integer
  • children
    Type
    integer[]
    Description
    Âge de chaque enfant

GET /v1/organizers/{slug}

Page publique d’un organisateur

La structure (nom, commune, site, réseaux, vérifiée ou non), ses sorties à venir par date avec le prix pour le groupe demandé, et ses dernières sorties passées. Une structure fusionnée répond 301 vers celle qui reste ; une structure qui a demandé à ne plus être suivie répond 410.

  • slug *
    Type
    string
  • adults
    Type
    integer
  • children
    Type
    integer[]
    Description
    Âge de chaque enfant
  • page
    Type
    integer

GET /v1/venues/{slug}

Page publique d’un lieu

Un lieu (château, musée, salle des fêtes…) : ce qu’il y a à voir (labels, cadre), ses activités ouvertes au public avec leur état d’ouverture, ses événements à venir par date avec le prix pour le groupe demandé, qui le tient. Une ancienne adresse (lieu renommé ou fusionné) répond 301.

  • slug *
    Type
    string
  • adults
    Type
    integer
  • children
    Type
    integer[]
    Description
    Âge de chaque enfant

GET /v1/places

Autocomplétion du champ Où

Communes, quartiers et lieux dont le nom ressemble à la saisie, fautes et accents tolérés. Une commune hors zone est renvoyée avec isCovered à false.

  • q *
    Type
    string
    Description
    Début ou partie du nom, fautes tolérées
  • limit
    Type
    integer

GET /v1/places/{slug}

Une commune, une zone ou un département

Ce que montre une page de lieu : rattachements (département, zone, secteurs), communes couvertes voisines, rayon de « autour de ». Un ancien nom ou le nom officiel d’une intercommunalité répond 301 vers le lieu.

  • slug *
    Type
    string

GET /v1/place-pages/{slug}

Tout ce que montre une page de lieu, en une requête

Le lieu (comme /v1/places/{slug}, avec `indexing`), les sorties de la page (comme /v1/search), les 60 prochains jours du lieu, les nombres de sorties des pages de période et, pour une commune, « autour ». Une facette inconnue répond 404 ; un ancien nom répond 301 vers le lieu.

  • slug *
    Type
    string
  • facet
    Type
    string
    Description
    Segment de la page : période (ce-week-end), famille ou catégorie par son nom (loto-et-quine), enfants, gratuit, accessible, rendez-vous-du-pays
  • page
    Type
    integer
  • on
    Type
    string (date)
    Description
    Jour de la page, en heure de Paris : ignoré par l’API, il ne sert qu’aux caches
  • towns
    Type
    string
    Description
    Communes d’une zone (`place.towns`) : toutes (all, par défaut), ou seulement celles où la liste compte des sorties (counted, 60 au plus, celles du filtre town_slug de `results`) · valeurs : all, counted

GET /v1/nearest-town

La commune couverte la plus proche

Pour « me localiser » : la commune couverte la plus proche, à 30 km au plus ; null au-delà.

  • lat *
    Type
    number
  • lon *
    Type
    number

GET /v1/parse

Une phrase en filtres

Recherche en langage naturel : Claude traduit la phrase en paramètres de /v1/search (lieu, dates, groupe, catégories, budget…), jamais en résultats. Sans rapport, détournée ou trop lente : understood false, chercher les mots tels quels.

  • q *
    Type
    string
    Description
    La phrase, telle que tapée ou dictée
  • lat
    Type
    number
  • lon
    Type
    number

GET /v1/plan

Planifier un week-end (une à trois journées)

Une journée qui s’enchaîne par jour demandé : matin, pause de midi, après-midi, soir, une sortie par créneau (quatre au plus), choisies parmi les meilleurs résultats de la recherche avec les mêmes filtres, par un calcul déterministe : horaires des séances, heures d’ouverture et durée de visite, âges, budget du groupe, trajets estimés (« environ », sans service d’itinéraire), fini avant 18 h avec de jeunes enfants, abri s’il pleut. Chaque étape propose d’autres idées pour son créneau ; un créneau vide dit pourquoi.

  • days *
    Type
    string (date)[]
    Description
    Jours à planifier (heure de Paris), trois au plus
  • town
    Type
    string
    Description
    Commune de départ (slug), ma commune par défaut côté appli
  • lat
    Type
    number
  • lon
    Type
    number
  • mode
    Type
    string
    Description
    Moyen de transport · valeurs : car, bike, walk
  • pace
    Type
    string
    Description
    relaxed : deux sorties par jour au plus ; full : quatre · valeurs : relaxed, full
  • radiusKm
    Type
    number
    Description
    Rayon autour du départ (par défaut selon le moyen : 20, 8 ou 2 km)
  • adults
    Type
    integer
  • children
    Type
    integer[]
    Description
    Âge de chaque enfant ; sous 6 ans, tout finit avant 18 h
  • budgetMaxCents
    Type
    integer
    Description
    Budget total du groupe pour tout le programme, en centimes
  • prefer
    Type
    string[]
    Description
    Familles que la personne aime (« tes envies ») : elles montent
  • pin
    Type
    string[]
    Description
    Séances épinglées (ou ajoutées depuis les favoris) : id, 2026-10-10:id, ou 2026-10-10:afternoon:id pour la garder ce jour-là, dans ce créneau
  • keep
    Type
    string[]
    Description
    Étapes du programme affiché qui restent quand une autre change (même forme que pin) ; elles cèdent la place à une séance épinglée
  • fixed
    Type
    string
    Description
    Programme partagé : rien d’autre que les séances de pin et keep · valeurs : 0, 1, true, false
  • exclude
    Type
    string[]
    Description
    Événements à écarter (« Autre idée »)
  • fill
    Type
    string[]
    Description
    Avec keep : les seuls créneaux où une nouvelle sortie peut venir (celui que « Autre idée » libère), sous la forme 2026-10-10:evening
  • skip
    Type
    string[]
    Description
    Créneaux retirés, sous la forme 2026-10-10:evening

GET /v1/now

En ce moment, autour d’un point ou d’une commune

Les séances en cours ou qui commencent dans les deux heures (une séance sans fin est comptée deux heures) et les lieux à visiter ouverts, autour de la position (jamais gardée) ou de ma commune, dans le rayon de la zone (15 km au plus). Chaque sortie dit où elle en est (« encore 40 min », « commence dans 25 min », « ferme bientôt ») et le trajet estimé à pied et en voiture (« environ », sans service d’itinéraire). Ordre : à l’abri d’abord s’il pleut, puis les plus proches, puis par heure. Peu ou rien : la suite de la journée. La même fenêtre est le raccourci when=now de /v1/search.

  • town
    Type
    string
    Description
    Commune (slug) : ma commune quand la position n’est pas donnée
  • lat
    Type
    number
  • lon
    Type
    number
  • radiusKm
    Type
    number
    Description
    Rayon en km ; par défaut celui de la zone, 15 km au plus
  • adults
    Type
    integer
  • children
    Type
    integer[]
    Description
    Âge de chaque enfant : le prix est celui du groupe
  • type
    Type
    string
    Description
    events : séances ; places : lieux à visiter ouverts · valeurs : all, events, places
  • limit
    Type
    integer

GET /v1/rental-venues

Trouver un lieu pour un événement

Les lieux qui accueillent un mariage, un anniversaire, un séminaire, une assemblée générale…, seulement ceux dont le profil de location est publié, autour d’une commune ou d’une position (jamais gardée), ou dans toute la France. Un critère écarte les lieux dont on sait qu’ils n’y répondent pas ; ceux dont la réponse est inconnue restent, après les autres, avec « unknown ». Ordre : correspondance aux critères, distance (par tranches de 5 km), complétude de la fiche, puis vie du lieu (événements publics accueillis). Aucune place payée n’entre dans cet ordre. Rien dans le rayon : « wider » dit combien de lieux un rayon plus large contient. Chaque lieu a sa page, avec son formulaire de demande.

  • town
    Type
    string
    Description
    Commune (slug) autour de laquelle chercher
  • lat
    Type
    number
  • lon
    Type
    number
  • radiusKm
    Type
    number
    Description
    Rayon autour de la commune ou de la position, en km
  • occasion
    Type
    string
    Description
    Occasion (référentiel occasions : wedding, birthday, seminar…)
  • guests
    Type
    integer
    Description
    Nombre d’invités : écarte les lieux trop petits, garde ceux dont la capacité est inconnue (classés après)
  • budget
    Type
    integer
    Description
    Budget en euros : comparé au prix « dès », indicatif
  • caterer
    Type
    string
    Description
    free : traiteur libre ; imposed : traiteur imposé, liste ou cuisine du lieu · valeurs : free, imposed
  • residents
    Type
    string
    Description
    open : sans les lieux réservés aux habitants d’une autre commune que celle demandée ; all : tous, chacun dit s’il est réservé · valeurs : all, open
  • resident
    Type
    string
    Description
    La personne habite la commune demandée (town) : no écarte les lieux réservés aux habitants de cette commune ; yes, ou sans réponse, les montre. Les lieux réservés à une autre commune restent, plus bas. · valeurs : yes, no
  • kind
    Type
    string[]
    Description
    Types de lieu · valeurs : community_hall, castle_estate, farm_barn, restaurant, hotel, conference_centre, cultural, sports_hall, outdoor, association_room, coworking, other
  • q
    Type
    string
    Description
    Mots du nom du lieu ou de sa commune
  • sort
    Type
    string
    Description
    valeurs : relevance, distance, capacity, price
  • page
    Type
    integer
  • perPage
    Type
    integer

GET /v1/selection

Le choix de la rédaction

La sélection de la semaine d’une zone, faite par l’équipe : un titre, un mot, et les sorties (identifiants à passer à /v1/search?ids=). Rien tant qu’elle n’est pas publiée.

  • zone *
    Type
    string
    Description
    Slug de la zone

GET /v1/ambassadors/picks

Les choix des ambassadeurs du coin

Les sorties choisies cette semaine par les ambassadeurs d’une zone (habitants choisis par l’équipe), chacune avec son pourquoi et qui l’a choisie (prénom, commune). Les sorties elles-mêmes viennent de /v1/search?ids=.

  • zone *
    Type
    string
    Description
    Slug de la zone ou du secteur

GET /v1/ambassadors/{slug}

Profil public d’un ambassadeur

Prénom, commune, quelques mots et les choix de la semaine. Seulement le profil que la personne a accepté de montrer.

  • slug *
    Type
    string

GET /v1/pulse

Une zone en chiffres

Pour une zone ou un secteur : sorties des 30 prochains jours, communes où elles ont lieu, et celles qu’une source a confirmées ces dernières 24 heures. Agrégats seulement.

  • place *
    Type
    string

GET /v1/coverage

La carte de France

Les zones couvertes (statut, départements, centre, séances des 30 prochains jours) et le nombre de personnes en liste d’attente par département. Agrégats seulement.

GET /v1/sitemap

Pages à lister pour les moteurs de recherche

Zones couvertes et secteurs, départements, communes au-dessus du seuil d’indexation (3 sorties sur 60 jours), fiches publiées à venir avec leur dernière modification, organisateurs, et les pages publiées du centre d’aide avec leurs langues.

GET /v1/taxonomy

Familles, catégories et étiquettes

Les libellés des filtres de recherche. Change rarement : à mettre en cache une heure.

GET /v1/help

Accueil du centre d’aide

Pour un public (`audience`, les habitants par défaut) : ses guides « Pour bien démarrer » et ses articles principaux ; puis les catégories et leurs premiers articles. Un article pas encore traduit dans la langue demandée vient en français (`locale` le dit).

  • lang
    Type
    string
    Description
    Langue voulue (fr, en…) ; sinon Accept-Language, sinon le français
  • audience
    Type
    string
    Description
    Pour qui : habitants, organisateurs, communes et offices, partenaires · valeurs : residents, organisers, territories, partners

GET /v1/help/topics

Tous les sujets du centre d’aide

Les catégories et tous leurs articles. Avec `audience` : les articles de ce public seulement, ses catégories d’abord.

  • lang
    Type
    string
    Description
    Langue voulue (fr, en…) ; sinon Accept-Language, sinon le français
  • audience
    Type
    string
    Description
    Sans valeur : les sujets de tout le monde · valeurs : residents, organisers, territories, partners

GET /v1/help/categories/{slug}

Une catégorie du centre d’aide et ses articles

  • slug *
    Type
    string
  • lang
    Type
    string
    Description
    Langue voulue (fr, en…) ; sinon Accept-Language, sinon le français

GET /v1/help/articles/{slug}

Un article du centre d’aide

Le texte en Markdown léger, sa catégorie, ses langues publiées et jusqu’à quatre articles liés. Sans traduction dans la langue demandée : le français, avec `isFallback`.

  • slug *
    Type
    string
  • lang
    Type
    string
    Description
    Langue voulue (fr, en…) ; sinon Accept-Language, sinon le français

GET /v1/feeds/places/{file}

Agenda abonnable d’une commune, d’une zone ou d’un secteur (iCalendar)

Les séances des trois prochains mois (et de la semaine passée), 1 500 au plus, à ajouter dans Google Agenda, Apple Calendrier ou Outlook : identifiant stable par séance, SEQUENCE et LAST-MODIFIED à chaque changement, séance annulée gardée avec STATUS:CANCELLED, à relire toutes les 6 heures. Les lieux à visiter n’y sont pas. Accepte les filtres d’une page de lieu (famille, catégorie, gratuit, en famille, accessible, rendez-vous du pays).

  • file *
    Type
    string
    Description
    Slug du lieu suivi de .ics (langon-33.ics)
  • categories
    Type
    string[]
  • families
    Type
    string[]
  • tags
    Type
    string[]
    Description
    Toutes les étiquettes demandées doivent être présentes
  • free
    Type
    boolean
  • traditions
    Type
    boolean
    Description
    Rendez-vous du pays : traditions annuelles et marchés récurrents
  • audience
    Type
    string
    Description
    valeurs : family, from3, from6, teens, adults
  • site
    Type
    string
    Description
    Origine https du site qui sert le flux : les liens des événements y mènent (sinon le site public).

GET /v1/feeds/organizers/{file}

Agenda abonnable d’un organisateur (iCalendar)

Les séances des trois prochains mois (et de la semaine passée), 1 500 au plus, à ajouter dans Google Agenda, Apple Calendrier ou Outlook : identifiant stable par séance, SEQUENCE et LAST-MODIFIED à chaque changement, séance annulée gardée avec STATUS:CANCELLED, à relire toutes les 6 heures. Les lieux à visiter n’y sont pas. Une structure qui a demandé à ne plus être suivie répond 410.

  • file *
    Type
    string
    Description
    Slug de l’organisateur suivi de .ics
  • site
    Type
    string
    Description
    Origine https du site qui sert le flux : les liens des événements y mènent (sinon le site public).

GET /v1/feeds/favorites/{file}

Agenda abonnable privé d’un compte (iCalendar)

Les séances des trois prochains mois (et de la semaine passée), 1 500 au plus, à ajouter dans Google Agenda, Apple Calendrier ou Outlook : identifiant stable par séance, SEQUENCE et LAST-MODIFIED à chaque changement, séance annulée gardée avec STATUS:CANCELLED, à relire toutes les 6 heures. Les lieux à visiter n’y sont pas. La clé est le jeton secret du compte (« Mon compte » → agenda) : le flux reprend ses sorties enregistrées et ses « J'y vais », n’est jamais mis en cache, et un jeton supprimé répond 410 (pour décrocher les agendas abonnés).

  • file *
    Type
    string
    Description
    Jeton privé du compte suivi de .ics
  • site
    Type
    string
    Description
    Origine https du site qui sert le flux : les liens des événements y mènent (sinon le site public).

GET /v1/health

L’API répond

GET /v1/health/db

La base répond (sonde bornée, au plus une par 15 s, jamais en cache)

GET /v1/openapi.json

Cette spécification

* obligatoire. Télécharger la spécification OpenAPI

Ce qui a changé