Boursorama APIboursorama.com ↗
Access real-time quotes, historical OHLCV data, forex rates, commodities, and market movers from Boursorama via 8 structured JSON endpoints.
What is the Boursorama API?
The Boursorama API exposes 8 endpoints covering real-time quotes, intraday and daily OHLCV history, instrument search, forex rates, commodity prices, and French market movers. The get_stock_price endpoint returns current price, open, high, low, volume, and currency for any Boursorama symbol — from CAC 40 stocks to ETFs to currency pairs — discoverable through search_instrument by name or ISIN.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/90d33d56-60a4-4ea2-8f5d-7eb28c3ef99d/get_cac40_price' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace boursorama-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Boursorama Financial API — real-time prices, historical ticks, and instrument search."""
from parse_apis.boursorama_financial_api import Boursorama, InstrumentNotFound
client = Boursorama()
# Get the CAC 40 index quote directly (no parameters needed).
cac = client.quotes.cac40()
print(f"CAC 40: {cac.price} pts (open={cac.open}, high={cac.high}, low={cac.low})")
# Search for instruments by name; iterate with a cap.
for inst in client.instruments.search(query="LVMH", limit=3):
print(f" Found: {inst.name} ({inst.symbol}) on {inst.market}")
# Fetch a specific stock quote by symbol, then drill into daily ticks.
quote = client.quotes.get(symbol="1rPTTE")
print(f"{quote.name}: {quote.price} {quote.currency}")
for tick in quote.ticks_daily(length=5, limit=5):
print(f" Day {tick.day}: close={tick.close}, volume={tick.volume}")
# Typed error handling for a bad symbol.
try:
client.quotes.get(symbol="INVALID_SYMBOL_XYZ")
except InstrumentNotFound as exc:
print(f"Expected error: {exc}")
# Market movers — top gainers on the French market.
mover = client.movers.list(limit=1).first()
if mover:
print(f"Top mover: {mover.name} {mover.change_pct}")
print("Exercised: quotes.cac40 / quotes.get / instruments.search / ticks_daily / movers.list")
Returns the current CAC 40 index quote including open, high, low, close, volume, and day-offset timestamp. No parameters required — always fetches the CAC 40 (symbol 1rPCAC).
No input parameters required.
{
"type": "object",
"fields": {
"low": "number, daily low",
"high": "number, daily high",
"name": "string, index name",
"open": "number, opening price",
"price": "number, current price in points",
"symbol": "string, Boursorama symbol (always 1rPCAC)",
"volume": "integer, trading volume",
"timestamp": "integer, Boursorama internal day offset"
},
"sample": {
"data": {
"low": 8142.75,
"high": 8240.63,
"name": "CAC 40",
"open": 8223.05,
"price": 8161.83,
"symbol": "1rPCAC",
"volume": 4614,
"timestamp": 20614
},
"status": "success"
}
}About the Boursorama API
Quotes and Instrument Coverage
The get_stock_price endpoint accepts any Boursorama symbol and returns nine fields: price, open, high, low, volume, currency, name, symbol, and a timestamp day-offset. The dedicated get_cac40_price endpoint requires no parameters and always returns the CAC 40 index (symbol 1rPCAC). To find symbols for other instruments, search_instrument accepts a free-text query or ISIN (e.g., FR0000120271) and returns a list of matches with name, symbol, type (Action, ETF, Indice, BND, OPCVM), market, and url.
Historical Price Data
Two endpoints cover different time resolutions. get_stock_ticks_intraday fetches short-term OHLCV data (period=0) as an array of candles in QuoteTab, where each entry carries d (day offset), o, h, l, c, and v. get_stock_ticks_daily returns the same shape at daily resolution (period=1) and accepts a length parameter for the number of days requested. Note that some symbols require a length of at least 20–30 for the intraday endpoint to return results.
Forex and Commodities
get_forex_rate returns the current exchange rate for a currency pair via its Boursorama forex symbol (e.g., 1xEURUS for EUR/USD), including price, open, high, low, and volume — though volume is often 0 for forex instruments. get_commodity_price works identically for commodities; verified symbols include 8xBRN for Brent Crude and _GC for Gold. Additional forex and commodity symbols can be found through search_instrument.
Market Movers
get_market_movers requires no parameters and returns the top gainers from the SBF 120 palmares, each with name, symbol, last (price string), and change_pct (percentage string). The list includes a mix of stocks, commodities, and indices from the Boursorama market overview page.
The Boursorama API is a managed, monitored endpoint for boursorama.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when boursorama.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official boursorama.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Monitor real-time CAC 40 levels using
get_cac40_pricefor a French equity dashboard. - Build a portfolio tracker that refreshes prices for multiple stocks via
get_stock_priceby Boursorama symbol. - Retrieve 90 days of daily OHLCV candles with
get_stock_ticks_dailyto backtest a moving-average strategy. - Look up the ISIN for any French stock or ETF using
search_instrumentto map ISINs to tradeable symbols. - Track EUR/USD and other forex pairs in real time using
get_forex_ratewith Boursorama forex symbols. - Fetch Brent Crude and Gold spot prices via
get_commodity_pricefor a commodities monitoring widget. - Identify top daily gainers on the French market using
get_market_moversto surface momentum signals.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Boursorama offer an official developer API?+
How do I discover the correct symbol to pass to `get_stock_price` or the history endpoints?+
search_instrument with a company name (e.g., 'LVMH') or a standard ISIN. Each result in the results array includes a symbol field (e.g., '1rPMC') that you can pass directly to get_stock_price, get_stock_ticks_daily, or get_stock_ticks_intraday.Does the intraday tick endpoint always return data for any symbol?+
length is below 20–30. Using length=30 as the default avoids most empty responses. Thinly traded instruments or recently listed symbols may still return sparse arrays.Does the API cover non-French markets such as US equities, German stocks, or crypto?+
Does `get_market_movers` return losers as well as gainers?+
change_pct descending) from the SBF 120 palmares. The losers list is not exposed. You can fork the API on Parse and revise it to add a bottom-movers endpoint.