Vos portefeuilles ETF dans vos propres outils

Une API REST pour brancher un tableau de bord, un script Python ou une feuille de calcul sur vos portefeuilles ScanETF et sur toutes les analyses du Rayon X.

  • Composition, analyse, chevauchement, backtest
  • Création et modification de vos portefeuilles
  • Spécification OpenAPI 3.1 prête à importer
Version gratuite
Sans carte bancaire
Terminal

$ GET /api/v1/portfolios/…/analysis

Authorization: Bearer sk-scanetf-api-••••

→ 200 OK

{

"frais_ter_pondere_pct": 0.214,

"eligible_pea": true,

"cout_annuel_eur": 140.07,

"continents": [

{ "nom": "Amérique du Nord", "pct": 67.4 }

]

}

Ce que l'API vous donne

Tout le Rayon X, sur vos propres portefeuilles d'ETF.

Radiographier un portefeuille

Frais réels pondérés, éligibilité PEA, disponibilité chez les courtiers, rendement de dividende pondéré, exposition par continent, pays et secteur — et la contribution de chaque ligne à chacun de ces chiffres.

Mesurer sa performance passée

Performance totale, rendement et volatilité annualisés, ratio de Sharpe, perte maximale, rendements annuels et mensuels. Plus la valeur jour par jour, en base 100, pour tracer la courbe dans votre outil.

Débusquer les doublons

Les entreprises que vous détenez via plusieurs ETF à la fois, et la matrice de corrélation entre vos lignes — avec les groupes quasi interchangeables au-delà de 0,8.

Piloter vos portefeuilles

Créez un portefeuille, réécrivez son allocation ou supprimez-le depuis un script, un tableur ou une tâche planifiée — sans repasser par l'interface.

Comment démarrer

Trois étapes, cinq minutes.

1

Générez une clé

Depuis votre espace client, en un clic. Le secret ne s'affiche qu'une fois — nous n'en gardons qu'une empreinte chiffrée.

2

Appelez l'API

Un header Authorization, et c'est parti. Les exemples curl sont prêts à copier, avec votre clé déjà insérée.

3

Construisez

Un tableau de bord, une alerte de dérive d'allocation, un export vers votre feuille de calcul — vos données, vos outils.

Les 10 endpoints

Dépliez-en un pour voir ce qu'il renvoie et les paramètres qu'il accepte. Toutes les réponses sont en JSON, et les champs sont nommés en français.

Portefeuilles

GET/portfoliosLister vos portefeuilles

Nom, enveloppe fiscale, courtier, étiquette et nombre de lignes. Point de départ : les autres endpoints attendent un identifiant renvoyé ici.

POST/portfoliosCréer un portefeuille

Crée un portefeuille, avec sa composition si elle est fournie — en pourcentage (la somme des poids doit valoir 100) ou en nombre de parts (valorisées au dernier cours), comme dans l’éditeur du site.

Paramètres

  • nom · bodyrequisNom du portefeuille.
  • enveloppe · bodyPEA, CTO, PEA-PME, Assurance Vie ou PER.
  • courtier · bodyNom du courtier, texte libre.
  • tag · bodyPrincipal, Optimisé, Test ou Archivé.
  • lignes · bodyTableau de { isin, poids_pct } (mode pourcentage) ou de { isin, parts } (mode parts). Un seul mode par portefeuille.
GET/portfolios/{id}Composition détaillée

Chaque ligne avec son ISIN, son poids, le montant investi, les parts, les frais et l’éligibilité PEA.

PATCH/portfolios/{id}Modifier un portefeuille

Modifie les informations (nom, description, enveloppe, courtier, étiquette) et/ou la composition. Seuls les champs envoyés changent ; `lignes`, si présent, remplace intégralement la composition. La composition est refusée si le portefeuille comporte des transactions dans le suivi DCA, pour ne pas fausser les positions.

Paramètres

  • nom, description, enveloppe, courtier, tag · bodyMêmes valeurs qu’à la création. `null` efface un champ facultatif.
  • lignes · bodyNouvelle composition complète, en { isin, poids_pct } ou en { isin, parts }. Omettre pour garder la composition actuelle.
