Aller au contenu principal

Référence API Ingestion historique

Les prix sont enregistrés par cotation, résolution (1D, 1W, 1M) et séance dans l'hypertable prices_eod. Les routes d'ingestion modifient des données : elles exigent une clé à accès complet (une clé en lecture seule reçoit 403).


POST /historical/ingest​

Ingérer l'historique d'une cotation. Les paramètres sont des paramètres de requête (query).

ParamètreTypeDéfautDescription
tickerstring—Ticker à ingérer (obligatoire)
resolutionstring1D1D, 1W ou 1M
sourcestringautoauto (Yahoo Finance, puis TradingView), yfinance ou tradingview
force_refreshbooleanfalseRécupérer de nouveau d'un seul tenant la plage demandée et la plage enregistrée, remplacer les barres enregistrées et rechercher à nouveau le symbole source
from_date, to_datedate—Fenêtre YYYY-MM-DD. Sans elles : dix ans lors d'une première ingestion, sinon à partir du lendemain de la dernière séance enregistrée
currency, exchangestring—Choisir la cotation lorsque plusieurs partagent le ticker (la principale sinon)
isinstring—Ne garder que les cotations de cet instrument, lorsque plusieurs instruments partagent le ticker. Un ISIN mal formé est refusé avec 422
curl -s -X POST -H "X-API-KEY: $FONREX_API_KEY" \
"http://localhost:5000/historical/ingest?ticker=AIR.PA"
{
"ticker": "AIR.PA",
"resolution": "1D",
"status": "success",
"source_used": "yfinance",
"provider_symbol": "AIR.PA",
"records_added": 2531,
"from_date": "2016-10-10",
"to_date": "2026-10-07",
"duration_ms": 1840,
"error": null,
"note": null
}
ChampSignification
statussuccess, up_to_date (rien à récupérer) ou failed
source_usedyfinance ou tradingview ; en cas d'échec, la source demandée (auto…)
provider_symbolLe symbole demandé à la source : le symbole Yahoo vérifié pour la cotation, ou le symbole TradingView
notePourquoi Yahoo n'a pas été la source, lorsque les prix viennent de TradingView ; Whole history fetched again: ... lorsque la série enregistrée a été remplacée (split ou dividende depuis la dernière ingestion, rafraîchissement forcé, ou série enregistrée avant la migration 016)
errorPourquoi rien n'a pu être ingéré, par ex. aucun symbole Yahoo coté dans la devise de la cotation

POST /historical/ingest/bulk​

Ingérer plusieurs tickers en parallèle. Corps JSON :

{
"tickers": ["AIR.PA", "BNP.PA", "MC.PA"],
"resolution": "1D",
"source": "auto",
"force_refresh": false,
"concurrency": 5
}

concurrency est compris entre 1 et 20. Chaque ticker désigne sa cotation principale. La réponse est {"status": "completed", "results": [...]} avec un résultat par ticker, au format ci-dessus.


GET /ticker/{symbol}/history​

Les barres OHLCV d'une cotation, lues uniquement en base : cette route n'ingère jamais. Les barres sont renvoyées de la plus récente à la plus ancienne.

ParamètreTypeDéfautDescription
symbolstring—Ticker
start_date, end_datedate—Fenêtre YYYY-MM-DD
intervalstring1D1D, 1W, 1M (ou daily, weekly, monthly)
currency, exchangestring—Choisir la cotation
isinstring—Ne garder que les cotations de cet instrument (422 s'il est mal formé)
curl -s -H "X-API-KEY: $FONREX_API_KEY" \
"http://localhost:5000/ticker/AIR.PA/history?start_date=2026-09-28&end_date=2026-10-02"
{
"ticker": "AIR.PA",
"listing": { "ticker": "AIR.PA", "isin": "NL0000235190", "currency": "EUR", "exchange": "XPAR" },
"interval": "1D",
"count": 5,
"data": [
{ "time": "2026-10-02T00:00:00Z", "open": 149.07, "high": 151.07, "low": 147.07, "close": 150.07, "adj_close": 150.07, "volume": 1395000 },
{ "time": "2026-10-01T00:00:00Z", "open": 147.97, "high": 149.97, "low": 145.97, "close": 148.97, "adj_close": 148.97, "volume": 1394000 }
]
}

close est la clôture négociée (ajustée des splits) ; adj_close est aussi ajusté des dividendes, et il est vide pour les barres TradingView. listing est la cotation qui a été lue (null lorsque le ticker n'en désigne aucune). time est la date de la séance, à minuit UTC. Les réponses sont mises en cache 24 heures et invalidées lorsque le ticker est ingéré à nouveau.


Barres hebdomadaires et mensuelles​

En plus des barres 1W et 1M que vous pouvez ingérer, la base maintient deux agrégats continus calculés à partir des barres journalières de chaque cotation, prices_weekly et prices_monthly. Ils sont rafraîchis chaque jour et répondent à partir des barres journalières pour la période récente.

Voir Ingérer des données historiques pour le pipeline et le choix du symbole source.