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.