DELETE/portfolios/{id}Supprimer définitivement

Emporte les lignes, les transactions et le plan DCA. Irréversible : le nom exact est exigé en confirmation.

Paramètres

  • nom · queryrequisNom exact du portefeuille.

Analyse

GET/portfolios/{id}/analysisAnalyse Rayon X

Frais pondérés, éligibilité PEA, disponibilité courtiers, rendement de dividende pondéré avec les ETF qui le produisent, exposition complète par continent, pays et secteur, et le détail ligne à ligne (frais, coût annuel, capitalisant ou distribuant avec son rendement, réplication).

GET/portfolios/{id}/positionsPositions consolidées

Ce que vous détenez réellement, toutes lignes confondues : chaque entreprise avec son poids dans le portefeuille et les ETF par lesquels vous la détenez. Les positions détenues via plusieurs ETF sont marquées `en_doublon`. Liste paginée, par poids décroissant ; les positions sous 0,01 % du portefeuille ne sont pas listées, mais restent comptées dans `chevauchement_pct`.

Paramètres

  • limite · queryTaille de page : 25 par défaut, 100 au maximum.
  • offset · queryRang de la première position renvoyée, 0 par défaut. Reprendre l’`offset_suivant` de la réponse ; il vaut `null` quand tout a été lu.

Performance

GET/portfolios/{id}/backtestPerformance historique

Performance totale, rendement et volatilité annualisés, ratio de Sharpe, perte maximale, rendements annuels et mensuels, à allocation constante. La série ne commence qu’au premier jour où toutes les lignes cotent : si une ligne récente tronque la fenêtre demandée, `tronquee_par_historique` le signale et `ligne_limitante` la nomme.

Paramètres

  • periode · queryFenêtre nommée : 1M, 3M, 6M, 1Y, 3Y, 5Y, Max. Par défaut 1Y, comme la page Comparer du site.
  • date_debut · queryDate de début AAAA-MM-JJ. Prioritaire sur periode.
  • date_fin · queryDate de fin AAAA-MM-JJ. Aujourd’hui par défaut.
  • exclure · queryISIN à retirer du calcul, séparés par des virgules.
GET/portfolios/{id}/correlationCorrélation entre les lignes

Matrice de corrélation, paires les plus corrélées et groupes de lignes quasi interchangeables (≥ 0,8). Deux ETF très corrélés n’apportent pas de diversification l’un par rapport à l’autre.

Paramètres

  • periode · queryFenêtre nommée : 1M, 3M, 6M, 1Y, 3Y, 5Y, Max. Par défaut 1Y, comme la page Comparer du site.
  • date_debut · queryDate de début AAAA-MM-JJ. Prioritaire sur periode.
  • date_fin · queryDate de fin AAAA-MM-JJ. Aujourd’hui par défaut.
  • exclure · queryISIN à retirer du calcul, séparés par des virgules.
GET/portfolios/{id}/pricesSérie de valorisation

Valeur du portefeuille jour par jour, base 100 au premier point commun aux lignes retenues. De quoi tracer la courbe dans votre outil. La série est renvoyée entière — sur cinq ans, comptez ~1 300 points et ~50 Ko ; `granularite` la résume à la semaine ou au mois.

Paramètres

  • periode · queryFenêtre nommée : 1M, 3M, 6M, 1Y, 3Y, 5Y, Max. Par défaut 1Y, comme la page Comparer du site.
  • date_debut · queryDate de début AAAA-MM-JJ. Prioritaire sur periode.
  • date_fin · queryDate de fin AAAA-MM-JJ. Aujourd’hui par défaut.
  • exclure · queryISIN à retirer du calcul, séparés par des virgules.
  • granularite · query`jour` (par défaut), `semaine` ou `mois` : un point par jour de cotation, ou le dernier point de chaque semaine ou mois. `nb_points` et `nb_jours_cotation` disent ce qui a été renvoyé et ce qui a été résumé.

L'API ne donne accès qu'à vos propres portefeuilles : le catalogue ETF n'y est pas interrogeable, il reste réservé au serveur MCP.

Prêt à brancher vos outils ?

Version gratuite, sans carte bancaire.