Aller au contenu

Le registre des initiés, en HTTP.

Une API JSON en lecture seule sur les mêmes données que le site et le serveur MCP : les transactions et leurs signaux, les initiés et leurs historiques, les sociétés et leurs fondamentaux. Incluse dans le plan Desk.

Authentification

Créez une clé dans votre compte et envoyez-la comme jeton bearer. Une clé n’est affichée qu’une fois, seul son hash est conservé ; révoquez-la dès qu’elle fuite.

Requête

curl -H "Authorization: Bearer il_…" \
  "https://insiderlens.com/api/v1/transactions?signal=cluster_buy&limit=5"

Limites

10 000 requêtes par mois et par siège avec Desk (3 sièges), 600 par heure et par clé. Chaque réponse porte X-Quota-Limit et X-Quota-Remaining. Une requête refusée pour paramètres invalides ne coûte rien.

Usage des données

Pour vos propres analyses et celles de votre société. Republier ou revendre les données, ou en alimenter un produit concurrent, demande une licence Institutional : parlons-en.

Endpoints

GET/api/v1/transactions

Les transactions d’initiés en cours, déclaration la plus récente d’abord. Les filtres se combinent ; les listes séparées par des virgules acceptent n’importe laquelle de leurs valeurs. Paginez avec next_cursor.

issuer
Identifiant de la société
insider
Identifiant de l’initié
ticker
Ticker de la société, par ex. AAPL
code
P, S, A, M, G, O (liste)
signal
cluster_buy, size_anomaly, first_buy_12mo (liste)
source
sec_edgar, amf, bafin
min_value_usd
Valeur minimale en USD
filed_from
Déclarée à partir du, AAAA-MM-JJ
filed_to
Déclarée jusqu’au, AAAA-MM-JJ
limit
1 à 100, 50 par défaut
cursor
next_cursor de la page précédente

GET/api/v1/insiders/{id}

Un initié par identifiant ou slug de page : fonctions, activité et historique (taux de réussite, rendements médians, badge initié éprouvé).

GET/api/v1/issuers/{id}

Une société par identifiant, slug de page ou ticker : identifiants, activité des initiés et derniers fondamentaux.

GET/api/v1/clusters

Les clusters multi-initiés : 3 initiés ou plus qui opèrent sur la même société dans le même sens en 90 jours, les plus récents d’abord.

direction
buy (par défaut) ou sell
since
Fenêtre terminée à partir du, AAAA-MM-JJ (par défaut : il y a 30 jours)
limit
1 à 100, 50 par défaut

GET/api/v1/backtests

Le dernier registre des backtests de signaux : chaque cellule testée, y compris les signaux qui échouent.

signal
Clé du signal, par ex. cluster_buy, first_buy_12mo
horizon
Horizon en jours : 21, 63, 126 ou 252

Réponse

Forme d’une page de transactions

{
  "data": [
    {
      "id": "…",
      "filed_at": "2026-09-24T00:00:00.000Z",
      "transaction_date": "2026-09-22",
      "code": "P",
      "shares": 25000,
      "price": 41.2,
      "currency": "USD",
      "value_usd": 1030000,
      "insider": { "id": "…", "name": "…", "slug": "…" },
      "issuer": { "id": "…", "name": "…", "slug": "…" },
      "signals": { "cluster_buy": true, "size_anomaly": false, "first_buy_12mo": true, … },
      "conviction_score": 81,
      "returns": { "d21": 0.064, … },
      …
    }
  ],
  "next_cursor": "eyJ…"
}

Erreurs

Les erreurs reviennent en JSON, avec le statut HTTP et le code ci-dessous et un message lisible :

{ "error": { "code": "…", "message": "…" } }

400
invalid_parameters
Un paramètre est inconnu ou mal formé. Rien n’a été décompté.
401
unauthorized
Clé absente, inconnue ou révoquée.
403
plan_required
Le compte de la clé n’est pas sur Desk.
404
not_found
Aucun initié ou société correspondant.
429
rate_limited
Plus de 600 requêtes dans l’heure pour cette clé.
429
quota_exceeded
Le quota du mois est épuisé. Il repart le 1er.
503
unavailable
La requête n’a pas pu aboutir. Réessayez sous peu.