API GISFirePro

Chaque compte GISFire Pro peut créer une ou plusieurs clés API pour interroger ses données par programme : détections dans ses zones, réglages, alertes envoyées, bilans et historique. Cette page documente les points d'entrée qui existent aujourd'hui ; aucun n'est promis pour plus tard.

Authentification

Chaque requête porte un en-tête Authorization avec une clé de la forme gfp_ suivie de caractères hexadécimaux. Les clés se créent, se nomment et se révoquent depuis l'espace abonné, sans limite de nombre par compte.

Une clé donne accès aux données du compte qui l'a créée, jamais à celles d'un autre abonné. Une clé compromise doit être révoquée depuis l'espace abonné : la supprimer d'un fichier de configuration ne suffit pas si elle a fuité.

Authorization: Bearer gfp_...

Points d'entrée

GET/api/pro/export

Les détections dans vos zones, en GeoJSON ou CSV.

Renvoie les détections satellite tombées dans vos zones surveillées sur la fenêtre demandée. Cet export est borné à vos zones : la donnée mondiale reste l'affaire de la carte publique et de NASA FIRMS.

format
« geojson » (défaut) ou « csv ».
heures
Fenêtre en heures, de 1 à 168 (7 jours). 24 par défaut.

Une FeatureCollection GeoJSON de points (position, date d'acquisition, FRP, satellite, source, zone), ou un fichier CSV équivalent. Plafonné à 50 000 lignes ; au-delà, réduisez la fenêtre.

curl -H "Authorization: Bearer gfp_..." \
  "https://gisfire.saro.app/api/pro/export?format=csv&heures=48"
GET/api/pro/zones

La liste de vos zones surveillées.

Sans paramètre, renvoie l'inventaire de vos zones (nom, surface, réglages d'alerte). Avec `format=geojson`, renvoie la FeatureCollection complète des emprises, celle que chargent l'espace abonné et un SIG.

format
« geojson » pour la FeatureCollection complète des emprises.

