Que vous exportiez vos données vous-même ou que vous fassiez appel à un prestataire, ce guide détaille chaque type de données présent dans vos workspaces Notion, comment les extraire et ce qui nécessite une attention particulière avant de changer d'outil.
LES DONNÉES
Ce que nous migrons depuis Notion
Quitter Notion ne signifie pas perdre vos données. Voici les types de données que SmartBooster analyse, extrait et migre vers votre logiciel sur mesure.
Bases de données et schéma : Structure complète de chaque base : noms de propriétés, types de champs, options des listes déroulantes et configuration des vues. Migré vers un schéma SQL relationnel avec correspondance de chaque propriété.
Entrées et valeurs : Toutes les pages de chaque base avec leurs valeurs de propriétés, y compris les champs texte, nombre, date, case à cocher, sélection simple et multiple.
Relations entre bases : Les propriétés Relation d'une base vers une autre deviennent des clés étrangères et jointures SQL dans le nouveau logiciel. Les relations bidirectionnelles sont converties en tables de jointure.
Rollups et formules : Les propriétés Rollup (agrégats sur des relations) et Formula (calculs) ne sont pas exportables telles quelles : leur logique est analysée et recréée en code applicatif ou en requêtes SQL.
Fichiers et médias : Les fichiers uploadés dans les entrées Notion sont accessibles via l'API avec leurs URLs temporaires. Ils sont téléchargés et ré-hébergés sur le stockage cible pendant la migration.
Contenu des pages : Les blocs de contenu à l'intérieur des pages (paragraphes, titres, listes, tableaux) sont exportables en Markdown. Les pages de documentation peuvent être conservées dans Notion ou converties selon vos besoins.
Exporter vos données depuis l’interface Notion
Avant tout développement, Notion permet d’exporter le contenu d’un workspace en CSV et en
Markdown depuis l’interface. C’est la première étape pour auditer vos données.
Comment exporter depuis l’interface Notion
Extraction global depuis tous le workspace
Depuis le menu Paramètres de l’Espace de travail > sans la section Général > Exporter > Contenu de l’espace de travai > Exporter
Extraction depuis une base de données
Dans la popup de configuration d’export laisser bien Markdown et CSV dans le format car c’est le type de format le plus exploitable.
Nous recommandons cette approche plutôt que tous le workspace car cela nous permet d’importer les données par itération et ne pas se perdre avec
des pages ou bases de données qui serait en dehors du scope de reprise.
Notion génère une archive ZIP contenant :
Un fichier CSV par base de données
Un fichier Markdown par page et sous-page
Points d’attention avec l’export interface :
Les relations n’apparaissent que comme du texte : le CSV d’une base contient le nom de
l’entrée liée, pas son identifiant. Les liens entre bases ne sont pas conservés.
Les rollups et formules sont exportés avec leur valeur calculée : la logique n’est pas
exportée, seulement le résultat au moment de l’export.
Les vues et filtres ne sont pas exportés : seules les données brutes sont incluses,
pas la configuration des vues (kanban, calendrier, galerie).
Ce que l’export CSV ne couvre pas
Pour une migration complète, l’export CSV seul ne suffit pas. L’API Notion est nécessaire
pour récupérer les identifiants des relations, les fichiers avec leurs URLs de téléchargement
et le contenu structuré des pages.
Schéma de bases de données
Le schéma de chaque base est récupéré via GET /v1/data_sources/{data_source_id}. Cet endpoint retourne
les propriétés (nom, type, configuration des options pour les sélections) et les métadonnées
de la base. SmartBooster analyse ce schéma pour construire le modèle de données cible avant
d’extraire les entrées.
Les entrées sont extraites via POST /v1/data_sources/{data_source_id}/query. Notion retourne 100
entrées par page maximum. Pour les bases volumineuses, la migration est paginée via le
paramètre start_cursor retourné dans chaque réponse.
Le rate limit de 3 requêtes par seconde est la contrainte principale de l’extraction
Notion. Une base de 10 000 entrées nécessite au minimum 100 requêtes de query, auxquelles
s’ajoutent les requêtes pour les fichiers et les relations.
Les propriétés relation permettent de lier des entrées de deux bases différentes. Dans
l’API, chaque propriété relation d’une entrée contient la liste des IDs des entrées liées
({ "id": "uuid-de-l-entrée-liée" }).
Lors de la migration :
Relation one-to-many : une clé étrangère est ajoutée dans la table enfant
Relation many-to-many : une table de jointure intermédiaire est créée
Les UUIDs Notion sont remappés vers les IDs auto-incrémentés du nouveau schéma en deux
passes : d’abord les entrées sans dépendances, ensuite les entrées liées.
Si vous exportez manuellement : le CSV ne conserve pas ces identifiants. Il faut
réimporter les données table par table en recréant les liens manuellement, ce qui est
faisable sur de petits volumes mais très fastidieux au-delà de quelques centaines de lignes
avec des relations croisées.
Traitement des rollups et formules
Ces propriétés sont calculées côté Notion et ne représentent pas des données stockées.
Elles ne sont pas exportables directement.
Rollup : agrégat (somme, compte, moyenne, min, max) sur les valeurs d’une propriété
d’une base liée. Recréé via une requête SQL d’agrégation avec jointure.
Formula : calcul basé sur d’autres propriétés de la même entrée. Recréée en méthode
de modèle ou en colonne calculée en base de données.
C’est l’étape qui demande le plus d’analyse et d’échanges avec votre équipe : certaines
formules complexes nécessitent une décision sur leur recréation dans le nouveau logiciel.
Extraction des fichiers et médias
Les propriétés files et media retournent des URLs temporaires générées par Notion.
Ces URLs ont une durée de validité limitée à une heure : la migration des fichiers
doit être réalisée dans la foulée de l’extraction des entrées.
SmartBooster télécharge chaque fichier pendant la migration et le ré-héberge sur le
stockage cible (S3, Clever Cloud Object Storage ou tout autre système compatible).
Points d’attention :
Les fichiers uploadés directement dans Notion sont concernés. Les fichiers hébergés
ailleurs et intégrés via URL ne sont pas migrés (seule l’URL est conservée).
Les noms de fichiers et types MIME sont conservés.
Contenu des pages (blocs)
Le contenu textuel à l’intérieur des pages Notion est structuré en blocs. Il est
accessible via GET /v1/blocks/{page_id}/children. Chaque bloc a un type (paragraph,
heading_1, bulleted_list_item, image, table…) et un contenu au format rich_text.
Les pages de documentation (wiki, runbooks, processus) peuvent être :
Conservées dans Notion si votre équipe continue à utiliser Notion pour la documentation
Converties en Markdown via l’export interface et intégrées dans le nouveau logiciel
Archivées si le contenu n’est plus actif
Ce qui nécessite une décision avant la migration depuis Notion
Certains éléments ne peuvent pas être migrés automatiquement :
Les automations Notion (boutons, rappels) : déclencheurs et actions sont recréés en
logique applicative (jobs planifiés, événements métier)
Les vues configurées (kanban, calendrier, galerie, timeline) : recréées comme des
vues de l’interface sur mesure selon vos besoins réels
Les filtres et tris sauvegardés sur les vues : recréés en paramètres de liste dans
le nouveau logiciel
Les pages de documentation : décision au cas par cas (conserver dans Notion ou migrer)
Les intégrations natives (Slack, GitHub, Figma) : rebranching sur les nouvelles APIs
du logiciel cible
Ce qui peut rester dans Notion
La migration n’est pas forcément totale. Certains usages peuvent coexister avec le nouveau
logiciel :
La documentation et les runbooks d’équipe : Notion reste excellent pour la base de
connaissances interne, les processus et les guides opérationnels
Les bases non liées au périmètre du projet
Les pages de suivi informelles qui n’ont pas de valeur métier critique
SmartBooster peut aussi développer un connecteur API pour synchroniser Notion avec le
nouveau logiciel, au lieu de le remplacer complètement.
Ce qu’un prestataire doit maîtriser pour migrer depuis Notion
Si vous faites appel à un prestataire pour cette migration, voici les questions à poser
pour évaluer sa rigueur avant de démarrer :
Inventaire des relations avant l’extraction : le prestataire doit cartographier toutes
les bases et leurs relations avant d’écrire le moindre script de migration.
Stratégie pour les rollups et formules : chaque propriété calculée doit être analysée
et sa logique validée avec vous avant de démarrer.
Environnement de recette dédié : la migration doit être testée sur un environnement
isolé avec des données réelles, jamais directement en production.
Stratégie pour les fichiers : le prestataire doit anticiper le re-hébergement des
fichiers avant que les URLs temporaires Notion n’expirent (délai d’une heure).
Plan de rollback : en cas d’anomalie détectée après la bascule, que se passe-t-il ?
Votre workspace Notion doit rester accessible pendant une période de vérification.
Chez SmartBooster, ces points font partie du cadrage initial de chaque projet de migration.
Authentification à l’API Notion
Pour extraire les données via l’API, Notion utilise des Integration Tokens liés à une
intégration interne. Un token avec la capacité Lire le contenu suffit pour une migration.
Attention : l’intégration doit être explicitement partagée avec chaque base ou page
concernée par la migration. Une base non partagée avec l’intégration retournera une erreur
404, même si le token est valide.