QuiVad

Accueil / API

API

Les mêmes chiffres que les pages, lisibles par une machine. Les réponses sont en JSON, les adresses et les noms de champs en anglais.

L'accès est aujourd'hui libre : pas de clé, pas de compte, pas de quota. Les régulateurs publient ces données, ce site les rassemble et les republie sous la même forme pour tout le monde. Le fichier complet répond en une requête à ce qui demanderait des milliers de pages, ce qui ménage autant le serveur que celui qui l'interroge.

API publique des ventes à découvert
AdresseRéponse
/api/positions.jsonl.gz /api/positions.jsonl.gzToutes les positions ouvertes, une par ligne, compressé. Reconstruit après chaque collecte.
/api/company/<slug> /api/company/reyuu-japan-incUne société : qui la vend à découvert aujourd'hui, et toutes ses déclarations depuis l'origine.
/api/fund/<slug> /api/fund/citadel-advisors-llcUn fonds : toutes ses positions ouvertes, tous registres confondus.
/api/moves /api/movesLes mouvements des trente derniers jours, qualifiés : opening, increase, reduction, below_threshold.
/api/isins /api/isinsUne ligne par société déclarée : son code ISIN et l'adresse de sa page.
/api/openapi.json /api/openapi.jsonLe contrat en document OpenAPI, pour générer un client au lieu de lire cette page.
/action/<slug>/positions.csv /action/reyuu-japan-inc/positions.csvUne société ou un fonds : tout son historique déclaré, en tableur. Colonnes dans la langue du domaine, séparateur et encodage lisibles par Excel.
/action/<slug>/movements.xml /action/reyuu-japan-inc/movements.xmlUne société ou un fonds : ses mouvements, en flux RSS.
/mcp https://www.quivad.fr/mcpLe serveur MCP : un assistant s'y connecte et lit les registres lui-même. POST uniquement.

Tout assistant qui parle le Model Context Protocol peut lire ces registres lui-même : ajoutez-lui https://www.quivad.fr/mcp. Cinq outils, qui trouvent une société ou un fonds, lisent l'un ou l'autre, classent un marché et listent ce qui a bougé, et qui répondent en anglais comme le reste de cette surface, sans clé et sous la même borne de débit. La révision courante du protocole et les trois précédentes répondent à cette seule adresse. Elle n'accepte que POST. Ouverte dans un navigateur, elle répond 405 avec un message qui le dit.

Une réponse longue est coupée par limit (1 000 lignes par défaut, 12 000 au plus) et offset. Le bloc page de la réponse donne le total et les adresses des pages suivante et précédente. Aucune ligne n'est retirée, toutes restent accessibles. Une valeur illisible est remplacée par la valeur par défaut, sans refus.

Au-delà de 120 demandes par minute, une adresse reçoit une réponse 429 et le délai à attendre. Une réponse servie par le cache ne compte pas : la borne n'arrête qu'un balayage, jamais un usage.

Pas de version dans les adresses, parce que rien ne cassera : un champ peut apparaître, aucun ne disparaît ni ne change de sens, et une adresse ne bouge pas.

Les refus

Un refus est du JSON comme une réponse, jamais une page : type, title, status et detail, dans la forme que la RFC 9457 donne à toute API HTTP. Le champ type renvoie vers un des codes de cette section.

company-not-found
Aucune société ne répond à cette adresse. La liste vit à /api/isins.
fund-not-found
Aucun fonds ne répond à cette adresse.
no-such-endpoint
Aucune adresse de l'API ne répond ici.
method-not-allowed
Ces adresses sont en lecture seule : GET, HEAD et OPTIONS.
rate-limit-exceeded
Trop de demandes dans la minute. retry-after dit combien attendre.
not-ready
Le fichier du jour est encore en construction, avec le délai à attendre.

Les données viennent des publications officielles des régulateurs et restent soumises aux conditions que chacun fixe. La licence connue de chaque registre est indiquée sur la page des sources. Voir l'état des sources