Un tableau de zones ({ id, nom, surfaceKm2, réglages d'alerte, dernière alerte }), ou une FeatureCollection GeoJSON quand `format=geojson`.

curl -H "Authorization: Bearer gfp_..." \
  "https://gisfire.saro.app/api/pro/zones"
POST/api/pro/zones

Créer une zone.

Crée une zone à partir d'un polygone ou multipolygone GeoJSON en coordonnées géographiques (EPSG:4326). La surface est plafonnée à 25 000 km², l'ordre de grandeur d'un grand département : au-delà, ce n'est plus un site à surveiller mais une moisson de données, que l'export par emprise sert mieux.

name
Le nom de la zone (corps JSON).
geometry
Un Polygon ou MultiPolygon GeoJSON, EPSG:4326 (corps JSON).

La zone créée, avec son identifiant, au format 201 Created.

curl -X POST -H "Authorization: Bearer gfp_..." -H "Content-Type: application/json" \
  -d '{"name":"Massif Est","geometry":{"type":"Polygon","coordinates":[[...]]}}' \
  "https://gisfire.saro.app/api/pro/zones"
GET/api/pro/alertes

Le journal des alertes et avis envoyés.

Renvoie le journal du compte : détections (alertes de zone) et avis personnels de fumée ou de foudre, ensemble, triés par date. Utile pour se resynchroniser après un webhook manqué.

limite
Nombre maximum d'entrées, de 1 à 500. 100 par défaut.

Un tableau d'entrées ({ type: feu | fumee | foudre, zone, période, détections, FRP maximal, envois par courriel/webhook/SMS, date }).

curl -H "Authorization: Bearer gfp_..." \
  "https://gisfire.saro.app/api/pro/alertes?limite=50"
GET/api/pro/bilan

Le bilan du compte sur une période.

Le bilan complet sur une fenêtre : alertes reçues, feux archivés autour de vos zones, série mensuelle, exposition zone par zone, moyens aériens engagés. C'est la matière du récapitulatif mensuel envoyé par courriel.

periode
« 30j », « saison », « 12m » ou « tout ».
debut
Date de départ AAAA-MM-JJ, pour une fenêtre libre (l'emporte sur periode).
fin
Date de fin AAAA-MM-JJ, incluse.
zones
Identifiants de zones séparés par des virgules ; absent, toutes les zones.
detail
« 0 » pour omettre le journal et la frise détaillés.

Un objet avec le bilan de la période, plus le journal des départs, la frise, les délais d'alerte et le récapitulatif des moyens aériens si `detail` n'est pas à 0.

curl -H "Authorization: Bearer gfp_..." \
  "https://gisfire.saro.app/api/pro/bilan?periode=saison"
GET/api/pro/historique

Où ça brûle le plus, sur la durée.

Classements par département et par commune sur une période, et les foyers archivés en points pour une carte. Sert à mesurer la fréquence de retour du feu autour d'un site.

periode
« 30j », « saison », « 12m » ou « tout ».
debut
Date de départ AAAA-MM-JJ, pour une fenêtre libre.
fin
Date de fin AAAA-MM-JJ, incluse.

Un objet { periode, classements, foyers }.

curl -H "Authorization: Bearer gfp_..." \
  "https://gisfire.saro.app/api/pro/historique?periode=12m"
GET/api/pro/alertes/cap

Le journal de vos alertes au format CAP 1.2.

Le même journal que /api/pro/alertes, mais au format OASIS CAP 1.2 (XML), celui que lisent les outils de veille et les automates d'astreinte. L'enveloppe est un simple élément <alertes> : chaque <alert> qu'elle contient est un document CAP complet et détachable. La gravité (<severity>) est toujours déclarée Unknown, et c'est délibéré : GISFire mesure une puissance radiative et un nombre de pixels, qui ne disent rien de ce qui est menacé au sol. La mesure figure dans les <parameter>.

limite
Nombre maximum d'alertes, de 1 à 500. 50 par défaut.

Un document XML (application/xml) en UTF-8. Chaque alerte porte son aire : le polygone de la zone, celui de votre marge d'alerte, et un cercle de la distance de veille. La langue des textes est celle de vos notifications.

curl -H "Authorization: Bearer gfp_..." \
  "https://gisfire.saro.app/api/pro/alertes/cap?limite=20"
GET/api/pro/alertes/{id}/cap

Une alerte seule au format CAP 1.2.

Le document CAP d'une seule entrée. L'identifiant nu (12) désigne une détection de feu ; un avis s'écrit avec son type (fumee-3, foudre-7), les deux journaux ayant leurs propres compteurs. Réponse 404 si l'alerte n'existe pas ou n'appartient pas à votre compte.

Un document XML (application/xml) contenant un seul élément <alert>.

curl -H "Authorization: Bearer gfp_..." \
  "https://gisfire.saro.app/api/pro/alertes/feu-21/cap"

Charger la carte dans un logiciel de SIG (OGC API Features)

Sans écrire une ligne de code : GISFire parle aussi un format d'échange standard pour les données géographiques (le sigle est OGC API Features), que les logiciels de cartographie comme QGIS ou ArcGIS savent lire directement. Il suffit de leur donner une adresse et votre clé.

Trois jeux de données : les détections satellite (les pixels chauds des dernières quarante-huit heures), les emprises de feux (les incendies regroupés en un seul contour) et vos zones surveillées. Les deux premiers sont les mêmes données que la carte publique, présentées sous une forme que votre logiciel comprend nativement.

GET/api/ogc

Le point de départ du flux.

Ce format d'échange standard (OGC API Features) est reconnu directement par les logiciels de cartographie : pas une ligne de code à écrire, une adresse suffit. Cette page ne contient que des liens vers le reste ; un logiciel de SIG la lit en premier pour savoir où aller ensuite.

Un document JSON avec des liens vers la déclaration de conformité et la liste des collections.

curl -H "Authorization: Bearer gfp_..." \
  "https://gisfire.saro.app/api/ogc"
GET/api/ogc/conformance

Ce que le service respecte du standard.

La liste des règles du standard que ce service applique réellement : le socle commun aux données géographiques, et le format GeoJSON. Un logiciel de SIG s'y réfère avant de se fier au reste ; un abonné n'a normalement rien à en faire.

Un document JSON listant les règles respectées.

curl -H "Authorization: Bearer gfp_..." \
  "https://gisfire.saro.app/api/ogc/conformance"
GET/api/ogc/collections

Les trois jeux de données disponibles.

La liste des collections proposées : les détections satellite, les emprises de feux, et vos zones surveillées. C'est ce qu'un logiciel de SIG affiche pour choisir quoi charger sur la carte.

Un document JSON avec, pour chaque collection, son nom, sa description et le lien vers ses données.

curl -H "Authorization: Bearer gfp_..." \
  "https://gisfire.saro.app/api/ogc/collections"
GET/api/ogc/collections/{id}

La fiche d'une collection.

Le détail d'une collection nommée : « detections » (les pixels chauds des dernières quarante-huit heures, tous satellites confondus), « emprises » (les feux regroupés en événements) ou « zones » (les vôtres, la seule des trois propre à votre compte).

id
« detections », « emprises » ou « zones », dans l'adresse.

Un document JSON décrivant la collection et le lien vers ses données.

curl -H "Authorization: Bearer gfp_..." \
  "https://gisfire.saro.app/api/ogc/collections/zones"
GET/api/ogc/collections/{id}/items

Les données elles-mêmes, prêtes à charger.

Les entités de la collection, au format GeoJSON standard que tout logiciel de cartographie sait lire. Une réponse trop longue est découpée en pages : un lien « next » mène à la suite, jusqu'à épuisement.

bbox
Une emprise rectangulaire : longitude min, latitude min, longitude max, latitude max, séparées par des virgules.
datetime
Un instant, ou un intervalle « début/fin » (« .. » pour une borne ouverte), au format ISO 8601.
limit
Le nombre d'entités par page, 200 par défaut, 2000 au maximum.
offset
Le nombre d'entités à sauter, pour la page suivante (fourni tout fait dans le lien « next »).

Une FeatureCollection GeoJSON, avec numberMatched (le total), numberReturned (cette page) et un lien « next » quand il reste des entités.

curl -H "Authorization: Bearer gfp_..." \
  "https://gisfire.saro.app/api/ogc/collections/detections/items?bbox=-1.6,44.6,-0.5,45.2&limit=500"

Pas à pas dans QGIS

  1. 1Menu Couche puis Ajouter une couche puis Ajouter une couche OGC API - Features.
  2. 2Nouvelle connexion : donnez-lui un nom, et comme URL https://gisfire.saro.app/api/ogc
  3. 3Dans Configuration de l'authentification, créez une configuration de type En-tête HTTP (ou API Header selon la version), avec l'en-tête Authorization et pour valeur Bearer suivi de votre clé, par exemple Bearer gfp_....
  4. 4Validez, sélectionnez la connexion, puis Se connecter : les trois collections (détections, emprises, zones) apparaissent dans la liste.
  5. 5Cochez celle qui vous intéresse et cliquez sur Ajouter : la couche se charge sur la carte de QGIS, prête à être stylée, filtrée ou combinée avec vos propres données.

Webhook sortant

Une zone peut porter une adresse de webhook : GISFire y poste alors un JSON dès qu'une détection de feu tombe dans la zone ou dans sa marge. L'adresse se règle depuis l'espace abonné. Seules les alertes de détection partent par ce canal ; les avis de fumée et de foudre sont personnels et ne passent que par courriel et SMS.

L'envoi est un POST unique, en Content-Type application/json, avec un délai de cinq secondes et AUCUNE reprise : un échec se lit dans le journal des alertes (envois.webhook à false) et se rattrape par GET /api/pro/alertes ou son équivalent CAP, qui rendent la même alerte. Une réponse hors 2xx compte comme un échec, et une redirection n'est pas suivie.

L'adresse doit être en HTTPS et résoudre vers un hôte public : une adresse interne (127.0.0.1, 10.x, 169.254.169.254) est refusée, redirections comprises. Les horodatages sont ceux de la base de détections, écrits avec leur décalage horaire (« 2026-09-14 11:34:00+02 ») et non en ISO 8601 strict. position_approximative vaut true quand seul le satellite géostationnaire a vu le feu : la position porte alors trois à quatre kilomètres d'incertitude.

{
  "type": "alerte_feu",
  "zone": { "id": 8, "nom": "Massif de Saumos" },
  "periode": {
    "debut": "2026-09-14 11:34:00+02",
    "fin": "2026-09-14 11:34:00+02"
  },
  "detections": 6,
  "frpMaxMw": 25.77,
  "position_approximative": false,
  "carte": "https://gisfire.saro.app/#11/44.8700/-1.0500"
}

Ce que l'API ne fait pas (encore)

Il n'y a pas de flux temps réel (websocket ou SSE) : chaque point d'entrée répond à une requête ponctuelle. Pour être notifié dès une détection, utilisez les alertes par courriel, SMS ou le webhook réglés sur vos zones, plutôt qu'un sondage répété de l'API.

L'export est borné à vos zones surveillées et à 50 000 lignes par requête ; au-delà, réduisez la fenêtre ou exportez zone par zone. Il n'existe pas de point d'entrée pour la donnée mondiale brute, qui reste celle de la carte publique et de NASA FIRMS.

Questions fréquentes

Faut-il une offre particulière pour utiliser l'API ?
L'API est incluse dans l'offre Pro et dans l'offre Organisation ; voir le comparatif des offres sur la page GISFire Pro.
Quelle est la limite de requêtes ?
Elle n'est pas publiée sur cette page pour l'instant ; un usage raisonnable (quelques requêtes par minute) ne pose pas de problème. Écrivez-nous si votre intégration a des besoins particuliers.
Les réponses sont-elles versionnées ?
Pas encore par un numéro de version dans l'URL. Un changement qui casserait un champ existant serait annoncé aux abonnés avant d'être déployé.

Aller plus loin

© 2026 SARO · Gistin. Tous droits réservés. L'interface, sa présentation et les contenus de GISFire sont protégés ; leur reproduction ou leur imitation est soumise à autorisation écrite. Les données sources restent la propriété de leurs producteurs respectifs, voir les crédits.

Mentions légales · Politique de confidentialité · GISFire v2.1.0